在MsgBox中单击“对话框”结果后,如何维护显示的表单?

时间:2018-08-24 05:19:32

标签: vb.net dialog event-handling

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

在我的代码中,

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,unit等。

当我单击“确定”按钮时,选项设置被保存并添加到图形中,但是一个选项(划分的单位数)不能为零,因此我在保存选项设置之前对其进行了检查。

    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为零时)错误msg出现,而dlg消失了,因为ok按钮起作用了。 我想以防万一,错误消息弹出和设置dlg保持活动状态,以接收正确的设置号。我应该如何更改我的代码?

1 个答案:

答案 0 :(得分:0)

如果我的理解是正确的,则您要保留单击“确定”按钮后显示的表格。那么可能是这样。

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

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