Ric*_*047 6 .net c# application-close winforms
我希望表单不会通过执行Alt+ 关闭,F4但如果Application.Exit()或this.Close从同一表单调用,则应该关闭它.
我试过CloseReason.UserClosing但仍然没有帮助.
Reg*_*ent 20
如果你只需要过滤Alt+ F4事件(点击关闭框,this.Close()并Application.Exit()像往常一样),那么我可以建议如下:
KeyPreview
属性设置为true;结束表格FormClosing和KeyDown事件:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (_altF4Pressed)
{
if (e.CloseReason == CloseReason.UserClosing)
e.Cancel = true;
_altF4Pressed = false;
}
}
private bool _altF4Pressed;
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Alt && e.KeyCode == Keys.F4)
_altF4Pressed = true;
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
15981 次 |
| 最近记录: |