Отправляет email-рассылки с помощью сервиса Sendsay

Visual Basic.NET. Уроки

  Все выпуски  

Visual Basic. Уроки.


Информационный Канал Subscribe.Ru


VB.NET. Программирование для Windows. Уроки с сайта http://progs.biz

Рассылка №4

VB.NET для Windows. Урок 9. ComboBox.
VB.NET для Windows. Урок 10. ListBox.

Полные версии уроков (с картинками) можно найти по адресам
Урок 9. ComboBox.
Урок 10. ListBox.

VB.NET для Windows. Урок 9. ComboBox

Начнем сразу с практики. Мы рассмотрим стандартные действия с ComboBox'ом на примерах. Запускайте Visual Studio.NET и создавайте новый проект для Windows на VB.NET. Разместите на форме элемент ComboBox.

Разместите еще кнопку и edit. Пользователь будет вводить в edit новый элемент для ComboBox'а, затем нажимать на кнопку. Введенное пользователем значение будет добавлено в edit. Для этого создайте заготовку для обработчика нажатия на кнопку и внесите в нее следующий код:

  Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
    ComboBox1.Items.Add(TextBox1.Text)
  End Sub

Как видно из кода, за список, хранящийся в ComboBox'е, отвечает его свойство Items. Оно представляет из себя коллекцию. Кроме рассмотренного метода Add вы можете использовать такие методы как Insert (в отличии от Add вставляет не в конец, а в определенную позицию), Clear (очищает весь ComboBox), Remove (удаляет определенный элемент), RemoveAt (удаляет элемент с определенной позиции). Использование указанных методов достатточно очевидно. Вот, например, использование метода Clear:

...
ComboBox1.Items.Clear()
 ...

Свойство Items можно задавать и на этапе разработки программы. Для этого нажмите на многоточие в окне свойств и введите нужные значения.

Кроме того, у свойства Items ComboBox'а есть подсвойства Count (возвращает количество элементов в ComboBox'е), Item (возвращет значение элемента на определеной позиции в ComboBox'е). Вот пример использования Item:

MessageBox.Show(ComboBox1.Items.Item(2).ToString())

Указанный фрагмент выведет в MessageBox'е третий элемент ComboBox'а (помните, что нумерация элементов начинается с нуля).

Чаще всего пользователь использует ComboBox для выбора того или иного элемента. За выбранный элемент отвечает свойство Text. Вот пример его использования:

  Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    Me.Text = ComboBox1.Text
  End Sub

Выбранный пользователем элемент в ComboBox'е отобразится в заголовке формы (отметьте, что в VB.NET свойсто Caption не используется. Вместо него чаще всего используется свойство Text).

Если вам нужно знать не выбранное в ComboBox'е значение, а его номер, то используйте метод SelectedIndex:

    Dim k As Integer
    ...
    k = ComboBox1.SelectedIndex()
Наверх

VB.NET для Windows. Урок 10. ListBox

Перенесите расположенный на панели элементов ListBox двойным щелчком на форму.

Сейчас мы посмотрим, как осуществляются стандартные операции с ListBox'ом - добавление и удаление элементов списка, очистка всего списка, выделение одного и нескольких элементов, выяснение, сколько всего элементов в списке. Также мы посмотрим, как привязать некоторое действие к двойному щелчку на элементе списка.

Начнем с добавлени и удаления элементов списка. Добавьте на форму TextBox. Именно из него мы и будем добавлять новые элементы в список. Добавьте также кнопку. В заготовку для обработчика щелчка по кнопке внесите следующий код:

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
    'Добавляем в список содаржимое TextBox'а
    ListBox1.Items.Add(TextBox1.Text)
  End Sub

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

Теперь удаление. Удалять элемент можно по номеру и по значению. По номеру удаляем так:

...
ListBox1.Items.RemoveAt(1)
 ...

Здесь удалится второй элемент списка (нумерация элементов идет с нуля!).

По значению удаление делаем так:

...
ListBox1.Items.Remove(TextBox2.Text)
 ...

Здесь мы удалем элемент из списка ListBox1 элемент, который пользователь ввел в TextBox2. Если таких элеметов в списке несколько, то удалится первый из них, если введеного пользователем значения вообще в списке нет, то ничего не удалится.

Если же нам надо очистить весь список, то это делаем так:

...
ListBox1.Items.Clear()
 ...

Для выяснения , сколько всего элементов в списке, надо использовать что-то вроде:

...
k = ListBox1.Items.Count
 ...

Теперь посмотрим, как можно программно выделять элементы списка. Во-первых, за возможность одновременного выделения нескольких строк нашего списка отвечает свойство SelectionMode. Если оно равно One, то выделять можно только один элемент, если MultiSimple, то несколько (щелчок на элементе списка устанавливает/снимает выделение), если MultiExtended, то тоже несколько, причем можно пользоваться стандартными клавишами Ctrl и Shift для выделения нескольких элементов. Для программного выделения мы должны написать что-то вроде:

    ...
    ListBox1.SetSelected(1, True)
    ListBox1.SetSelected(3, True)
    ...

В этом фрагменте мы выделили второй и четвертый элементы. Выделенные элементы будут храниться в коллекции SelectedItems. Вот пример использования этой коллекции - мы выводим в MessageBox'ы все выделенные в ListBox'е элементы:

    For i = 0 To ListBox1.SelectedItems.Count - 1
      MessageBox.Show(ListBox1.SelectedItems(i).ToString)
    Next

И напоследок посмотрим, как можно привязать некоторое событие к щелчку на определенном элементе ListBox'а. Вот пример кода, который удаляет элемент списка при щелчке на нем:

  Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)
Handles ListBox1.DoubleClick
    ListBox1.Items.RemoveAt(ListBox1.SelectedIndex())
  End Sub

Для получения заготовки этого кода действуем как всегда - в левом combobox'е окна кода выбираем нужный объект (ListBox1), а в правом нужное событие (DoubleClick).

Наверх

Copyright Алексеев Игорь, 2002

Copyright сайт progs.biz, 2002


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное