Передать строку в диалоговое окно в VB.net

#vb.net #modal-dialog

#vb.net #modal-dialog

Вопрос:

У меня есть форма, и из нее я вызываю

 dialogPrintDiet.ShowDialog()
  

которое запускает мой диалог. Мне нужно передать строковое значение, и мне нужен самый простой способ сделать это в VB.NET .

Ответ №1:

Попробуйте свойства, например, установив некоторые текстовые поля в вашем диалоговом окне:

 Property FirstName() As String
    Get
        Return txtFirstName.Text
    End Get
    Set(ByVal Value As String)
        txtFirstName.Text = Value
    End Set
End Property
Property LastName() As String
    Get
        Return txtLastName.Text
    End Get
    Set(ByVal Value As String)
        txtLastName.Text = Value
    End Set
End Property
  

Комментарии:

1. как мне получить доступ к FirstName в диалоговом окне. Я использую myForm.Member, и она отображается в intellesence, но ей всегда присваивается значение «ничего», даже если я устанавливаю его прямо перед вызовом диалогового окна. Извините за этот глупый вопрос, но я не привык к VB : (

Ответ №2:

Вы можете либо добавить свойство в форму, либо добавить параметр в конструктор вашей формы.

Пример первого метода будет выглядеть следующим образом (где Message — это имя свойства)

 frm.Message = "Some text"
  

Пример второго метода будет выглядеть следующим образом

 Dim frm As New SampleForm ( "Some text" )
  

Ваш код формы будет выглядеть примерно так

 Public Class SampleForm

Private someMessage As String


Public Sub New(ByVal msg As String)
    InitializeComponent()

    If Not (String.IsNullOrEmpty(msg)) Then
        someMessage = msg
    End If
End Sub

Property Message() As String
    Get
        Return someMessage
    End Get
    Set(ByVal Value As String)
        someMessage = Value
    End Set
End Property

End Class