Это комбинированный список, представляет собой комбинацию двух элементов управления - самого списка со значениями и поля ввода текста (текстового поля). Используется, когда нельзя заранее определить значения, которые следует включить в список, или список содержит слишком много элементов. В таком списке нужное значение можно не только выбирать, но и вводить непосредственно в поле ввода. Новое значение поля автоматически помещается в список.
События:
Click - Щелчок мыши. Используется для выбора элемента списка.
Change - Для изменения записи в поле ввода текста.
Свойства:
Поле со списком имеет почти все свойства текстового поля и списка (за исключением MultiLine)
Style - определяет внешний вид и функционирование поля со списком:
0 - ComboBox представляет собой текстовое поле для редактирования и открывающийся список (задано по умолчанию).
1 - ComboBox представляет собой текстовое поле для редактирования и постоянно открытый список.
2 - отличается от 0 тем, что пользователь не может вводить текст в текстовое поле.
Рассмотрим пример использования элементов управления для работы с данными в форме.
Создать справочник персонала. Для ввода сведений о работнике разместить в форме элементы управления: текстовые поля, список, переключатели (рис.7.25).
Рис. 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ычисляемое в программе значение переменной Е равно …
N | Ответы | Программа |
q 7 q 8 q 4 q 5 q 22 | 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=1 THEN B$=B$+MID$(C$,1,3) END IF NEXT I E=LEN(B$) PRINT E |