VB DialogResult不起作用

时间:2015-08-04 00:36:26

标签: vb.net

我想这样做,当用户按下OK按钮时,执行代码 这是我尝试的方式。

代码foodItemslst.Items.Add(staffForm.TheStaff.ToString)未执行。

      Private Sub AddStaffbtn_Click(sender As Object, e As EventArgs) Handles AddStaffbtn.Click
            Dim staffForm As StaffForm = New StaffForm
            If (staffForm.ShowDialog = System.Windows.Forms.DialogResult.OK) Then
                foodItemslst.Items.Add(staffForm.TheStaff.ToString)
                   'the above code IS not executed.
            End If
        End Sub

但是这段代码有效:

  Private Sub AddStaffbtn_Click(sender As Object, e As EventArgs) Handles AddStaffbtn.Click
        Dim staffForm As StaffForm = New StaffForm
        If (staffForm.ShowDialog = System.Windows.Forms.DialogResult.OK) Then
        End If
        foodItemslst.Items.Add(staffForm.TheStaff.ToString)
         'The above code is executed
    End Sub

代码有问题:

If (staffForm.ShowDialog = System.Windows.Forms.DialogResult.OK) 

但我不知道问题是什么

“确定”按钮标记为OK,名为OKbtn

有谁知道为什么DialogResult不起作用?

更新

“确定”按钮的代码

Private Sub OKbtn_Click(sender As Object, e As EventArgs) Handles OKbtn.Click
        ReadValues(m_staff)
        Me.Close()
    End Sub

1 个答案:

答案 0 :(得分:1)

只需设置DialogResult,您也需要Close()来电:

  

如果表单显示为对话框,请使用a设置此属性   DialogResult枚举中的值设置对话框的值   表单的框结果,隐藏模式对话框,然后返回   控制呼叫形式。

所以就这样做:

Me.DialogResult = DialogResult.Ok