| | ||
|
|
|
Создание диалоговых окон
Чтобы вывести собственное диалоговое
окно, создайте форму, задайте ее свойствам ControlBox, MinimizeBox и MaximizeBox
значение False, а свойству Modal — значение True. Форму следует выводить методом
ShowDialog в режиме модального диалогового окна. Если при этом задать свойство
TopMost равным True, диалоговое окно будет располагаться поверх всех окон на экране
(и вам уже не придется использовать функцию API SetWindowPos).
Однако поведение стандартных
кнопок несколько изменилось по сравнению с VB6. Свойства Default и Cancel не поддерживаются,
поэтому соответствующие элементы-кнопки назначаются свойствам AcceptButton и Cancel
Button:
Me.AcceptButton
= btnOK Me.Cancel Button = btnCancel
После
вызова ShowDialog программа может узнать, какая кнопка была нажата на форме, при
помощи свойства Dial ogResult кнопки или самой формы (нажатие кнопки с заданным
свойством DialogResul t приводит к автоматическому закрытию формы, на которой
эта кнопка находится).
Размещение элементов на форме во время выполнения
До
выхода VB6 существовал лишь один способ размещения элементов на форме во время
выполнения программы — массивы элементов. В VB6 появился более удобный режим динамического
добавления элементов, но и в этом случае не обходилось без проблем с обработкой
событий для добавленных элементов. В VB .NET этот процесс подвергся существенным
изменениям. Например, создайте новое приложение Windows и включите в него следующий
фрагмент:
1
Private Sub Forml_Load(ByVal sender As System.Object,ByVal e As _
2 System.EventArgs)
Handles MyBase.Load
3
Dim newButton As New System.Windows.Forms.Button()
4 ' Задать свойства
newButton
5
With newButton
6
.Visible =True
7
.Size =New Size(l00.l00)
8
' .Text ="I'm a new button"
9
' Обычно здесь задаются и другие свойства
10
End With
11
Me.Controls.Add(newButton)
12
AddHandler newButton.Click.AddressOf Me.newButton_Click
13 End Sub
14 Public Sub newButton_Click(ByVal
sender As _
15
System.Object.ByVal e As System.EventArgs)
16
MsgBox("You clicked on my new button")
17 End Sub
В
строке З создается новая кнопка, а в строках 5-10 удобная сокращенная запись With
используется для задания ряда свойств объекта newButton. Только в строке 11 новая
кнопка размещается на форме. Строка 12 снова демонстрирует замечательную гибкость
механизма обработки событий .NET: код, содержащийся в строках
14-17, назначается обработчиком события для кнопки. Возможный результат выполнения
программы показан на рис. 8.15.
Рис.
8.15. Создание кнопки во время выполнения программы
;