C#窗體事件應(yīng)用淺析
C#窗體事件應(yīng)用中的C#窗體的最大化、最小化按鈕事件是如何解決的呢?我們知道C#窗體的操作是要涉及一些方法和操作的,那么下面我們來(lái)詳細(xì)看看具體的操作是什么,希望對(duì)你有所幫助。
C#窗體事件應(yīng)用一、捕獲最大化、最小化事件
處理發(fā)生在最大化、最小化按鈕事件之后可以判斷用戶是否點(diǎn)擊了最大化、最小化按鈕,并根據(jù)點(diǎn)擊按鈕的不同做相應(yīng)處理。
- protected override void OnResize(EventArgs e)
- {
- if(WindowState == FormWindowState.Maximized)
- {
- //最大化時(shí)所需的操作
- MessageBox.Show("max");
- }
- else if(WindowState == FormWindowState.Minimized)
- {
- //最小化時(shí)所需的操作
- MessageBox.Show("min");
- }
- }
C#窗體事件應(yīng)用二、重寫最大化、最小化事件
重寫可實(shí)現(xiàn)對(duì)最大化、最小化按鈕事件的攔截,使程序按自己的方式運(yùn)行。
- private int WM_SYSCOMMAND = 0x112;
- private long SC_MAXIMIZE = 0xF030;
- private long SC_MINIMIZE = 0xF020;
- private long SC_CLOSE = 0xF060;
- protected override void WndProc(ref Message m)
- {
- if (m.Msg == WM_SYSCOMMAND)
- {
- if (m.WParam.ToInt64() == SC_MAXIMIZE)
- {
- //MessageBox.Show("MAXIMIZE ");
- return;
- }
- if (m.WParam.ToInt64() == SC_MINIMIZE)
- {
- //MessageBox.Show("MINIMIZE ");
- return;
- }
- if (m.WParam.ToInt64() == SC_CLOSE)
- {
- //MessageBox.Show("CLOSE ");
- return;
- }
- }
- base.WndProc(ref m);
- }
C#窗體事件應(yīng)用的問(wèn)題就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#窗體事件有所幫助。
【編輯推薦】