2
我已閱讀了一些關於禁用的文章Alt + F4並且到目前爲止,已將其部分運行。在ShowDialog中禁用Alt + F4()
目前,我有這個我的主要形式,而它的只允許當我把它需要被關閉的形式非常出色..
private void Alerter_FormClosing(object sender, FormClosingEventArgs e)
{
if (_altF4Pressed)
{
if (e.CloseReason == CloseReason.UserClosing)
e.Cancel = true;
_altF4Pressed = false;
}
}
private void Alerter_KeyDown(object sender, KeyEventArgs e)
{
if (e.Alt && e.KeyCode == Keys.F4)
_altF4Pressed = true;
}
的問題然而,就是這樣做當我顯示對話框時不起作用。 該表格仍然關閉替代 + F4,這是必不可少的,因爲這給用戶提供了一種避開過程和程序的方法。
目前,我的警報形式被稱爲使用;
public static DialogResult show(string param)
{
thisParam = param;
using (Alerter alert = new Alerter())
{
if (alert.ShowDialog() == DialogResult.OK) { return DialogResult.OK; }
else { return DialogResult.Cancel; }
}
}
和我的主窗體使用它調用它;
Alerter.show(rxLine);
如何防止新窗體被關閉?除非我明確告訴它?
關閉表格。爲什麼在地球上你會** ** EVER **想要這個? ALT + F4被用作最後的手段。 Whaat是你寫的,是病毒嗎? – 2013-05-03 22:30:45
必須同意@ofstream:幾乎沒有任何情況適用於您的用戶。如果他們希望你的對話不受阻礙,他們會*以某種方式避開它。如果你給他們關閉的能力(以及「你確定嗎?」對話框),那麼他們會使用它。如果你*不*,那麼他們會對你感到惱火,然後使用任務管理器來終止這個過程。 – dlev 2013-05-03 22:46:03
雖然我可以理解謹慎..不,我沒有寫病毒,實際上它遠離它。我正在寫一個升級到現有的定製應用程序,其目的是通知最終用戶產品召回並強制確認通知。然後,簽名人負責執行回收操作。我們還構建用戶使用的計算機..並鎖定不需要的訪問,以防止諸如數據庫的關鍵進程被篡改。 – 2013-05-04 00:04:23