经过一些更改后,我的应用程序开始出现意外行为:登录表单显示为
If DialogResult.OK <> New frmLogin().ShowDialog() Then ...
当包含标记为'problem
的行时, 自动关闭。如果我发表评论,它会保持打开状态(因为它在更改之前有效),直到我手动调用Me.Close()
。
Private Sub Login_Click()
If My.Application.appSession.ID > 0 Then
Me.DialogResult = Windows.Forms.DialogResult.OK
Me.Close()
Else
Me.DialogResult = Windows.Forms.DialogResult.Abort 'problem
MsgBox("Invalid user name or password.", MsgBoxStyle.Critical)
End If
End Sub
您是否观察到描述的行为,DialogResult
属性的纯设置值会关闭对话框?
答案 0 :(得分:1)
要保持表格显示,您需要以这种方式设置
Me.DialogResult = Windows.Forms.DialogResult.None
其他所有设置都会导致表单关闭。
在表单类中,您可以阅读有关DialogResult属性
的内容如果表单显示为对话框,请使用a设置此属性 DialogResult枚举中的值设置对话框的值 表单的框结果,隐藏模式对话框,然后返回 控制到调用表单