winform界面特效設(shè)計源碼
《winform界面特效設(shè)計源碼》由會員分享,可在線閱讀,更多相關(guān)《winform界面特效設(shè)計源碼(222頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、winform 界面特效設(shè)計源碼 窗體與界面設(shè)計 9 實(shí)例001 帶歷史信息的菜單 10 實(shí)例002 菜單動態(tài)合并 12 實(shí)例003 像開始菜單一樣漂亮的菜單 14 實(shí)例004 任務(wù)欄托盤菜單 15 實(shí)例005 可以拉伸的菜單界面 16 實(shí)例006 菜級聯(lián)菜單 18 1.2 工具欄設(shè)計 19 實(shí)例007 帶帶背景的工具欄 19 實(shí)例008 帶浮動工具欄 20 實(shí)例009 在帶下拉菜單的工具欄 21 實(shí)例010 在具有提示功能的工具欄 22 實(shí)例011 在狀態(tài)欄中顯示檢查框 23 實(shí)例012 帶進(jìn)度條的狀態(tài)欄 25 實(shí)例013 狀態(tài)欄中加入圖標(biāo) 26 實(shí)例014
2、OutLook界面 27 實(shí)例015 帶帶導(dǎo)航菜單的主界面 29 實(shí)例016 圖形化的導(dǎo)航界面 32 實(shí)例017 菜類QQ的程序界面 35 實(shí)例018 類似windows xp的程序界面 38 實(shí)例019 以圖形按鈕顯示的界面 42 實(shí)例020 以樹形顯示的程序界面 44 實(shí)例021 動態(tài)按鈕的窗體界面 46 實(shí)例022 非矩形窗體 50 實(shí)例023 建立字體形狀窗體 52 實(shí)例024 控件隨窗體自動調(diào)整 54 實(shí)例025 帶分隔欄的窗體 55 實(shí)例026 隨機(jī)更換主界面背景 56 實(shí)例027 自動啟動的多媒體光盤程序 57 實(shí)例028 為觸摸屏程序添加虛擬鍵盤 5
3、9 實(shí)例029 半透明漸顯窗體 61 實(shí)例030 窗口顏色的漸變 63 實(shí)例031 窗體中的滾動字幕 65 實(shí)例032 動畫顯示窗體 67 實(shí)例033 制作閃爍的窗體 69 實(shí)例034 直接在窗體上繪圖 70 實(shí)例035 動畫形式的程序界面 73 實(shí)例036 使窗體標(biāo)題欄文字右對齊 75 實(shí)例037 沒有標(biāo)題欄可義改變大小的窗口 76 實(shí)例038 設(shè)置窗體在屏幕中的位置 77 實(shí)例039 始終在最上面的窗體 78 實(shí)例040 限制窗體大小 79 實(shí)例041 獲取桌面大小 81 實(shí)例042 在窗口間移動按扭 82 實(shí)例043 如何實(shí)現(xiàn)Office助手 84 實(shí)例0
4、44 在關(guān)閉窗口前加入確認(rèn)對話框 85 實(shí)例045 使用任意組件拖動窗體 88 實(shí)例046 修改提示字體及顏色 89 實(shí)例047 如何為MDI類型窗體設(shè)置背景圖片 91 實(shí)例048 向提示框中添加圖標(biāo) 93 實(shí)例418 通過串口發(fā)送數(shù)據(jù) 95 實(shí)例419 通過串口關(guān)閉對方計算機(jī) 98 實(shí)例420 密碼寫入與讀出加密狗 101 實(shí)例421 使用加密狗進(jìn)行身份驗(yàn)證 105 實(shí)例422 向IC卡中寫入數(shù)據(jù) 107 實(shí)例423 讀取IC卡中的數(shù)據(jù) 113 實(shí)例424 利用IC卡制作考勤程序 116 實(shí)例425 簡易視頻程序 119 實(shí)例426 攝像頭監(jiān)控錄像 125 實(shí)例4
5、27 超市攝像頭定時監(jiān)控系統(tǒng) 127 實(shí)例428 語音卡電話呼叫系統(tǒng) 132 實(shí)例429 客戶來電查詢系統(tǒng) 141 實(shí)例430 語音卡實(shí)現(xiàn)電話錄音 144 實(shí)例431 利用短信貓收發(fā)短信息 147 實(shí)例432 利用短信遠(yuǎn)程關(guān)閉計算機(jī) 155 實(shí)例433 短信息采集煙草銷售數(shù)據(jù) 159 實(shí)例434 “春晚”節(jié)目評比短信息互動平臺 164 實(shí)例435 條形碼掃描器銷售商品 167 實(shí)例436 利用神龍卡制作練歌房程序 169 實(shí)例463 數(shù)據(jù)加密技術(shù) 174 實(shí)例464 文本文件加密與解密 177 實(shí)例465 利用圖片加密文件 188 實(shí)例466 如何編程修復(fù)Access
6、數(shù)據(jù)庫 194 實(shí)例467 訪問帶驗(yàn)證模式的Sqlserver 2000數(shù)據(jù)庫 197 實(shí)例468 利用INI文件對軟件進(jìn)行注冊 201 實(shí)例469 利用注冊表設(shè)計軟件注冊程序 204 實(shí)例470 利用網(wǎng)卡序列號設(shè)計軟件注冊程序 208 實(shí)例471 根據(jù)cpu序列號、磁盤序列號設(shè)計軟件注冊程序 214 窗體與界面設(shè)計 1.1 菜單應(yīng)用實(shí)例 菜單是程序開發(fā)中經(jīng)常使用的界面元素,合理利用菜單不但可以使用戶非常方便的操作程序的功能,更能使效率提高,適應(yīng)人性化的潮流。下面通過幾個應(yīng)用實(shí)例,介紹菜單設(shè)計的方法和技術(shù)。
7、實(shí)例001 帶歷史信息的菜單 實(shí)例說明 在開發(fā)圖紙管理軟件時,要求在菜單上記錄用戶最近打開的檔案或圖紙,以方便下次使用。如圖1.1所示,單擊“文件”菜單下的“打開文件”子菜單,打開需要查閱的圖紙。下次運(yùn)行該軟件時,上次打開的文件名記錄到“文件”菜單的歷史菜單中,選擇該菜單,即可打開相應(yīng)的圖紙文件。 技術(shù)要點(diǎn) 要實(shí)現(xiàn)保存最近打開的文件,可以將在菜單中最近打開文件的文件名和路徑保存到事先建立的*.ini文件中,系統(tǒng)啟動時讀取*.ini中的數(shù)據(jù)建立數(shù)組菜單,即可實(shí)現(xiàn)顯示歷史菜單的功能。 注意:要建立一個帶歷史信息的菜單,必須首先添加一個MenuStrip菜單控件,并將主窗體的IsMdiCo
8、ntainer屬性設(shè)為True。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_01,默認(rèn)窗體為Form1。 (2)從工具箱中向Form1窗體添加MenuStrip控件,同時向窗體添加OpenFileDialog控件。創(chuàng)建一個“文件”主菜單,在其下面創(chuàng)建打開、關(guān)閉所有、退出等菜單選項(xiàng)。 (3)主要程序代碼。 將打開文件路徑寫入INI文件的實(shí)現(xiàn)代碼如下: private void 打開ToolStripMenuItem_Click(object sender, EventArgs e) { openFileDialog1.FileName = ""; this.op
9、enFileDialog1.ShowDialog(); StreamWriter s = new StreamWriter(address + "\\Menu.ini", true); s.WriteLine(openFileDialog1.FileName);//寫入INI文件 s.Flush(); s.Close(); ShowWindows(openFileDialog1.FileName); } 讀取INI文件并將信息加入菜單的實(shí)現(xiàn)代碼如下: private void Form1_Load(object sender, EventArgs e) {
10、 StreamReader sr = new StreamReader(address + "\\Menu.ini"); int i = this.文件ToolStripMenuItem.DropDownItems.Count-2; while (sr.Peek()>=0)//讀取INI文件 { ToolStripMenuItem menuitem = new ToolStripMenuItem(sr.ReadLine()); this.文件ToolStripMenuItem.DropDownItems.Insert(i, menuitem); i++; menui
11、tem.Click += new EventHandler(menuitem_Click); } sr.Close(); } 自定義方法ShowWindows()用來加載背景圖片并顯示窗體,實(shí)現(xiàn)代碼如下: public void ShowWindows(string fileName) { Image p = Image.FromFile(fileName); Form f = new Form(); f.MdiParent = this; f.BackgroundImage = p; f.Show(); } 舉一反三 根據(jù)本實(shí)例,讀者可以開發(fā)
12、以下程序。 記錄用戶操作菜單日志的程序。在用戶單擊菜單時,把用戶、菜單命令和菜單對應(yīng)功能寫入保存菜單日志的INI文件。如果需要查看日志,只需打開INI文件。 通過數(shù)據(jù)庫保存菜單歷史信息的程序。 菜單使用頻率的程序。把用戶使用菜單的數(shù)據(jù)信息保存到數(shù)據(jù)庫中,然后統(tǒng)計用戶使用菜單的頻率,并根據(jù)此頻率調(diào)整菜單的顯示順序。 實(shí)例002 菜單動態(tài)合并 實(shí)例說明 在程序中經(jīng)常使用彈出菜單,并且一個窗體中可以存在多個彈出菜單。開發(fā)過MDI窗體的讀者可能都知道,當(dāng)MDI子窗體最大化時,子窗體和主窗體的菜單能夠自動的合并。這是如何實(shí)現(xiàn)的呢?本例實(shí)現(xiàn)了將兩個彈出菜單動態(tài)的合并成一個彈出菜單的功能。
13、實(shí)例效果如圖1.2所示。 技術(shù)要點(diǎn) C#2.0中已經(jīng)將彈出菜單封裝為Context MenuStrip控件,利用該控件中的Items對象可以操作菜單中的菜單項(xiàng)。該對象是ToolStripMenuItem類型,使用Items.AddRange( )方法可以向彈出菜單中添加菜單項(xiàng),該方法原型如下。 public void AddRange ( ToolStripItem[] toolStripItems ) 參數(shù)說明如下。 l toolStripItems:控件的數(shù)組。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_02,默認(rèn)窗體為Form1。 (2)從工具箱中向F
14、orm1窗體添加一個MenuStrip控件用來設(shè)計菜單;同時向窗體添加ContextMenuStrip控件用來設(shè)計右鍵菜單;選中MenuStrip控件創(chuàng)建一個“打開子窗體”主菜單,然后選中ContextMenuStrip控件為其添加子項(xiàng)。 (3)為程序添加一個窗體,默認(rèn)名為Form2,同時向窗體添加ContextMenuStrip控件用來設(shè)計右鍵菜單,然后選中ContextMenuStrip控件為其添加子項(xiàng)。 (4)主要程序代碼。 private void 打開自窗體ToolStripMenuItem_Click(object sender, EventArgs e) { Fo
15、rm2 f = new Form2(); f.MdiParent = this; f.Show();//顯示子窗體 f.Resize += new EventHandler(f_Resize); } void f_Resize(object sender, EventArgs e) { Form2 f = (Form2)sender; ToolStripMenuItem item = new ToolStripMenuItem(); for (int i = 0; i < f.contextMenuStrip2.Items.Count; )//合并菜單
16、{ item.DropDownItems.Add(f.contextMenuStrip2.Items[i]); } this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { item}); } 舉一反三 根據(jù)本實(shí)例,讀者可以實(shí)現(xiàn)以下功能。 讓右鍵菜單在子窗體中顯示。 讓右鍵菜單在主窗體和子窗體中同時顯示。 實(shí)例003 像開始菜單一樣漂亮的菜單 實(shí)例說明 Windows的開始菜單非常的獨(dú)特,在菜單的旁邊有一條豎著的彩條,彩條中還寫著文字。這種獨(dú)特的菜單能夠
17、使程序的界面看起來更加的漂亮。本例中就實(shí)現(xiàn)了這種菜單,運(yùn)行本例彈出“打開菜單”時,就會看到菜單的左邊有一個紫色的彩條。實(shí)例效果如圖1.3所示。 技術(shù)要點(diǎn) 在C# 2.0中,MenuStrip控件中的子項(xiàng)ToolStripMenuItem已經(jīng)包括了左側(cè)的彩條,實(shí)現(xiàn)像開始菜單一樣的菜單非常容易,不像在其他計算機(jī)語言的開發(fā)環(huán)境中,需要調(diào)用API才可以實(shí)現(xiàn)。如果想改變左側(cè)豎著的彩條,只要給對應(yīng)的菜單項(xiàng)設(shè)置相應(yīng)的圖片即可。 注意:如果要在左側(cè)彩條顯示文字,只要在對應(yīng)的圖片上加入文字即可。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_03,默認(rèn)窗體為Form1。 (2)從工具箱中向For
18、m1窗體添加MenuStrip控件。 (3)為MenuStrip控件添加相應(yīng)的子項(xiàng)。 (4)為子項(xiàng)添加相應(yīng)的圖片。 舉一反三 根據(jù)本實(shí)例,讀者可以實(shí)現(xiàn)以下功能。 將菜單元設(shè)置成不同的格式(如圖片、文字等)。 在菜單左側(cè)播放動畫。 實(shí)例004 任務(wù)欄托盤菜單 實(shí)例說明 有一些軟件通常只是在后臺運(yùn)行,這些進(jìn)程大部分時間不顯示用戶界面??赏ㄟ^單擊任務(wù)欄狀態(tài)通知區(qū)域的圖標(biāo)來訪問的病毒防護(hù)程序就是一個示例。Windows窗體中的NotifyIcon控件通常用于顯示在后臺運(yùn)行的進(jìn)程的圖標(biāo),本實(shí)例利用該控件制作了一個任務(wù)欄托盤菜單。實(shí)例效果如圖1.4所示。 技術(shù)要點(diǎn) 要實(shí)現(xiàn)程序啟動
19、時出現(xiàn)在系統(tǒng)托盤中。必須要為窗體添加NotifyIcon 控件和ContextMenuStrip控件。 注意:必須為NotifyIcon 控件的Icon屬性設(shè)置圖標(biāo)。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_04,默認(rèn)窗體為Form1。 (2)向Form1窗體添加NotifyIcon 控件和ContextMenuStrip控件,并為ContextMenuStrip控件添加子項(xiàng)。 (3)選擇NotifyIcon 控件,在其屬性窗口中將ContextMenuStrip屬性設(shè)置為添加到窗體上的ContextMenuStrip控件,并為Icon屬性設(shè)置圖片。 舉一反三 根據(jù)本實(shí)
20、例,讀者可以開發(fā)以下程序。 程序啟動時不出現(xiàn)界面,直接出現(xiàn)在系統(tǒng)托盤中運(yùn)行的后臺程序。 程序啟動時不出現(xiàn)在任務(wù)欄中。 實(shí)例005 可以拉伸的菜單界面 實(shí)例說明 如果管理程序功能菜單非常多,而用戶只使用一些常用菜單,這時,可以將主菜單項(xiàng)下的不常用菜單隱藏起來。此種顯示方式類似于對菜單進(jìn)行拉伸。使用時,只需單擊展開菜單,即可顯示相應(yīng)菜單功能。運(yùn)行本例,效果如圖1.5所示。 技術(shù)要點(diǎn) 要實(shí)現(xiàn)可以拉伸的菜單,關(guān)鍵是要使用一個開關(guān)變量,同時調(diào)用ShowDropDown()方法,顯示操作后的結(jié)果。下面詳細(xì)介紹一下該方法。 ShowDropDown()方法用來顯示與此ToolStripD
21、rop DownItem關(guān)聯(lián)的ToolStripDropDownItem控件。其語法結(jié)構(gòu)如下: public void ShowDropDown () 另外,用ShowDropDown()方法還可以顯示已由 DropDown 屬性設(shè)置的下拉控件。 注意:必須設(shè)置開關(guān)變量的初值。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_05,默認(rèn)窗體為Form1。 (2)從工具箱中向Form1窗體添加MenuStrip控件,選中MenuStrip控件為其添加子項(xiàng)。 (3)雙擊“展開(關(guān)閉)子項(xiàng)”為其雙擊事件添加處理代碼。 (4)主要程序代碼。 private void Form1_
22、Load(object sender, EventArgs e) { //初始設(shè)置下面的菜單隱藏 this.設(shè)置密碼ToolStripMenuItem.Visible = false; this.添加用戶ToolStripMenuItem.Visible = false; this.忘記密碼ToolStripMenuItem.Visible = false; this.修改密碼ToolStripMenuItem.Visible = false; this.員工錄入ToolStripMenuItem.Visible = false; } private voi
23、d toolStripMenuItem1_Click(object sender, EventArgs e) { switch (i) { case 1: this.設(shè)置密碼ToolStripMenuItem.Visible = false; this.添加用戶ToolStripMenuItem.Visible = false; this.忘記密碼ToolStripMenuItem.Visible = false; this.修改密碼ToolStripMenuItem.Visible = false; this.員工錄入ToolStripMenuItem.V
24、isible = false; i = 2; this.操作ToolStripMenuItem.ShowDropDown(); break; case 2: this.設(shè)置密碼ToolStripMenuItem.Visible = true; this.添加用戶ToolStripMenuItem.Visible = true; this.忘記密碼ToolStripMenuItem.Visible = true; this.修改密碼ToolStripMenuItem.Visible = true; this.員工錄入ToolStripMenuItem.Visi
25、ble = true; i = 1; this.操作ToolStripMenuItem.ShowDropDown(); break; } } 舉一反三 根據(jù)本實(shí)例,讀者可以開發(fā)以下功能。 制作顯示\隱藏工具欄。 合并菜單欄。 實(shí)例006 菜級聯(lián)菜單 實(shí)例說明 如果管理程序功能菜單非常多,一些功能中又包括許多子功能,這時可以使用級聯(lián)菜單來組織系統(tǒng)的各個功能。實(shí)例運(yùn)行結(jié)果如圖1.6所示。 圖1.6 級聯(lián)菜單 技術(shù)要點(diǎn) 制作級聯(lián)菜單需要使用MenuStrip控件。 注意:在使用級聯(lián)菜單時最好不要超過5層,否則用戶在使用時會很不方便。 實(shí)現(xiàn)過程 (
26、1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_06,默認(rèn)窗體為Form1。 (2)在Form1窗體添加MenuStrip控件,選中MenuStrip控件為其添加子項(xiàng)和級聯(lián)子項(xiàng)。 舉一反三 根據(jù)本實(shí)例,讀者可以開發(fā)以下功能。 大型系統(tǒng)的功能導(dǎo)航。 在窗體四周再增加菜單欄。 1.2 工具欄設(shè)計 在菜單欄中將常用的菜單命令以工具欄按鈕的形式顯示,并作為快速訪問方式。工具欄位于菜單欄的下方,由許多命令按鈕組成,每個命令按鈕上都有一個形象的小圖標(biāo),以標(biāo)識命令按鈕的功能。由于工具欄這種直觀易用的特點(diǎn),使其已成為Windows應(yīng)用程序的標(biāo)準(zhǔn)界面。 實(shí)例007 帶帶背景的工具欄 實(shí)例說明 工具
27、欄是窗體的組成部分之一,工具欄中的按鈕可以設(shè)定完成一些較為常用或重要的功能,本例中設(shè)計了一個工具欄,并且為該工具欄作了一些修飾,使工具欄帶有背景。背景圖案可以透過按鈕顯示,效果如圖1.7所示。 技術(shù)要點(diǎn) 工具欄中的背景是一幅圖片,在運(yùn)行時應(yīng)該將該圖片繪制到工具欄上,在.NET 2.0中,只需將工具欄按鈕的BackGroundImage的屬性設(shè)置為對應(yīng)的圖片即可。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_07,默認(rèn)窗體為Form1。 (2)從工具箱中為Form1窗體添加ToolStrip控件,并為工具欄添加相應(yīng)的按鈕。 (3)為工具欄的按鈕設(shè)置相應(yīng)的BackGroundIm
28、age屬性,相應(yīng)的的圖片就會變成按鈕的背景。 舉一反三 根據(jù)本實(shí)例,讀者可以開發(fā)以下功能。 制作一個帶動畫效果的工具欄。 制作一個自定義樣式的工具欄。 實(shí)例008 帶浮動工具欄 實(shí)例說明 通常情況下,窗體顯示在屏幕的中心。對于使用頻率非常高的軟件,通常放在屏幕上端以浮動工具欄形式顯示。下面通過實(shí)例介紹浮動工具欄的設(shè)計方法。運(yùn)行程序,程序可以停在屏幕的任何位置,當(dāng)窗體失去焦點(diǎn)后,窗體將自動隱藏。效果如圖1.8所示。 技術(shù)要點(diǎn) 窗體是否要隱藏,重要的是要判斷在操作中,通過窗體的Focused屬性,是否可以確定窗體有焦點(diǎn)。在窗體有焦點(diǎn)時,該窗體正在被操作,這時需要完全顯示在屏幕
29、當(dāng)中,如果窗體沒有焦點(diǎn),通過設(shè)置窗體到屏幕的高度,來確定窗體的隱藏部分。下面詳細(xì)介紹一下Focused屬性。 Focused屬性用來獲取一個值,該值指示控件是否有輸入焦點(diǎn)。其語法結(jié)構(gòu)如下: public virtual bool Focused { get; } l 屬性值:如果控件有焦點(diǎn),則為True;否則為False。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_08,默認(rèn)窗體為Form1。 (2)從工具箱中為Form1窗體添加Panel控件,并為Panel控件添加相應(yīng)的背景圖片。 (3)在Panel上添加兩個Label控件,并將其Text屬性設(shè)置為“打開”和“關(guān)閉”
30、,同時把兩個Label控件的背景顏色設(shè)置為透明。 (4)主要程序代碼。 private void timer1_Tick(object sender, EventArgs e) { if (this.Focused == false) { this.Top = -30; } } private void label2_Click(object sender, EventArgs e) { this.Close(); } private void panel1_MouseClick(object sender, MouseEventArgs e)
31、 { this.Top = 60; } 舉一反三 根據(jù)本實(shí)例,讀者可以開發(fā)以下功能。 制作一個帶動畫效果的工具欄。 制作一個飄動的工具欄。 實(shí)例009 在帶下拉菜單的工具欄 實(shí)例說明 工具欄是窗體的組成部分之一,工具欄中的按鈕可以完成一些較為常用或重要的功能,本例中設(shè)計了一個工具欄,使工具欄帶有下拉菜單,效果如圖1.9所示。 技術(shù)要點(diǎn) 帶下拉菜單的工具欄在其他計算機(jī)語言中實(shí)現(xiàn)比較復(fù)雜,但在.NET 2.0中已經(jīng)提供了這個功能,只需將工具欄按鈕的類型設(shè)置為DropDownButton即可。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_09,默認(rèn)窗體為F
32、orm1。 (2)從工具箱中為窗體添加ToolStrip控件,并為工具欄添加相應(yīng)的按鈕,在按鈕的下拉選項(xiàng)中選擇DropDownButton類型。 (3)為工具欄DropDownButton類型的按鈕設(shè)置相應(yīng)的下拉菜單,就可以輕松實(shí)現(xiàn)帶下拉菜單的工具欄。 舉一反三 根據(jù)本實(shí)例,讀者可以開發(fā)以下功能。 制作一個帶右鍵菜單的工具欄。 制作一個帶復(fù)選框的工具欄。 實(shí)例010 在具有提示功能的工具欄 實(shí)例說明 在文檔\視圖結(jié)構(gòu)的應(yīng)用程序中,默認(rèn)情況下,當(dāng)鼠標(biāo)在工具欄按鈕上停留片刻,會出現(xiàn)一個工具提示條。本例實(shí)現(xiàn)了一個具有提示功能的工具欄,效果如圖1.10所示。 技術(shù)要點(diǎn) 具有提
33、示功能的工具欄在其他計算機(jī)語言中實(shí)現(xiàn)也許比較復(fù)雜,但在.NET 2.0中已經(jīng)提供了這個功能。只需將工具欄按鈕的ToolTipText設(shè)置為要提示的內(nèi)容即可。下面詳細(xì)介紹一下該屬性。 ToolTipText屬性用來獲取或設(shè)置作為控件的ToolTip顯示的文本。其語法結(jié)構(gòu)如下: public string ToolTipText { get; set; } l 屬性值:一個表示工具提示文本的字符串。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_10,默認(rèn)窗體為Form1。 (2)從工具箱中為Form1窗體添加ToolStrip控件用來設(shè)計工具欄,并為工具欄添加相應(yīng)的按鈕。 (
34、3)為相應(yīng)按鈕的ToolTipTile屬性設(shè)置提示內(nèi)容,就可以輕松實(shí)現(xiàn)具有提示功能的工具欄。 舉一反三 根據(jù)本實(shí)例,讀者可以開發(fā)以下功能。 具有提示功能的各種控件。 具有提示功能的窗體。 1.3 狀態(tài)欄設(shè)計 狀態(tài)欄是用來顯示當(dāng)前程序狀態(tài)的。狀態(tài)欄可以分為多個面板,用來顯示不同狀態(tài)下的內(nèi)容,本節(jié)主要介紹了狀態(tài)欄的用法以及如何在狀態(tài)欄中添加控件。 實(shí)例011 在狀態(tài)欄中顯示檢查框 實(shí)例說明 在設(shè)計程序界面時,為了規(guī)范界面,可以將一些控件放置在狀態(tài)欄中,這樣既能起到控制程序的作用,又能使界面和諧、美觀。運(yùn)行程序,在窗體的狀態(tài)欄中加入了顯示時間檢查框。效果如圖1.11所示。 技
35、術(shù)要點(diǎn) 在狀態(tài)欄中添加檢查框比較容易,只需先將狀態(tài)欄加入窗體,然后將檢查框從工具箱中拖入狀態(tài)攔即可。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_11,默認(rèn)窗體為Form1。 (2)從工具箱中為Form1窗體添加StatusStrip控件,并從工具箱中為狀態(tài)欄添加CheckBox控件。 (3)主要程序代碼。 private void checkBox2_CheckedChanged(object sender, EventArgs e) { if (this.checkBox2.Checked) { statusStrip1.Items[1].Text =
36、"日期:" + DateTime.Now.ToString(); } else { statusStrip1.Items[1].Text = ""; } } 舉一反三 根據(jù)本實(shí)例,讀者可以開發(fā)以下功能。 運(yùn)行時設(shè)置控件的位置。 動態(tài)控制控件的顯示。 實(shí)例012 帶進(jìn)度條的狀態(tài)欄 實(shí)例說明 上網(wǎng)瀏覽網(wǎng)頁的讀者都用過IE瀏覽器,讀者是否注意到該瀏覽器的狀態(tài)欄,在打開網(wǎng)頁的過程中,瀏覽器下邊的狀態(tài)欄中有一個進(jìn)度條顯示當(dāng)前網(wǎng)頁的載入進(jìn)度,這樣的狀態(tài)欄使界面顯得更加豐富多彩,并且非常實(shí)用。本例將設(shè)計一個帶進(jìn)度條的狀態(tài)欄,并且在程序運(yùn)行當(dāng)中進(jìn)度條可以顯示其進(jìn)度,該
37、實(shí)例運(yùn)行結(jié)果如圖1.12所示。 技術(shù)要點(diǎn) 帶進(jìn)度條的狀態(tài)欄在別的開發(fā)環(huán)境下實(shí)現(xiàn)相對比較復(fù)雜,但在.NET 2.0中已經(jīng)提供了這個功能,只需將狀態(tài)欄的按鈕類型設(shè)置為ProgressBar即可。通過設(shè)置ProgressBar的Step 屬性指定一個特定值用以逐次遞增Value屬性的值,然后調(diào)用PerformStep方法來使該值遞增,就可以實(shí)現(xiàn)帶進(jìn)度條的狀態(tài)欄。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_12,默認(rèn)窗體為Form1。 (2)從工具箱中為Form1窗體添加StatusStrip控件,并為狀態(tài)欄添加相應(yīng)的按鈕,在按鈕的下拉選項(xiàng)中選擇ProgressBar類型。 (3)
38、設(shè)置ToolStripProgressBar1的Value屬性、Maximum屬性和Step屬性。 (4)主要程序代碼。 private void Form1_Load(object sender, EventArgs e) { while (toolStripProgressBar1.Value < toolStripProgressBar1.Maximum) { this.toolStripProgressBar1.PerformStep(); } } 舉一反三 根據(jù)本實(shí)例,讀者可以開發(fā)以下功能。 在狀態(tài)欄中顯示時間。 改變進(jìn)度條的顏色。 實(shí)例0
39、13 狀態(tài)欄中加入圖標(biāo) 實(shí)例說明 狀態(tài)欄已經(jīng)成為主界面必不可少的部分,狀態(tài)欄一般用于顯示程序狀態(tài)、當(dāng)前日期等,在狀態(tài)欄中添加一張圖片會使程序的主界面更有特色。運(yùn)行本例,效果如圖1.13所示。 技術(shù)要點(diǎn) 狀態(tài)欄中加入圖標(biāo)在.NET 2.0中實(shí)現(xiàn)非常容易,只要將對應(yīng)狀態(tài)欄面板的Image屬性設(shè)置為要顯示的圖片即可。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_13,默認(rèn)窗體為Form1。 (2)從工具箱中為Form1窗體添加StatusStrip控件,并為狀態(tài)欄添加相應(yīng)的按鈕,設(shè)置添加的按鈕的Image屬性為要顯示的圖片。 舉一反三 根據(jù)本實(shí)例,讀者可以實(shí)現(xiàn)以下功能。
40、將其他控件放置在狀態(tài)欄中,如進(jìn)度條。 將其他控件放置在狀態(tài)欄中,如復(fù)選框。 1.4 導(dǎo)航菜單界面 對于一些應(yīng)用工具軟件,界面不但要求人性化、漂亮,還要突出界面功能、使用方便,這樣才能吸引用戶使用。本節(jié)主要介紹了常用的幾種菜單界面。 實(shí)例014 OutLook界面 實(shí)例說明 程序主界面包括菜單欄、工具欄、狀態(tài)欄和樹狀視圖。OutLook界面美觀、友好,是一個很實(shí)用的程序主界面,并且菜單欄和工具欄是可移動的。運(yùn)行本例效果如圖1.14所示。 圖1.14 Out Look界面 技術(shù)要點(diǎn) 一般程序的菜單欄和工具欄是不可移動的,但是只要將MenuStrip和ToolStrip控件的
41、AllowItemRecorder屬性設(shè)為True就可以移動。在本例中使用MenuStrip控件制作菜單欄,使用ToolStrip制作工具欄,使用StatusStrip控件制作狀態(tài)欄。下面詳細(xì)介紹一下這幾個控件的屬性。 1.ToolStrip. AllowItemReorder屬性 獲取或設(shè)置一個值,該值指示是否由ToolStrip類私自處理拖放和項(xiàng)重新排序。其結(jié)構(gòu)如下: public bool AllowItemReorder { get; set; } l 屬性值:如果讓ToolStrip類自動處理拖放和項(xiàng)重新排序,為True;否則為False。默認(rèn)值為False。 2.Men
42、uStrip. AllowItemReorder屬性 獲取或設(shè)置一個值,該值指示是否由ToolStrip類私自處理拖放和項(xiàng)重新排序。其結(jié)構(gòu)如下: public bool AllowItemReorder { get; set; } l 屬性值:如果讓 MenuStrip類自動處理拖放和項(xiàng)重新排序,為True;否則為False。默認(rèn)值為False。 3.ToolStripItem.DisplayStyle屬性 獲取或設(shè)置是否在ToolStripItem上顯示文本和圖像。 public virtual ToolStripItemDisplayStyle DisplayStyle {
43、get; set; } l 屬性值:ToolStripItemDisplayStyle值之一。默認(rèn)為ImageAndText。 注意:在移動菜單欄和工具欄時,需要按住“Alt”鍵,同時用鼠標(biāo)進(jìn)行拖動。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_14,默認(rèn)窗體為Form1。 (2)在Form1窗體上添加MenuStrip控件,用來設(shè)計主菜單;添加ToolStrip控件,用來設(shè)計工具欄;添加StatusStrip控件,用來設(shè)計狀態(tài)欄;添加ImageList控件和TreeVew控件,用來設(shè)計樹結(jié)構(gòu)。 (3)分別為MenuStrip控件、ToolStrip控件、ImageList
44、控件和TreeVew控件添加子項(xiàng),將MenuStrip控件和ToolStrip控件的AllowItemRecorder屬性設(shè)為True,并將ToolStrip控件的每個子項(xiàng)的DisplayStyle屬性設(shè)置為“ImageAndText”。下面詳細(xì)介紹這幾個屬性。 舉一反三 根據(jù)本實(shí)例,讀者可以實(shí)現(xiàn)以下功能。 制作一個系統(tǒng)菜單。 制作一個導(dǎo)航界面。 實(shí)例015 帶帶導(dǎo)航菜單的主界面 實(shí)例說明 在窗體界面中,菜單欄是不可缺少的重要組成部分。本實(shí)例是用其他的控件來制作一個摸擬菜單欄。運(yùn)行程序,單擊窗體上面的按鈕,將會在按鈕的下面顯示一個下拉列表。如圖1.15所示。 技術(shù)要點(diǎn) 該
45、實(shí)例中主要使用Button控件和ListView控件制作導(dǎo)航菜單界面。在對ListView控件添加菜單信息時,必需在前面寫入添加語句,如Listview.Items.Add,否則添加的菜單信息將替換前一條信息。單擊相應(yīng)的按鈕時,應(yīng)首先對ListView控件進(jìn)行清空,否則在ListView控件中將繼續(xù)上一次的添加菜單信息。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_15,默認(rèn)窗體為Form1。 (2)在Form1窗體上添加MenuStrip控件設(shè)計菜單欄;添加ToolStrip控件設(shè)計工具欄;添加SplitContainer控件、ImageList控件、3個Button控件和Lis
46、tView控件用來制作左側(cè)的導(dǎo)航欄。 (3)分別為MenuStrip控件、ToolStrip控件添加子項(xiàng),將3個Button按鈕和ListView控件加入SqlitContainer1.panel的左側(cè)部分中。 (4)主要程序代碼。 加載窗體時,設(shè)置左側(cè)導(dǎo)航欄內(nèi)容的實(shí)現(xiàn)代碼如下: private void Form1_Load(object sender, EventArgs e) { listView1.Clear(); listView1.LargeImageList = imageList1; listView1.Items.Add("設(shè)置上下班時間", "設(shè)置
47、上下班時間", 0); listView1.Items.Add("是否啟用短信提醒", "是否啟用短信提醒", 1); listView1.Items.Add("設(shè)置密碼", "設(shè)置密碼", 2); } 添加打開按鈕的ListView控件顯示內(nèi)容的實(shí)現(xiàn)代碼如下: private void button2_Click_1(object sender, EventArgs e) { listView1.Dock = DockStyle.None; button2.Dock = DockStyle.Top; button1.SendToBack(); bu
48、tton1.Dock = DockStyle.Top; button3.Dock = DockStyle.Bottom; listView1.Dock = DockStyle.Bottom; listView1.Clear(); listView1.Items.Add("近期工作記錄", "近期工作記錄", 3); listView1.Items.Add("近期工作計劃", "近期工作計劃", 4); } 添加編輯按鈕的ListView控件顯示內(nèi)容的實(shí)現(xiàn)代碼如下: private void button3_Click_1(object sender, EventA
49、rgs e) { listView1.Dock = DockStyle.None; button3.SendToBack(); button3.Dock = DockStyle.Top; button2.SendToBack(); button2.Dock = DockStyle.Top; button1.SendToBack(); button1.Dock = DockStyle.Top; listView1.Dock = DockStyle.Bottom; listView1.Clear(); listView1.Items.Add("編輯工作進(jìn)
50、度報告", "編輯工作進(jìn)度報告", 5); listView1.Items.Add("編輯項(xiàng)目設(shè)計圖", "編輯項(xiàng)目設(shè)計圖", 6); } 添加設(shè)置按鈕的ListView控件顯示內(nèi)容的實(shí)現(xiàn)代碼如下: private void button1_Click_1(object sender, EventArgs e) { listView1.Dock = DockStyle.None; button1.Dock = DockStyle.Top; button2.Dock = DockStyle.Bottom; button3.SendToBack(); butt
51、on3.Dock = DockStyle.Bottom; listView1.BringToFront(); listView1.Dock = DockStyle.Bottom; listView1.Clear(); listView1.Items.Add("設(shè)置上下班時間", "設(shè)置上下班時間", 0); listView1.Items.Add("是否啟用短信提醒", "是否啟用短信提醒",1); listView1.Items.Add("設(shè)置密碼", "設(shè)置密碼", 2); } 舉一反三 根據(jù)本實(shí)例,讀者可以實(shí)現(xiàn)以下功能。 制作一個系統(tǒng)菜單。 制作大
52、型系統(tǒng)的導(dǎo)航界面。 實(shí)例016 圖形化的導(dǎo)航界面 實(shí)例說明 如果以按鈕來代替菜單的功能,會使界面更具有個性化。使操作者更易于操作。下面介紹按鈕顯示菜單的設(shè)計方法。運(yùn)行本例,效果如圖1.16所示。 圖1.16 圖形化的導(dǎo)航界面 技術(shù)要點(diǎn) 本實(shí)例主要通過設(shè)置Button控件的相應(yīng)屬性,確定其按鈕的位置、文字、顯示樣式和要顯示的圖片等。下面對Button控件相應(yīng)屬性進(jìn)行詳細(xì)介紹。 1.Button. BackColor屬性 獲取或設(shè)置控件的背景色,其方法結(jié)構(gòu)如下: public override Color BackColor { get; set; } l 屬性值:一個表
53、示背景色的Color值。 2.Button. FlatStyle屬性 獲取或設(shè)置按鈕控件的平面樣式外觀。其代碼如下: public FlatStyle FlatStyle { get; set; } l 屬性值:FlatStyle 值之一。默認(rèn)值為Standard。 3.Button. TextImageRelation屬性 獲取或設(shè)置文本和圖像相互之間的相對位置。其代碼如下: public TextImageRelation TextImageRelation { get; set; } l 屬性值:TextImageRelation 的值之一。默認(rèn)為Overlay。
54、實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_16,默認(rèn)窗體為Form1。 (2)在Form1窗體上添加MenuStrip控件用來設(shè)計菜單欄,添加ToolStrip控件用來設(shè)計工具欄,添加Panel控件、Button控件用來設(shè)計圖形化的導(dǎo)航按鈕。 (3)分別為MenuStrip控件、ToolStrip控件添加子項(xiàng),并為Panel控件選擇背景圖片。 (4)將Button控件的BackColor屬性設(shè)為“Transparent”、FlatStyle屬性設(shè)置為“Flat”、TextImageRelation屬性設(shè)置為“ImageBeforeText”。 (5)主要程序代碼。 pri
55、vate void button1_Click(object sender, EventArgs e) { //使子項(xiàng)可見 button5.Visible = true; button6.Visible = true; button7.Visible = true; } private void button2_Click(object sender, EventArgs e) { //使子項(xiàng)可見 button8.Visible = true; button9.Visible = true; button10.Visible = true;
56、} private void button3_Click(object sender, EventArgs e) { //使子項(xiàng)可見 button11.Visible = true; button12.Visible = true; button13.Visible = true; } 舉一反三 根據(jù)本實(shí)例,讀者可以實(shí)現(xiàn)以下功能。 制作動態(tài)的按鈕界面。 制作動態(tài)的圖片界面。 1.5 特色程序界面 現(xiàn)在有很多開發(fā)人員都將界面制作成不同類型的樣式,這樣可以使界面更加形象化。本節(jié)主要介紹了如何對程序界面進(jìn)行特色化設(shè)計,如類似QQ、Windows XP的界面
57、等。 實(shí)例017 菜類QQ的程序界面 實(shí)例說明 一般程序都是以菜單欄和工具欄的形式調(diào)用其他功能模塊,如果以動態(tài)的類似QQ的程序界面來調(diào)用其他功能模塊,將會給用戶一種新鮮的感覺,使用戶對軟件更感興趣。實(shí)例運(yùn)行結(jié)果如圖1.17所示。 技術(shù)要點(diǎn) 本例主要使用Button控件來完成布局,使用ListView控件來顯示有圖標(biāo)的功能菜單。ListView控件的常用屬性及說明如下。 1.ListView.Items屬性 使用該屬性可直接訪問表示列表中項(xiàng)目的ListItem對象。其結(jié)構(gòu)如下: public ListViewItemCollection Items { get; } l 屬性
58、值: ListView.ListViewItemCollection包含ListView控件中所有的項(xiàng)。 2.ListView.Dock屬性 獲取或設(shè)置哪些控件邊框??康狡涓缚丶⒋_定控件如何隨其父級一起調(diào)整大小。其結(jié)構(gòu)如下: public virtual DockStyle Dock { get; set; } l 屬性值:DockStyle值之一。默認(rèn)為None。 實(shí)現(xiàn)過程 (1)創(chuàng)建一個項(xiàng)目,將其命名為Ex01_17,默認(rèn)窗體為Form1。 (2)在窗體上添加Button控件、ListView控件和ImageList控件。設(shè)置ListView控件的ImageList屬性為
59、ImageList控件。 (3)主要程序代碼。 添加“我的好友”選項(xiàng)內(nèi)容的實(shí)現(xiàn)代碼如下: private void button1_Click(object sender, EventArgs e) { listView1.Dock = DockStyle.None; button1.Dock = DockStyle.Top; button2.Dock = DockStyle.Bottom; button3.SendToBack(); button3.Dock = DockStyle.Bottom; listView1.BringToFront(); listView1.Dock = DockStyle.Bottom; listView1.Clear(); listView1.Items.Add("小豬", "小豬", 0); listView1.Items.Add("小狗", "小狗", 1);
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運(yùn)動會安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動總結(jié)+在機(jī)關(guān)“弘揚(yáng)憲法精神推動發(fā)改工作高質(zhì)量發(fā)展”專題宣講報告會上的講話
- 2024年XX村合作社年報總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊教研組工作總結(jié)
- 2024年小學(xué)高級教師年終工作總結(jié)匯報
- 2024-2025年秋季第一學(xué)期初中物理上冊教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報告
- 2025年學(xué)校元旦迎新盛典活動策劃方案
- 2024年學(xué)校周邊安全隱患自查報告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報告