Выбор цвета с использованием ListBox - Программирование графики в Microsoft Visual Basic

В этом примере поставили задачу написать программу, которая меняет цвет фона формы BackColor, перебирая константы цвета, предусмотренные в Visual Basic, с помощью элемента управления ListBox. Для этого запускаем Visual Basic и в окне Создать проект выбираем шаблон Приложение Windows Form для Visual Basic. Для того чтобы создать кнопку ListBox, делаем следующее: Вид - Панель элементов - ListBox (перетаскиваем на форму). Далее переходим в программный код и вводим соответствующий текст, представленный ниже:

Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase. Load

' Получаем массив строк имен цветов из перечисления KnownColor

' Enum. GetNames возвращает массив имен констант

' в указанном перечислении.

' Удаление всех элементов из коллекции:

ListBox1.Items. Clear()

' Добавляем имена всех цветов в список ListBox1:

For Each Цвет In [Enum].GetNames(GetType(KnownColor))

If Цвет <> "Transparent" Then ListBox1.Items. Add(Цвет)

' Цвет Transparent является "прозрачным"

' Сортируем все цвета в списке в алфавитном порядке:

ListBox1.Sorted = True

Next

End Sub

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged

' Обработка события изменения выбранного

' индекса в списке ListBox1:

Me. BackColor = Color. FromName(ListBox1.Text)

' Надпись в строке заголовка формы:

Me. Text = "Цвет: " + ListBox1.Text

End Sub

End Class

Как видно из программного кода, при обработке события загрузки формы, используя метод Enum. GetNames, получаем массив имен цветов в строковом представлении. Теперь этот массив легко добавить в список (коллекцию) ListBox методом AddRange. Далее видим форму и заполненные строки элемента управления ListBox цветами из перечисления KnownColor. Обрабатывая событие изменения выбранного индекса в списке ListBox, предпоследней строкой назначаем выбранный цвет формы (BackColor). Один из цветов перечисления KnownColor - цвет Control ("умалчиваемый" цвет формы), который является базовым цветом во многих программах Microsoft, в том числе Windows Explorer, Internet Explorer, Visual Studio и прочее. Кроме того, здесь цветов больше, чем в константах цветов (структуре) Color (в структуре Color нет цвета Control). Один из цветов - Transporent - является "прозрачным", и для фона формы он не поддерживается. Поэтому если пользователь выберет этот цвет, то произойдет выход из процедуры (Return), и цвет формы не изменится. На рисунке 14 приведен пример работы программы. Здесь выбираем цвет Control, который соответствует цвету формы по умолчанию [9, с.119].

окно закраски формы выбранным цветом

Рисунок 14 - Окно закраски формы выбранным цветом.

Похожие статьи




Выбор цвета с использованием ListBox - Программирование графики в Microsoft Visual Basic

Предыдущая | Следующая