日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)建C#Windows窗體應(yīng)用程序淺析

Windows窗體應(yīng)用程序還是比較常見(jiàn)的東西,這里我們主要介紹創(chuàng)建C# Windows窗體應(yīng)用程序,包括介紹我們創(chuàng)建了一個(gè)自定義函數(shù)ShowForm。

創(chuàng)新互聯(lián)公司主營(yíng)孟連網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app軟件開(kāi)發(fā)公司,孟連h5成都微信小程序搭建,孟連網(wǎng)站營(yíng)銷(xiāo)推廣歡迎孟連等地區(qū)企業(yè)咨詢(xún)

啟動(dòng)Visual Studio .Net 2005,創(chuàng)建C# Windows窗體應(yīng)用程序,將解決方案命名為T(mén)askbarForm,包含的項(xiàng)目名也為T(mén)askbarForm,首先創(chuàng)建程序的主窗體Form1,在上面添加兩個(gè)Button控件,一個(gè)用于顯示通知窗體,另一個(gè)則終止程序。然后在解決方案管理器中右擊項(xiàng)目,單擊"添加 - Windows 窗體",我們把新創(chuàng)建C# Windows窗體應(yīng)用程序命名為T(mén)askbarForm。

在類(lèi)TaskbarForm定義的下方,我們創(chuàng)建用于顯示的字符串和其顏色的變量,再定義幾個(gè)Rectangle對(duì)象的變量用于放置標(biāo)題、提示內(nèi)容以及可以拖動(dòng)窗體的區(qū)域和關(guān)閉按鈕的區(qū)域。然后,我們需要保存窗體在浮動(dòng)時(shí)的高度以便計(jì)算移 動(dòng)后的新高度,intervalValue變量用來(lái)確定窗體顯示和隱藏的速度。進(jìn)行平臺(tái)調(diào)用時(shí)我們需要提前定義好常量的值用來(lái)傳遞給函數(shù),WM_NCLBUTTONDOWN和HT_CAPTION常量用于拖動(dòng)窗體,他們的值都保存在WinUser.h頭文件中,所對(duì)應(yīng)的動(dòng)態(tài)鏈接庫(kù)名為:user32.dll。我們用到的Win32API為:SendMessage、 ReleaseCapture和ShowWindow,通過(guò)使用DllImportAttribute可以導(dǎo)入相應(yīng)的函數(shù)并在程序中重新進(jìn)行定義,如下:

 
 
 
  1. [DllImportAttribute("user32.dll")]  
  2. public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);  
  3. //發(fā)送消息//winuser.h 中有函數(shù)原型定義  
  4. [DllImportAttribute("user32.dll")]  
  5. public static extern bool ReleaseCapture(); //釋放鼠標(biāo)捕捉winuser.h  
  6. [DllImportAttribute("user32.dll")] //winuser.h  
  7. private static extern Boolean ShowWindow(IntPtr hWnd, Int32 nCmdShow); 

SendMessage向消息循環(huán)發(fā)送標(biāo)題欄被按下的消息來(lái)模擬窗體的拖動(dòng),ShowWindow用來(lái)將特定句柄的窗體顯示出來(lái),注意第二個(gè)參數(shù)nCmdShow,它表示窗體應(yīng)該怎樣顯示出來(lái),而我們需要窗體不獲得焦點(diǎn)顯示出來(lái),SW_SHOWNOACTIVATE可以滿(mǎn)足我們要求,繼續(xù)在WinUser.h文件中搜索找到該常量對(duì)應(yīng)的值為4,于是我們就可以這樣調(diào)用來(lái)顯示窗體了:

 
 
 
  1. ShowWindow(this.Handle, 4); 

我們創(chuàng)建了一個(gè)自定義函數(shù)ShowForm用來(lái)封裝上面的ShowWindow用來(lái)是顯示窗體,同時(shí)傳遞了所用到的幾個(gè)Rectangle矩形區(qū)域?qū)ο?,最后調(diào)用ShowWindows函數(shù)將窗體顯示出來(lái),代碼片段如下:

 
 
 
  1. public void ShowForm(string ftitletext, string fcontenttext, 
    Rectangle fRegionofFormTitle, Rectangle fRegionofFormTitlebar, 
    Rectangle fRegionofFormContent, Rectangle fRegionofCloseBtn)  
  2. {  
  3. titleText = ftitletext;  
  4. contentText = fcontenttext;  
  5. WorkAreaRectangle = Screen.GetWorkingArea(WorkAreaRectangle);  
  6. this.Top = WorkAreaRectangle.Height + this.Height;  
  7. FormBorderStyleFormBorderStyle = FormBorderStyle.None;  
  8. WindowState = FormWindowState.Normal;  
  9. this.SetBounds(WorkAreaRectangle.Width - this.Width, 
    WorkAreaRectangle.Height - currentTop, this.Width, this.Height);  
  10. CurrentState = 1;  
  11. timer1.Enabled = true;  
  12. TitleRectangle = fRegionofFormTitle;  
  13. TitlebarRectangle = fRegionofFormTitlebar;  
  14. ContentRectangle = fRegionofFormContent;  
  15. CloseBtnRectangle = fRegionofCloseBtn;  
  16. ShowWindow(this.Handle, 4); //#define SW_SHOWNOACTIVATE 4  

以上介紹創(chuàng)建C# Windows窗體應(yīng)用程序。


網(wǎng)頁(yè)名稱(chēng):創(chuàng)建C#Windows窗體應(yīng)用程序淺析
分享URL:http://www.dlmjj.cn/article/dphhpho.html