Чтобы получить значения из диалога в VB.NET, вы можете использовать различные методы в зависимости от типа диалога и того, как он реализован в вашем приложении. Вот некоторые распространенные подходы:
- Использование DialogResult. Если вы используете стандартное диалоговое окно, такое как MessageBox или OpenFileDialog, вы можете использовать свойство DialogResult для получения выбора пользователя. Например:
Dim result As DialogResult = MessageBox.Show("Are you sure?", "Confirmation", MessageBoxButtons.YesNo)
If result = DialogResult.Yes Then
' User clicked Yes
ElseIf result = DialogResult.No Then
' User clicked No
End If
- Пользовательский диалог со свойствами. Если вы создали настраиваемую диалоговую форму, вы можете определить общедоступные свойства, чтобы предоставлять значения, введенные пользователем. Например:
В диалоговой форме:
Public Property UserName As String
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
UserName = txtUserName.Text
DialogResult = DialogResult.OK
Close()
End Sub
В вызывающем коде:
Dim dlg As New CustomDialogForm()
If dlg.ShowDialog() = DialogResult.OK Then
Dim userName As String = dlg.UserName
' Use the entered username
End If
- Передача значений через обработчики событий. Если ваш диалог предполагает взаимодействие с пользователем и вы хотите передать значения обратно, вы можете определить собственные события в форме диалога и обрабатывать их в вызывающем коде. Например:
В диалоговой форме:
Public Event ValueSelected As EventHandler(Of ValueSelectedEventArgs)
Private Sub btnSelect_Click(sender As Object, e As EventArgs) Handles btnSelect.Click
Dim selectedValue As String = lstValues.SelectedItem.ToString()
RaiseEvent ValueSelected(Me, New ValueSelectedEventArgs(selectedValue))
Close()
End Sub
В вызывающем коде:
Dim dlg As New CustomDialogForm()
AddHandler dlg.ValueSelected, AddressOf Dialog_ValueSelected
dlg.ShowDialog()
Private Sub Dialog_ValueSelected(sender As Object, e As ValueSelectedEventArgs)
Dim selectedValue As String = e.Value
' Use the selected value
End Sub
Это всего лишь несколько примеров того, как можно получить значения из диалогового окна в VB.NET. Выбор подхода будет зависеть от конкретных требований вашего приложения.