如何检测窗体是如何关闭的?例如,如何确定用户是否单击了关闭表单的按钮,或者用户是否点击了右上角的"X"?谢谢.
更新:
忘记提到该按钮调用Application.Exit()方法.
这一定是个愚蠢的问题,但我无法弄清楚.我也不能使用设计器,因为在我之前的编码器设法将GUI和逻辑全部集中在一起,所以现在它很困惑.我必须按照旧学校的方式去做.
我有一个表格,可以通过3种方式关闭:关闭按钮,文件/关闭菜单和X图标.我希望他们都做同样的事情.拦截按钮和菜单事件很容易.事实上,两者都与一种onCloseConfig方法联系在一起.顺便问一下,这种方法有更好的名称吗?
private void onCloseConfig(object sender, System.EventArgs e)
{
if (! m_configControl.Modified)
{
Application.Exit(); // Or should it be this.Close();
}
....
// Else present a dialog, ask if they want to save.
}
Run Code Online (Sandbox Code Playgroud)
所以,拦截X我试过的:this.FormClosing +=new FormClosingEventHandler(this.onCloseConfig);我相信这是导致无限循环的原因.我不希望:) FormClosed是另一种选择,但似乎为时已晚.我只想拦截点击X的事实,而不是表格正在关闭的事实.
我有一个继承自的类UserControl:
public partial class MyView : System.Windows.Forms.UserControl
Run Code Online (Sandbox Code Playgroud)
我想处理当用户单击右上角的 X 时发生的事件。也许是Form.Closing?但我不认为这是设计师的一个选择。这是什么活动?
编辑:
想知道是否有办法检查关闭窗口的事件,几乎可以单击顶角的红色 x或是否$form.Close()被调用?
$form.Add_Closing({})如果我的脚本中有它,每个都会自动启动,但我想知道关闭窗口的方式是什么。
感谢所有努力回答我的问题的人.
我正在使用WinForms C#,在MainForm_Load上,我正在为用户调用Login表单.登录表单包含X按钮(右上角的默认按钮)和Login按钮.
现在...
如果用户决定点击X按钮,登录表单将关闭,MainForm也应该关闭,我知道该怎么做.但是......如果用户点击LoginButton,LoginForm应该关闭,但MainForm应该保持打开状态.
有什么想法吗?
我有一个带有两个表单的表单应用程序.在第二种形式中,我在右下角有x按钮.当我单击此按钮关闭应用程序时,我如何制作,而不仅仅是隐藏Form2窗口?