首页 > 解决方案 > 在 MsgBox 中单击 Dialog 结果后如何保持显示的表单?

问题描述

我想要的与取消事件处理程序相同。

在我的代码中,

Private Sub btnADD_Click(sender As Object, e As EventArgs) Handles btnADD.Click

    Dim dlg As New frmGraphDataSelector(m_nCategory, m_sItemSource)

    If dlg.ShowDialog = DialogResult.OK Then
        ADD(dlg.Setting)
    End If

End Sub

我制作 dlg 来设置图形选项,如 xaxis、yaxis、单位等。

当我点击确定按钮时,选项设置被保存并添加到图表中,但一个选项(除数单位数)不能为零,所以我在保存选项设置之前检查它。

    Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click

    If txt_weightandvolume.Text = 0 Then
        MsgBox("Can't divide by 0")
    Else
        GetValueFromUI()
    End If
End Sub

在此代码中,案例 0(当输入 num 为零时)错误消息出现并且 dlg 消失了,因为 ok 按钮起作用了。我希望在 0 的情况下,弹出错误消息并设置 dlg 保持活动状态以接收正确的设置编号。我应该如何更改我的代码?

标签: vb.netdialogevent-handling

解决方案


如果我的理解是正确的,您希望在单击确定按钮后保持显示的表单。那么这可能是。

Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click

If txt_weightandvolume.Text = 0 Then
    MsgBox("Can't divide by 0")
   dim dlg_new as New frmGraphDataSelector(m_nCategory, m_sItemSource)
   if MsgBoxResult.Ok Then
   ADD(dlg_new.Setting)
  End If
Else
    GetValueFromUI()
End If

End Sub

如果这有帮助,请回复。谢谢 :)


推荐阅读