Primo Chalice Ответов: 2

Как изменить цвет границы текстового поля в C#?


Привет,

У меня есть 5 текстовых полей, и я хочу изменить цвет границы пустых текстовых полей. У меня есть кнопка для сохранения данных всех текстовых полей, и теперь я хочу поместить проверку в ту же кнопку, что если текстовое поле пусто, оно изменит цвет границы соответствующего пустого текстового поля на красный.

Пожалуйста помочь.

Что я уже пробовал:

Я не могу написать код, так как не знаю этой концепции.

2 Ответов

Рейтинг:
2

Wendelius

Если это Windows Forms, то нет прямого способа изменить цвет границы. Однако вы можете нарисовать прямоугольник над границей, чтобы элемент управления выглядел так, как будто цвет изменился.

Взгляните на следующие обсуждения:
- c# - изменение цвета границы текстового поля - переполнение стека[^]
- Как изменить цвет границы текстового поля в C# ?[^]


Рейтинг:
0

BillWoodruff

1. Поместите панель на форму, установите ее свойство BackgroundColor в нужный цвет границы. Установите для свойства Padding панели нужный размер границы.

2. вставьте текстовое поле внутрь панели. Задайте его свойству Dock значение Fill.

Вы можете манипулировать свойством BorderStyle как панели, так и текстового поля для достижения различных визуальных эффектов.

При проверке (быстрый эскиз):

EmptyTbxBackColor = Color.Red;

foreach (Textbox tbx in MyListOfTextBoxesToBeValidared)
{
   if(tbx.Text == String.Empty) tbx.Parent.BackColor = EmptyTbxBackColor;
}