我在「多執行緒:c#.net中使用backgroundworker在模態對話方塊中顯示進度條」一文中介紹了如何創造乙個能實時顯示程式處理進度的對話方塊,為了讓該對話方塊看起來更加逼真,除了要將窗體的的formborderstyle屬性設為fixeddialog,將maximizebox和minimizebox設為false,將controlbox設為false外,還需要遮蔽alt + f4組合鍵以防止使用者關閉對話方塊。遮蔽alt + f4的方法有很多,這裡列出了乙個比較簡單而奏效的方法。
1. 捕獲窗體的keydown事件
給窗體新增keydown事件,然後加入下面的**:
1private
void
form2_keydown(
object
sender, keyeventargs e)27
}**中判斷當前使用者是否按下了alt + f4組合鍵,如果是則執行e.handled = true用於指示事件已經被成功執行,從而遮蔽了系統的alt + f4功能。
2. 改寫窗體的closing事件
給窗體新增closing事件,然後加入下面的**:
1public
void
form2_formclosing(
object
sender, formclosingeventargs e)
2當窗體被關閉時(使用者點選窗體右上角的關閉按鈕或通過程式呼叫窗體的close()方法)關閉動作會被取消,那麼如何才能通過程式來關閉窗體呢?可以在關閉窗體的**前去掉窗體的closing事件,如:
1this
.formclosing
-=new
system.windows.forms.formclosingeventhandler(
this
.form1_formclosing);
2this
.close();
當然,你也可以選擇不關閉窗體而只是隱藏它,這樣該窗體不會在記憶體中被登出。上面兩行**只能在窗體內部執行,如果你想實現在父窗體中通過程式關閉子窗體,可以在子窗體中新增乙個public型別的方法,將上面兩行**加入到方法中,然後在父窗體中呼叫子窗體的這個方法。如:
主窗體:
1form2 frm
=new
form2();
2frm.closewindow();
子窗體:
1private
void
form2_formclosing(
object
sender, formclosingeventargs e)25
6public
void
closewindow()
73. 呼叫com組建或全域性鉤子
mysql的一些基本指令 mysql 一些常用指令
登陸 1 mysql u root p 登陸,輸入root密碼 退出登陸 mysql exit mysql 為所有ip授權 mysql grant all privileges on to root identified by 123456 with grant option 為單一ip授權 就是想...
Winform窗體的一些設定
設定winform窗體上預設的按鈕為enter或esc鍵,只需設定窗體的acceptbutton和cancelbutton兩個屬性。如果是asp.net頁面只需設定form表單的defaultbutton屬性。在c windows form程式中新增托盤可以使用notifyicon控制項,使程式不顯...
一些需要禁用的PHP危險函式
passthru 功能描述 允許執行乙個外部程式並回顯輸出,類似於 exec 危險等級 高 exec 功能描述 允許執行乙個外部程式 如 unix shell 或 cmd 命令等 危險等級 高 system 功能描述 允許執行乙個外部程式並回顯輸出,類似於 passthru 危險等級 高 chroo...