Поле со списком (ComboBox)

Это комбинированный список, представляет собой комбинацию двух элементов управления - самого списка со значениями и поля ввода текста (текстового поля). Используется, когда нельзя заранее определить значения, которые следует включить в список, или список содержит слишком много элементов. В таком списке нужное значение можно не только выбирать, но и вводить непосредственно в поле ввода. Новое значение поля автоматически помещается в список.

События:

Click - Щелчок мыши. Используется для выбора элемента списка.

Change - Для изменения записи в поле ввода текста.

Свойства:

Поле со списком имеет почти все свойства текстового поля и списка ( за исключением MultiLine)

Style - определяет внешний вид и функционирование поля со списком:

0 - ComboBox представляет собой текстовое поле для редактирования и открывающийся список (задано по умолчанию).

1 - ComboBox представляет собой текстовое поле для редактирования и постоянно открытый список.

2 - отличается от 0 тем, что пользователь не может вводить текст в текстовое поле.

Рассмотрим пример использования элементов управления для работы с данными в форме.

Создать справочник персонала. Для ввода сведений о работнике разместить в форме элементы управления: текстовые поля, список, переключатели (рис.7.25).

 
  Поле со списком (ComboBox) - student2.ru

Рис. 7.25. Форма для ввода сведений о работнике.

Private Sub Command1_Click()

Dim фамилия As String, имя As String, отчество As String

Dim номер As String, разряд As String, пенсия As String

Dim пол As String

Open "c:\person.txt" For Append As #1

Do Until txtFam.Text = ""

фамилия = txtFam.Text

имя = txtName.Text

отчество = txtOtch.Text

номер = txtTab.Text

разряд = lstRasr.Text

If Option1.Value = True Then

пол = "м"

Else

пол = "ж"

End If

If Check1 = 0 Then

пенсия = "да"

Else

пенсия = "нет"

End If

txtFam.Text = ""

txtName.Text = ""

txtOtch.Text = ""

txtTab.Text = ""

Print #1, фамилия; ","; имя; ","; отчество; ","; номер; ","; _

разряд; ","; пенсия; ","; пол

Loop

Close #1

End Sub

Private Sub Form_Load()

lstRasr.AddItem "10"

lstRasr.AddItem "11"

lstRasr.AddItem "12"

lstRasr.AddItem "13"

lstRasr.AddItem "14"

lstRasr.AddItem "15"

lstRasr.AddItem "16"

lstRasr.AddItem "17"

End Sub

Контрольные вопросы

1) Что такое объект в объектно-ориентированном программировании?

2) Что называется свойствами объекта?

3) Что называется методами в объектно-ориентированном программировании?

4) Что такое событие? Дайте понятие событийно-управляемого процесса.

5) Какие этапы создания WINDOWS-приложений вам известны?

6) Что называется типом данных? Назовите основные типы данных в Visual Basic.

7) Что такое переменная?

8) Что называется константой?

9) Какие существуют возможности объявления типов данных в Visual Basic?

10) Как определяются массивы в Visual Basic?

11) Что такое стандартные диалоговые окна?

12) Каковы возможности языка при программировании ветвлений?

13) Каковы возможности языка при программировании циклов?

14) В чем заключается модульный принцип построения проекта и программного кода Visual Basic?

15) В чем заключается различие общих процедур и процедур обработки событий?

16) Каковы области определения переменных?

17) Каковы способы передачи параметров в процедуры?

18) В чем различие статических массивов и динамических?

Какие виды файлов создаются и обрабатываются в Visual Basic?

19) Какие операторы создания и обработки файлов вам известны?

20) Роль формы в приложении. Каковы основные свойства и события формы?

21) Назовите основные элементы управления, их свойства, события и методы.

Тестовые задания

1. Вычисляемое в программе значение S равно:

N Ответы: Программа Программа
q 7 q 8 q 4 q 3 q 5 DEFINT I,J,X,S DIM A(3,3 ) AS INTEGER FOR I=1 TO 3 FOR J=l TO 3 A(I,J)=ABS(2*I-J) NEXT J,I S=0 FOR I=1 TO 3 X=A(I,I) FOR J=I TO 3 IF A(I,J)=X THEN S=S+A(I,J) END IF NEXT J NEXT I PRINT S

Bычисляемое в программе значение переменной Е равно …

N Ответы Программа
q 21 q 22 q 33 q 14 q 18 DEFINT I,N,E A$="dfeadefa" N=LEN(A$) B$="" FOR I=1 TO N-1 C$=MID$(A$, I+1) IF INT(LEN(C$)/2)>1 THEN B$=B$+C$ END IF NEXT I E=LEN(B$) PRINT E

Bычисляемое в программе значение переменной Е равно …

N Ответы Программа
q 22 q 44 q 1 q 2 q 6   DEFINT I,N,E A$="dfeadefa" N=LEN(A$) B$="" FOR I=1 TO N-1 C$=MID$(A$, I+1) IF INT(LEN(C$)/2)<1 THEN B$=B$+C$ END IF NEXT I E=LEN(B$) PRINT E

Bычисляемое в программе значение переменной Е равно …

N Ответы Программа
q 3 q 21 q 5 q 4 q 1 DEFINT I,N,E A$="dfeadefa": N=LEN(A$) B$="" FOR I=1 TO N-1 C$=MID$(A$, I+1) E=LEN(C$) MOD 3 IF E=2 THEN B$=B$+MID$(C$,1,2) END IF NEXT I E=LEN(B$) PRINT E

Bычисляемое в программе значение переменной Е равно …

N Ответы Программа
q 1 q 23 q 4 q 2 q 3 DEFINT I,N,E A$="dfeadefa":N=LEN(A$) B$="" FOR I=1 TO N-1 C$=MID$(A$, I+1) E=LEN(C$) MOD 2 IF E=0 THEN B$=B$+MID$(C$,1,1) END IF NEXT I E=LEN(B$) PRINT E

Bычисляемое в программе значение переменной Е равно …

Наши рекомендации