Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Добавление элемента Textbox в MenuStrip

Добавление элемента Textbox в MenuStrip

Давайте создадим новый элемент меню наивысшего уровня, присвоив этому элементу имя Изменение Цвета фона. Подчиненным элементом в этом меню будет не пункт меню, а элемент ToolStripTextBox (рис. 19.13). Добавив новый элемент управления, измените его имя на toolStripTextBoxColor с помощью окна свойств.

Нашей целью является возможность выбора пользователем цвета (красный, зелёный, розовый и т.д.). значение которого будет установлено для свойства BackColor формы. Сначала обработайте событие LostFocus для нового члена. ToolStripTextBox в рамках конструктора формы (это событие происходит тогда, когда TextBox в ToolStrip перестает быть активным элементом интерфейса).

public MainWindow() {
 …
 toolStripTextBoxColor.LostFocus += new EventHandler(toolStripTextBoxColor_LostFocus);
}


Рис. 19.13. Добавление TextBox в MenuStrip

В сгенерированном обработчике события прочитайте строковые данные, введенные в ToolStripTextBox (с помощью свойства Text), и используйте метод System. Drawing.Color.FromName(). Этот статический метод возвращает тип Color, соответствующий известному строковому значению. Чтобы учесть возможность ввода пользователем неизвестного цвета (или любых других неподходящих данных), используется простая логика try/catch.

void toolStripTextBoxColor_LostFocus(object sender, EventArgs e) {
 try {
  BackColor = Color.FromName(toolStripTextBoxColor.Text);
 } catch {} // Просто игнорировать неправильные данные.
}

Запустите обновленное приложение снова и попробуйте ввести названия различных цветов. В результате правильного ввода вы должны увидеть изменение цвета фона формы. Чтобы получить информацию о допустимых названиях цветов, изучите информацию о типе System.Drawing.Color в окне обозревателя объектов (Object Browser) Visual Studio 2005 или в документации .NET Framework 2.0 SDK.

Оглавление книги


Генерация: 1.107. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз