gpt4 book ai didi

c# - 如何防止使用 alt + F4 关闭任何表单

转载 作者:太空狗 更新时间:2023-10-30 00:22:49 26 4
gpt4 key购买 nike

这不是 How to Disable Alt + F4 closing form? 的副本。请阅读原因。

我在我的主窗体下制作了一个自定义消息框。

enter image description here

并将“Aight”按钮点击监听器设置为:

private void Aight_buton_Click(object sender, EventArgs e)
{
dr = DialogResult.OK;
Close();
}

“X”按钮也是如此。根据上述问题的答案,我可以这样做:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = e.CloseReason == CloseReason.UserClosing;
}

但由于我在 Aight_buton_Click 下使用 Close(),它仍然注册为 e.CloseReason == CloseReason.UserClosing;。因此,按下该键不会关闭我的表单(自定义消息框),Alt+F4 也不会。我想知道如何具体地阻止 Alt+F4 关闭而不是 Close() 关闭。请注意,我宁愿不使用 ModifierKeys,因为它不是处理这种情况的最合适方法,也不是最聪明的方法。

最佳答案

自行处理 Atl+F4 并设置处理。

在表单构造函数中先设置

this.KeyPreview = true;

然后处理keyDown事件

 private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Alt && e.KeyCode == Keys.F4)
{
e.Handled = true;
}

}

关于c# - 如何防止使用 alt + F4 关闭任何表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50456000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com