成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

創建C# Windows窗體應用程序淺析

開發 后端
這里介紹我們把新創建C# Windows窗體應用程序命名為TaskbarForm。我們創建用于顯示的字符串和其顏色的變量,再定義幾個Rectangle對象的變量用于放置標題、提示內容以及可以拖動窗體的區域和關閉按鈕的區域。
Windows窗體應用程序還是比較常見的東西,這里我們主要介紹創建C# Windows窗體應用程序,包括介紹我們創建了一個自定義函數ShowForm。

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

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

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

SendMessage向消息循環發送標題欄被按下的消息來模擬窗體的拖動,ShowWindow用來將特定句柄的窗體顯示出來,注意第二個參數nCmdShow,它表示窗體應該怎樣顯示出來,而我們需要窗體不獲得焦點顯示出來,SW_SHOWNOACTIVATE可以滿足我們要求,繼續在WinUser.h文件中搜索找到該常量對應的值為4,于是我們就可以這樣調用來顯示窗體了:

  1. ShowWindow(this.Handle, 4); 

我們創建了一個自定義函數ShowForm用來封裝上面的ShowWindow用來是顯示窗體,同時傳遞了所用到的幾個Rectangle矩形區域對象,最后調用ShowWindows函數將窗體顯示出來,代碼片段如下:

  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  

以上介紹創建C# Windows窗體應用程序。

【編輯推薦】

  1. C#與VB7比較詳解
  2. C#連接Access淺析
  3. C#創建XML Web services學習經驗
  4. C# Windows應用程序概述
  5. C# SmartPhone程序學習筆記
責任編輯:佚名 來源: 賽迪網
相關推薦

2009-08-14 17:27:30

C#Windows應用

2009-09-07 04:19:56

C#窗體事件

2009-09-02 17:28:26

C#程序設計Windows窗體

2009-08-14 16:41:22

C#啟動Windows

2009-08-14 11:00:16

C#創建Windows

2009-08-24 14:19:27

C# Windows應

2009-01-19 11:07:42

C#Web.NET

2009-08-24 13:40:58

C# Windows

2009-08-24 16:02:10

C# Windows應

2009-08-24 13:30:50

C# Windows

2009-08-20 10:10:55

C#透明窗體

2009-08-14 17:36:20

C#Windows應用

2009-09-03 17:36:13

C#創建Web應用程序

2009-09-02 17:53:42

C#程序設計Windows窗體

2009-07-30 18:50:32

C#發送消息C#應用程序

2009-09-07 06:07:46

C#窗體設計

2009-09-07 04:56:52

C#模式窗體

2009-08-24 09:25:18

Visual C# ..NET應用程序

2009-08-06 10:27:08

C#應用程序域

2024-07-09 17:09:49

C#開發Windows窗體
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩和的一区二区 | 国产精品一区二区免费 | 国产高潮好爽受不了了夜色 | 日韩精品视频一区二区三区 | 色欧美综合 | 视频一区二区中文字幕 | 欧美一级电影免费观看 | 中文区中文字幕免费看 | 欧美成ee人免费视频 | 中文字幕高清 | 国产精品18hdxxxⅹ在线 | 99国产视频| 国产在线一区二区 | 久久国产一区 | 狠狠操av| 欧美黄色精品 | 国产一区二区三区免费观看视频 | 中文亚洲视频 | 国产精品久久久久一区二区三区 | 亚洲黄色一级毛片 | 免费观看成人鲁鲁鲁鲁鲁视频 | 国产乱码精品1区2区3区 | 日本不卡高清视频 | 日本黄色一级片视频 | 在线免费观看视频你懂的 | 免费成年网站 | 成人欧美日韩一区二区三区 | 亚洲二区视频 | 九九伦理电影 | 一区二区三区中文字幕 | 欧美综合国产精品久久丁香 | 日本xx视频免费观看 | 国产高清视频在线观看 | 国产精品免费一区二区三区四区 | 97精品国产一区二区三区 | 久久精品视频一区二区三区 | 在线播放国产一区二区三区 | 中文字幕精品一区二区三区精品 | 成人免费一区二区 | 色噜噜狠狠色综合中国 | 亚洲精品第一页 |