为什么当我第一次来到我的窗口时,它是一个用户控件和组合框设置为空白的表单。我可以毫无问题地单击取消并关闭窗口。但是,如果我触摸组合框,然后将其留空并尝试单击取消,取消事件不会触发?
问问题
2529 次
4 回答
4
你真正需要的是
e.Cancel = False;
在您的 FormClosing 事件中。
于 2014-05-22T18:19:13.607 回答
2
我不得不使用 container.AutoValidate = .EnableAllowFocusChange
于 2012-12-23T21:31:29.270 回答
0
罗德的回答导致了解决方案。如果表单(错误提供者的容器)AutoValidate
-property 设置为EnableAllowFoucsChange
,则处理按钮事件,Click
现在可以在 -Event 中检查表单是否包含无效子项:
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
If Not ValidateChildren() Then Exit Sub
End sub
于 2014-10-03T09:39:43.463 回答
0
我有同样的问题,但后来我解决了
- 将按钮的 CausesValidation 属性设置为 False。
- 重新设置窗体上的所有控件。
关闭表格。
while (Controls.Count > 0) { Controls[0].Dispose(); } this.Close();
我将此代码添加到 Button_Click() 事件以及 From_Closing 事件中。问候, Kshitij Thube
于 2014-02-18T11:06:59.777 回答