winform界面特效設(shè)計源碼

上傳人:1666****666 文檔編號:38894061 上傳時間:2021-11-09 格式:DOC 頁數(shù):222 大?。?.90MB
收藏 版權(quán)申訴 舉報 下載
winform界面特效設(shè)計源碼_第1頁
第1頁 / 共222頁
winform界面特效設(shè)計源碼_第2頁
第2頁 / 共222頁
winform界面特效設(shè)計源碼_第3頁
第3頁 / 共222頁

下載文檔到電腦,查找使用更方便

0 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《winform界面特效設(shè)計源碼》由會員分享,可在線閱讀,更多相關(guān)《winform界面特效設(shè)計源碼(222頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、winform 界面特效設(shè)計源碼窗體與界面設(shè)計9實例001 帶歷史信息的菜單10實例002 菜單動態(tài)合并12實例003 像開始菜單一樣漂亮的菜單14實例004 任務(wù)欄托盤菜單15實例005 可以拉伸的菜單界面16實例006 菜級聯(lián)菜單181.2 工具欄設(shè)計19實例007 帶帶背景的工具欄19實例008 帶浮動工具欄20實例009 在帶下拉菜單的工具欄21實例010 在具有提示功能的工具欄22實例011 在狀態(tài)欄中顯示檢查框23實例012 帶進(jìn)度條的狀態(tài)欄25實例013 狀態(tài)欄中加入圖標(biāo)26實例014 OutLook界面27實例015 帶帶導(dǎo)航菜單的主界面29實例016 圖形化的導(dǎo)航界面32實例

2、017 菜類QQ的程序界面35實例018 類似windows xp的程序界面38實例019 以圖形按鈕顯示的界面42實例020 以樹形顯示的程序界面44實例021 動態(tài)按鈕的窗體界面46實例022 非矩形窗體50實例023建立字體形狀窗體52實例024控件隨窗體自動調(diào)整54實例025帶分隔欄的窗體55實例026隨機(jī)更換主界面背景56實例027自動啟動的多媒體光盤程序57實例028為觸摸屏程序添加虛擬鍵盤59實例029半透明漸顯窗體61實例030窗口顏色的漸變63實例031窗體中的滾動字幕65實例032動畫顯示窗體67實例033制作閃爍的窗體69實例034直接在窗體上繪圖70實例035動畫形式的

3、程序界面73實例036使窗體標(biāo)題欄文字右對齊75實例037沒有標(biāo)題欄可義改變大小的窗口76實例038設(shè)置窗體在屏幕中的位置77實例039始終在最上面的窗體78實例040限制窗體大小79實例041獲取桌面大小81實例042在窗口間移動按扭82實例043如何實現(xiàn)Office助手84實例044在關(guān)閉窗口前加入確認(rèn)對話框85實例045使用任意組件拖動窗體88實例046修改提示字體及顏色89實例047如何為MDI類型窗體設(shè)置背景圖片91實例048向提示框中添加圖標(biāo)93實例418通過串口發(fā)送數(shù)據(jù)95實例419通過串口關(guān)閉對方計算機(jī)98實例420密碼寫入與讀出加密狗101實例421使用加密狗進(jìn)行身份驗證10

4、5實例422向IC卡中寫入數(shù)據(jù)107實例423讀取IC卡中的數(shù)據(jù)113實例424利用IC卡制作考勤程序116實例425簡易視頻程序119實例426攝像頭監(jiān)控錄像125實例427超市攝像頭定時監(jiān)控系統(tǒng)127實例428語音卡電話呼叫系統(tǒng)132實例429客戶來電查詢系統(tǒng)141實例430語音卡實現(xiàn)電話錄音144實例431利用短信貓收發(fā)短信息147實例432利用短信遠(yuǎn)程關(guān)閉計算機(jī)155實例433短信息采集煙草銷售數(shù)據(jù)159實例434“春晚”節(jié)目評比短信息互動平臺164實例435條形碼掃描器銷售商品167實例436利用神龍卡制作練歌房程序169實例463數(shù)據(jù)加密技術(shù)174實例464文本文件加密與解密177

5、實例465利用圖片加密文件188實例466如何編程修復(fù)Access數(shù)據(jù)庫194實例467訪問帶驗證模式的Sqlserver 2000數(shù)據(jù)庫197實例468利用INI文件對軟件進(jìn)行注冊201實例469利用注冊表設(shè)計軟件注冊程序204實例470利用網(wǎng)卡序列號設(shè)計軟件注冊程序208實例471根據(jù)cpu序列號、磁盤序列號設(shè)計軟件注冊程序214窗體與界面設(shè)計1.1 菜單應(yīng)用實例菜單是程序開發(fā)中經(jīng)常使用的界面元素,合理利用菜單不但可以使用戶非常方便的操作程序的功能,更能使效率提高,適應(yīng)人性化的潮流。下面通過幾個應(yīng)用實例,介紹菜單設(shè)計的方法和技術(shù)。實例001 帶歷史信息的菜單實例說明在開發(fā)圖紙管理軟件時,要

6、求在菜單上記錄用戶最近打開的檔案或圖紙,以方便下次使用。如圖1.1所示,單擊“文件”菜單下的“打開文件”子菜單,打開需要查閱的圖紙。下次運行該軟件時,上次打開的文件名記錄到“文件”菜單的歷史菜單中,選擇該菜單,即可打開相應(yīng)的圖紙文件。技術(shù)要點要實現(xiàn)保存最近打開的文件,可以將在菜單中最近打開文件的文件名和路徑保存到事先建立的*.ini文件中,系統(tǒng)啟動時讀取*.ini中的數(shù)據(jù)建立數(shù)組菜單,即可實現(xiàn)顯示歷史菜單的功能。注意:要建立一個帶歷史信息的菜單,必須首先添加一個MenuStrip菜單控件,并將主窗體的IsMdiContainer屬性設(shè)為True。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_

7、01,默認(rèn)窗體為Form1。(2)從工具箱中向Form1窗體添加MenuStrip控件,同時向窗體添加OpenFileDialog控件。創(chuàng)建一個“文件”主菜單,在其下面創(chuàng)建打開、關(guān)閉所有、退出等菜單選項。(3)主要程序代碼。將打開文件路徑寫入INI文件的實現(xiàn)代碼如下: private void 打開ToolStripMenuItem_Click(object sender, EventArgs e) openFileDialog1.FileName = ; this.openFileDialog1.ShowDialog(); StreamWriter s = new StreamWriter(

8、address + Menu.ini, true); s.WriteLine(openFileDialog1.FileName);/寫入INI文件 s.Flush(); s.Close(); ShowWindows(openFileDialog1.FileName); 讀取INI文件并將信息加入菜單的實現(xiàn)代碼如下: private void Form1_Load(object sender, EventArgs e) StreamReader sr = new StreamReader(address + Menu.ini); int i = this.文件ToolStripMenuItem.

9、DropDownItems.Count-2; while (sr.Peek()=0)/讀取INI文件 ToolStripMenuItem menuitem = new ToolStripMenuItem(sr.ReadLine(); this.文件ToolStripMenuItem.DropDownItems.Insert(i, menuitem); i+; menuitem.Click += new EventHandler(menuitem_Click); sr.Close(); 自定義方法ShowWindows()用來加載背景圖片并顯示窗體,實現(xiàn)代碼如下: public void Sho

10、wWindows(string fileName) Image p = Image.FromFile(fileName); Form f = new Form(); f.MdiParent = this; f.BackgroundImage = p; f.Show(); 舉一反三根據(jù)本實例,讀者可以開發(fā)以下程序。 記錄用戶操作菜單日志的程序。在用戶單擊菜單時,把用戶、菜單命令和菜單對應(yīng)功能寫入保存菜單日志的INI文件。如果需要查看日志,只需打開INI文件。 通過數(shù)據(jù)庫保存菜單歷史信息的程序。 菜單使用頻率的程序。把用戶使用菜單的數(shù)據(jù)信息保存到數(shù)據(jù)庫中,然后統(tǒng)計用戶使用菜單的頻率,并根據(jù)此頻率調(diào)

11、整菜單的顯示順序。實例002 菜單動態(tài)合并實例說明在程序中經(jīng)常使用彈出菜單,并且一個窗體中可以存在多個彈出菜單。開發(fā)過MDI窗體的讀者可能都知道,當(dāng)MDI子窗體最大化時,子窗體和主窗體的菜單能夠自動的合并。這是如何實現(xiàn)的呢?本例實現(xiàn)了將兩個彈出菜單動態(tài)的合并成一個彈出菜單的功能。實例效果如圖1.2所示。技術(shù)要點C#2.0中已經(jīng)將彈出菜單封裝為Context MenuStrip控件,利用該控件中的Items對象可以操作菜單中的菜單項。該對象是ToolStripMenuItem類型,使用Items.AddRange( )方法可以向彈出菜單中添加菜單項,該方法原型如下。public void Add

12、Range ( ToolStripItem toolStripItems )參數(shù)說明如下。l toolStripItems:控件的數(shù)組。 實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_02,默認(rèn)窗體為Form1。(2)從工具箱中向Form1窗體添加一個MenuStrip控件用來設(shè)計菜單;同時向窗體添加ContextMenuStrip控件用來設(shè)計右鍵菜單;選中MenuStrip控件創(chuàng)建一個“打開子窗體”主菜單,然后選中ContextMenuStrip控件為其添加子項。(3)為程序添加一個窗體,默認(rèn)名為Form2,同時向窗體添加ContextMenuStrip控件用來設(shè)計右鍵菜單,然后選中Con

13、textMenuStrip控件為其添加子項。(4)主要程序代碼。 private void 打開自窗體ToolStripMenuItem_Click(object sender, EventArgs e) Form2 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 To

14、olStripMenuItem(); for (int i = 0; i f.contextMenuStrip2.Items.Count; )/合并菜單 item.DropDownItems.Add(f.contextMenuStrip2.Itemsi); this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem item); 舉一反三根據(jù)本實例,讀者可以實現(xiàn)以下功能。 讓右鍵菜單在子窗體中顯示。 讓右鍵菜單在主窗體和子窗體中同時顯示。實例003 像開始菜單一樣漂亮的菜單實例說明Windows的開始

15、菜單非常的獨特,在菜單的旁邊有一條豎著的彩條,彩條中還寫著文字。這種獨特的菜單能夠使程序的界面看起來更加的漂亮。本例中就實現(xiàn)了這種菜單,運行本例彈出“打開菜單”時,就會看到菜單的左邊有一個紫色的彩條。實例效果如圖1.3所示。技術(shù)要點在C# 2.0中,MenuStrip控件中的子項ToolStripMenuItem已經(jīng)包括了左側(cè)的彩條,實現(xiàn)像開始菜單一樣的菜單非常容易,不像在其他計算機(jī)語言的開發(fā)環(huán)境中,需要調(diào)用API才可以實現(xiàn)。如果想改變左側(cè)豎著的彩條,只要給對應(yīng)的菜單項設(shè)置相應(yīng)的圖片即可。注意:如果要在左側(cè)彩條顯示文字,只要在對應(yīng)的圖片上加入文字即可。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex

16、01_03,默認(rèn)窗體為Form1。(2)從工具箱中向Form1窗體添加MenuStrip控件。(3)為MenuStrip控件添加相應(yīng)的子項。(4)為子項添加相應(yīng)的圖片。舉一反三根據(jù)本實例,讀者可以實現(xiàn)以下功能。 將菜單元設(shè)置成不同的格式(如圖片、文字等)。 在菜單左側(cè)播放動畫。實例004 任務(wù)欄托盤菜單實例說明有一些軟件通常只是在后臺運行,這些進(jìn)程大部分時間不顯示用戶界面。可通過單擊任務(wù)欄狀態(tài)通知區(qū)域的圖標(biāo)來訪問的病毒防護(hù)程序就是一個示例。Windows窗體中的NotifyIcon控件通常用于顯示在后臺運行的進(jìn)程的圖標(biāo),本實例利用該控件制作了一個任務(wù)欄托盤菜單。實例效果如圖1.4所示。技術(shù)要點

17、要實現(xiàn)程序啟動時出現(xiàn)在系統(tǒng)托盤中。必須要為窗體添加NotifyIcon 控件和ContextMenuStrip控件。注意:必須為NotifyIcon 控件的Icon屬性設(shè)置圖標(biāo)。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_04,默認(rèn)窗體為Form1。(2)向Form1窗體添加NotifyIcon 控件和ContextMenuStrip控件,并為ContextMenuStrip控件添加子項。(3)選擇NotifyIcon 控件,在其屬性窗口中將ContextMenuStrip屬性設(shè)置為添加到窗體上的ContextMenuStrip控件,并為Icon屬性設(shè)置圖片。舉一反三根據(jù)本實例,讀者可以開

18、發(fā)以下程序。 程序啟動時不出現(xiàn)界面,直接出現(xiàn)在系統(tǒng)托盤中運行的后臺程序。 程序啟動時不出現(xiàn)在任務(wù)欄中。實例005 可以拉伸的菜單界面實例說明如果管理程序功能菜單非常多,而用戶只使用一些常用菜單,這時,可以將主菜單項下的不常用菜單隱藏起來。此種顯示方式類似于對菜單進(jìn)行拉伸。使用時,只需單擊展開菜單,即可顯示相應(yīng)菜單功能。運行本例,效果如圖1.5所示。技術(shù)要點要實現(xiàn)可以拉伸的菜單,關(guān)鍵是要使用一個開關(guān)變量,同時調(diào)用ShowDropDown()方法,顯示操作后的結(jié)果。下面詳細(xì)介紹一下該方法。ShowDropDown()方法用來顯示與此ToolStripDrop DownItem關(guān)聯(lián)的ToolStri

19、pDropDownItem控件。其語法結(jié)構(gòu)如下:public void ShowDropDown ()另外,用ShowDropDown()方法還可以顯示已由 DropDown 屬性設(shè)置的下拉控件。注意:必須設(shè)置開關(guān)變量的初值。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_05,默認(rèn)窗體為Form1。(2)從工具箱中向Form1窗體添加MenuStrip控件,選中MenuStrip控件為其添加子項。(3)雙擊“展開(關(guān)閉)子項”為其雙擊事件添加處理代碼。(4)主要程序代碼。 private void Form1_Load(object sender, EventArgs e) /初始設(shè)置下面的

20、菜單隱藏 this.設(shè)置密碼ToolStripMenuItem.Visible = false; this.添加用戶ToolStripMenuItem.Visible = false; this.忘記密碼ToolStripMenuItem.Visible = false; this.修改密碼ToolStripMenuItem.Visible = false; this.員工錄入ToolStripMenuItem.Visible = false; private void toolStripMenuItem1_Click(object sender, EventArgs e) switch (i

21、) case 1: this.設(shè)置密碼ToolStripMenuItem.Visible = false; this.添加用戶ToolStripMenuItem.Visible = false; this.忘記密碼ToolStripMenuItem.Visible = false; this.修改密碼ToolStripMenuItem.Visible = false; this.員工錄入ToolStripMenuItem.Visible = false; i = 2; this.操作ToolStripMenuItem.ShowDropDown(); break; case 2: this.設(shè)置

22、密碼ToolStripMenuItem.Visible = true; this.添加用戶ToolStripMenuItem.Visible = true; this.忘記密碼ToolStripMenuItem.Visible = true; this.修改密碼ToolStripMenuItem.Visible = true; this.員工錄入ToolStripMenuItem.Visible = true; i = 1; this.操作ToolStripMenuItem.ShowDropDown(); break; 舉一反三根據(jù)本實例,讀者可以開發(fā)以下功能。 制作顯示隱藏工具欄。 合并菜單

23、欄。實例006 菜級聯(lián)菜單實例說明如果管理程序功能菜單非常多,一些功能中又包括許多子功能,這時可以使用級聯(lián)菜單來組織系統(tǒng)的各個功能。實例運行結(jié)果如圖1.6所示。圖1.6 級聯(lián)菜單技術(shù)要點制作級聯(lián)菜單需要使用MenuStrip控件。注意:在使用級聯(lián)菜單時最好不要超過5層,否則用戶在使用時會很不方便。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_06,默認(rèn)窗體為Form1。(2)在Form1窗體添加MenuStrip控件,選中MenuStrip控件為其添加子項和級聯(lián)子項。舉一反三根據(jù)本實例,讀者可以開發(fā)以下功能。 大型系統(tǒng)的功能導(dǎo)航。 在窗體四周再增加菜單欄。1.2 工具欄設(shè)計在菜單欄中將常用的

24、菜單命令以工具欄按鈕的形式顯示,并作為快速訪問方式。工具欄位于菜單欄的下方,由許多命令按鈕組成,每個命令按鈕上都有一個形象的小圖標(biāo),以標(biāo)識命令按鈕的功能。由于工具欄這種直觀易用的特點,使其已成為Windows應(yīng)用程序的標(biāo)準(zhǔn)界面。實例007 帶帶背景的工具欄實例說明工具欄是窗體的組成部分之一,工具欄中的按鈕可以設(shè)定完成一些較為常用或重要的功能,本例中設(shè)計了一個工具欄,并且為該工具欄作了一些修飾,使工具欄帶有背景。背景圖案可以透過按鈕顯示,效果如圖1.7所示。技術(shù)要點工具欄中的背景是一幅圖片,在運行時應(yīng)該將該圖片繪制到工具欄上,在.NET 2.0中,只需將工具欄按鈕的BackGroundImage

25、的屬性設(shè)置為對應(yīng)的圖片即可。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_07,默認(rèn)窗體為Form1。(2)從工具箱中為Form1窗體添加ToolStrip控件,并為工具欄添加相應(yīng)的按鈕。(3)為工具欄的按鈕設(shè)置相應(yīng)的BackGroundImage屬性,相應(yīng)的的圖片就會變成按鈕的背景。舉一反三根據(jù)本實例,讀者可以開發(fā)以下功能。 制作一個帶動畫效果的工具欄。 制作一個自定義樣式的工具欄。實例008 帶浮動工具欄實例說明通常情況下,窗體顯示在屏幕的中心。對于使用頻率非常高的軟件,通常放在屏幕上端以浮動工具欄形式顯示。下面通過實例介紹浮動工具欄的設(shè)計方法。運行程序,程序可以停在屏幕的任何位置,當(dāng)窗

26、體失去焦點后,窗體將自動隱藏。效果如圖1.8所示。技術(shù)要點窗體是否要隱藏,重要的是要判斷在操作中,通過窗體的Focused屬性,是否可以確定窗體有焦點。在窗體有焦點時,該窗體正在被操作,這時需要完全顯示在屏幕當(dāng)中,如果窗體沒有焦點,通過設(shè)置窗體到屏幕的高度,來確定窗體的隱藏部分。下面詳細(xì)介紹一下Focused屬性。Focused屬性用來獲取一個值,該值指示控件是否有輸入焦點。其語法結(jié)構(gòu)如下:public virtual bool Focused get; l 屬性值:如果控件有焦點,則為True;否則為False。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_08,默認(rèn)窗體為Form1。(2

27、)從工具箱中為Form1窗體添加Panel控件,并為Panel控件添加相應(yīng)的背景圖片。(3)在Panel上添加兩個Label控件,并將其Text屬性設(shè)置為“打開”和“關(guān)閉”,同時把兩個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 pan

28、el1_MouseClick(object sender, MouseEventArgs e) this.Top = 60; 舉一反三根據(jù)本實例,讀者可以開發(fā)以下功能。 制作一個帶動畫效果的工具欄。 制作一個飄動的工具欄。實例009 在帶下拉菜單的工具欄實例說明工具欄是窗體的組成部分之一,工具欄中的按鈕可以完成一些較為常用或重要的功能,本例中設(shè)計了一個工具欄,使工具欄帶有下拉菜單,效果如圖1.9所示。技術(shù)要點帶下拉菜單的工具欄在其他計算機(jī)語言中實現(xiàn)比較復(fù)雜,但在.NET 2.0中已經(jīng)提供了這個功能,只需將工具欄按鈕的類型設(shè)置為DropDownButton即可。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命

29、名為Ex01_09,默認(rèn)窗體為Form1。(2)從工具箱中為窗體添加ToolStrip控件,并為工具欄添加相應(yīng)的按鈕,在按鈕的下拉選項中選擇DropDownButton類型。(3)為工具欄DropDownButton類型的按鈕設(shè)置相應(yīng)的下拉菜單,就可以輕松實現(xiàn)帶下拉菜單的工具欄。舉一反三根據(jù)本實例,讀者可以開發(fā)以下功能。 制作一個帶右鍵菜單的工具欄。 制作一個帶復(fù)選框的工具欄。實例010 在具有提示功能的工具欄實例說明在文檔視圖結(jié)構(gòu)的應(yīng)用程序中,默認(rèn)情況下,當(dāng)鼠標(biāo)在工具欄按鈕上停留片刻,會出現(xiàn)一個工具提示條。本例實現(xiàn)了一個具有提示功能的工具欄,效果如圖1.10所示。技術(shù)要點具有提示功能的工具欄

30、在其他計算機(jī)語言中實現(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 屬性值:一個表示工具提示文本的字符串。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_10,默認(rèn)窗體為Form1。(2)從工具箱中為Form1窗體添加ToolStrip控件用來設(shè)計工具欄,并為工具欄添加相應(yīng)的按鈕。(3)為相應(yīng)按鈕的ToolTipTile屬性設(shè)置提示

31、內(nèi)容,就可以輕松實現(xiàn)具有提示功能的工具欄。舉一反三根據(jù)本實例,讀者可以開發(fā)以下功能。 具有提示功能的各種控件。 具有提示功能的窗體。1.3 狀態(tài)欄設(shè)計狀態(tài)欄是用來顯示當(dāng)前程序狀態(tài)的。狀態(tài)欄可以分為多個面板,用來顯示不同狀態(tài)下的內(nèi)容,本節(jié)主要介紹了狀態(tài)欄的用法以及如何在狀態(tài)欄中添加控件。實例011 在狀態(tài)欄中顯示檢查框?qū)嵗f明在設(shè)計程序界面時,為了規(guī)范界面,可以將一些控件放置在狀態(tài)欄中,這樣既能起到控制程序的作用,又能使界面和諧、美觀。運行程序,在窗體的狀態(tài)欄中加入了顯示時間檢查框。效果如圖1.11所示。技術(shù)要點在狀態(tài)欄中添加檢查框比較容易,只需先將狀態(tài)欄加入窗體,然后將檢查框從工具箱中拖入狀態(tài)

32、攔即可。實現(xiàn)過程(1)創(chuà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.Items1.Text = 日期: + DateTime.Now.ToString(); else statusStrip1.Items1.Text = ; 舉一反三根據(jù)

33、本實例,讀者可以開發(fā)以下功能。 運行時設(shè)置控件的位置。 動態(tài)控制控件的顯示。實例012 帶進(jìn)度條的狀態(tài)欄實例說明上網(wǎng)瀏覽網(wǎng)頁的讀者都用過IE瀏覽器,讀者是否注意到該瀏覽器的狀態(tài)欄,在打開網(wǎng)頁的過程中,瀏覽器下邊的狀態(tài)欄中有一個進(jìn)度條顯示當(dāng)前網(wǎng)頁的載入進(jìn)度,這樣的狀態(tài)欄使界面顯得更加豐富多彩,并且非常實用。本例將設(shè)計一個帶進(jìn)度條的狀態(tài)欄,并且在程序運行當(dāng)中進(jìn)度條可以顯示其進(jìn)度,該實例運行結(jié)果如圖1.12所示。技術(shù)要點帶進(jìn)度條的狀態(tài)欄在別的開發(fā)環(huán)境下實現(xiàn)相對比較復(fù)雜,但在.NET 2.0中已經(jīng)提供了這個功能,只需將狀態(tài)欄的按鈕類型設(shè)置為ProgressBar即可。通過設(shè)置ProgressBar的S

34、tep 屬性指定一個特定值用以逐次遞增Value屬性的值,然后調(diào)用PerformStep方法來使該值遞增,就可以實現(xiàn)帶進(jìn)度條的狀態(tài)欄。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_12,默認(rèn)窗體為Form1。(2)從工具箱中為Form1窗體添加StatusStrip控件,并為狀態(tài)欄添加相應(yīng)的按鈕,在按鈕的下拉選項中選擇ProgressBar類型。(3)設(shè)置ToolStripProgressBar1的Value屬性、Maximum屬性和Step屬性。(4)主要程序代碼。 private void Form1_Load(object sender, EventArgs e) while (too

35、lStripProgressBar1.Value toolStripProgressBar1.Maximum) this.toolStripProgressBar1.PerformStep(); 舉一反三根據(jù)本實例,讀者可以開發(fā)以下功能。 在狀態(tài)欄中顯示時間。 改變進(jìn)度條的顏色。實例013 狀態(tài)欄中加入圖標(biāo)實例說明狀態(tài)欄已經(jīng)成為主界面必不可少的部分,狀態(tài)欄一般用于顯示程序狀態(tài)、當(dāng)前日期等,在狀態(tài)欄中添加一張圖片會使程序的主界面更有特色。運行本例,效果如圖1.13所示。技術(shù)要點狀態(tài)欄中加入圖標(biāo)在.NET 2.0中實現(xiàn)非常容易,只要將對應(yīng)狀態(tài)欄面板的Image屬性設(shè)置為要顯示的圖片即可。實現(xiàn)過程(

36、1)創(chuàng)建一個項目,將其命名為Ex01_13,默認(rèn)窗體為Form1。(2)從工具箱中為Form1窗體添加StatusStrip控件,并為狀態(tài)欄添加相應(yīng)的按鈕,設(shè)置添加的按鈕的Image屬性為要顯示的圖片。舉一反三根據(jù)本實例,讀者可以實現(xiàn)以下功能。 將其他控件放置在狀態(tài)欄中,如進(jìn)度條。 將其他控件放置在狀態(tài)欄中,如復(fù)選框。1.4 導(dǎo)航菜單界面對于一些應(yīng)用工具軟件,界面不但要求人性化、漂亮,還要突出界面功能、使用方便,這樣才能吸引用戶使用。本節(jié)主要介紹了常用的幾種菜單界面。實例014 OutLook界面實例說明程序主界面包括菜單欄、工具欄、狀態(tài)欄和樹狀視圖。OutLook界面美觀、友好,是一個很實用

37、的程序主界面,并且菜單欄和工具欄是可移動的。運行本例效果如圖1.14所示。圖1.14 Out Look界面技術(shù)要點一般程序的菜單欄和工具欄是不可移動的,但是只要將MenuStrip和ToolStrip控件的AllowItemRecorder屬性設(shè)為True就可以移動。在本例中使用MenuStrip控件制作菜單欄,使用ToolStrip制作工具欄,使用StatusStrip控件制作狀態(tài)欄。下面詳細(xì)介紹一下這幾個控件的屬性。1ToolStrip. AllowItemReorder屬性獲取或設(shè)置一個值,該值指示是否由ToolStrip類私自處理拖放和項重新排序。其結(jié)構(gòu)如下:public bool A

38、llowItemReorder get; set; l 屬性值:如果讓ToolStrip類自動處理拖放和項重新排序,為True;否則為False。默認(rèn)值為False。2MenuStrip. AllowItemReorder屬性獲取或設(shè)置一個值,該值指示是否由ToolStrip類私自處理拖放和項重新排序。其結(jié)構(gòu)如下:public bool AllowItemReorder get; set; l 屬性值:如果讓 MenuStrip類自動處理拖放和項重新排序,為True;否則為False。默認(rèn)值為False。3ToolStripItem.DisplayStyle屬性獲取或設(shè)置是否在ToolStri

39、pItem上顯示文本和圖像。public virtual ToolStripItemDisplayStyle DisplayStyle get; set; l 屬性值:ToolStripItemDisplayStyle值之一。默認(rèn)為ImageAndText。注意:在移動菜單欄和工具欄時,需要按住“Alt”鍵,同時用鼠標(biāo)進(jìn)行拖動。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_14,默認(rèn)窗體為Form1。(2)在Form1窗體上添加MenuStrip控件,用來設(shè)計主菜單;添加ToolStrip控件,用來設(shè)計工具欄;添加StatusStrip控件,用來設(shè)計狀態(tài)欄;添加ImageList控件和Tre

40、eVew控件,用來設(shè)計樹結(jié)構(gòu)。(3)分別為MenuStrip控件、ToolStrip控件、ImageList控件和TreeVew控件添加子項,將MenuStrip控件和ToolStrip控件的AllowItemRecorder屬性設(shè)為True,并將ToolStrip控件的每個子項的DisplayStyle屬性設(shè)置為“ImageAndText”。下面詳細(xì)介紹這幾個屬性。舉一反三根據(jù)本實例,讀者可以實現(xiàn)以下功能。 制作一個系統(tǒng)菜單。 制作一個導(dǎo)航界面。實例015 帶帶導(dǎo)航菜單的主界面實例說明在窗體界面中,菜單欄是不可缺少的重要組成部分。本實例是用其他的控件來制作一個摸擬菜單欄。運行程序,單擊窗體上

41、面的按鈕,將會在按鈕的下面顯示一個下拉列表。如圖1.15所示。技術(shù)要點該實例中主要使用Button控件和ListView控件制作導(dǎo)航菜單界面。在對ListView控件添加菜單信息時,必需在前面寫入添加語句,如Listview.Items.Add,否則添加的菜單信息將替換前一條信息。單擊相應(yīng)的按鈕時,應(yīng)首先對ListView控件進(jìn)行清空,否則在ListView控件中將繼續(xù)上一次的添加菜單信息。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_15,默認(rèn)窗體為Form1。(2)在Form1窗體上添加MenuStrip控件設(shè)計菜單欄;添加ToolStrip控件設(shè)計工具欄;添加SplitContaine

42、r控件、ImageList控件、3個Button控件和ListView控件用來制作左側(cè)的導(dǎo)航欄。(3)分別為MenuStrip控件、ToolStrip控件添加子項,將3個Button按鈕和ListView控件加入SqlitContainer1.panel的左側(cè)部分中。(4)主要程序代碼。加載窗體時,設(shè)置左側(cè)導(dǎo)航欄內(nèi)容的實現(xiàn)代碼如下: private void Form1_Load(object sender, EventArgs e) listView1.Clear(); listView1.LargeImageList = imageList1; listView1.Items.Add(設(shè)置

43、上下班時間, 設(shè)置上下班時間, 0); listView1.Items.Add(是否啟用短信提醒, 是否啟用短信提醒, 1); listView1.Items.Add(設(shè)置密碼, 設(shè)置密碼, 2); 添加打開按鈕的ListView控件顯示內(nèi)容的實現(xiàn)代碼如下: private void button2_Click_1(object sender, EventArgs e) listView1.Dock = DockStyle.None; button2.Dock = DockStyle.Top; button1.SendToBack(); button1.Dock = DockStyle.Top

44、; button3.Dock = DockStyle.Bottom; listView1.Dock = DockStyle.Bottom; listView1.Clear(); listView1.Items.Add(近期工作記錄, 近期工作記錄, 3); listView1.Items.Add(近期工作計劃, 近期工作計劃, 4); 添加編輯按鈕的ListView控件顯示內(nèi)容的實現(xiàn)代碼如下: private void button3_Click_1(object sender, EventArgs e) listView1.Dock = DockStyle.None; button3.Sen

45、dToBack(); 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)度報告, 編輯工作進(jìn)度報告, 5); listView1.Items.Add(編輯項目設(shè)計圖, 編輯項目設(shè)計圖, 6); 添加設(shè)置按鈕的ListView

46、控件顯示內(nèi)容的實現(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(); button3.Dock = DockStyle.Bottom; listView1.BringToFront(); listView1.Dock = DockStyle.Bottom; listView1.Clear(

47、); listView1.Items.Add(設(shè)置上下班時間, 設(shè)置上下班時間, 0); listView1.Items.Add(是否啟用短信提醒, 是否啟用短信提醒,1); listView1.Items.Add(設(shè)置密碼, 設(shè)置密碼, 2); 舉一反三根據(jù)本實例,讀者可以實現(xiàn)以下功能。 制作一個系統(tǒng)菜單。 制作大型系統(tǒng)的導(dǎo)航界面。實例016 圖形化的導(dǎo)航界面實例說明如果以按鈕來代替菜單的功能,會使界面更具有個性化。使操作者更易于操作。下面介紹按鈕顯示菜單的設(shè)計方法。運行本例,效果如圖1.16所示。圖1.16 圖形化的導(dǎo)航界面技術(shù)要點本實例主要通過設(shè)置Button控件的相應(yīng)屬性,確定其按鈕的

48、位置、文字、顯示樣式和要顯示的圖片等。下面對Button控件相應(yīng)屬性進(jìn)行詳細(xì)介紹。1Button. BackColor屬性獲取或設(shè)置控件的背景色,其方法結(jié)構(gòu)如下:public override Color BackColor get; set; l 屬性值:一個表示背景色的Color值。2Button. FlatStyle屬性獲取或設(shè)置按鈕控件的平面樣式外觀。其代碼如下:public FlatStyle FlatStyle get; set; l 屬性值:FlatStyle 值之一。默認(rèn)值為Standard。3Button. TextImageRelation屬性獲取或設(shè)置文本和圖像相互之間的

49、相對位置。其代碼如下:public TextImageRelation TextImageRelation get; set; l 屬性值:TextImageRelation 的值之一。默認(rèn)為Overlay。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_16,默認(rèn)窗體為Form1。(2)在Form1窗體上添加MenuStrip控件用來設(shè)計菜單欄,添加ToolStrip控件用來設(shè)計工具欄,添加Panel控件、Button控件用來設(shè)計圖形化的導(dǎo)航按鈕。(3)分別為MenuStrip控件、ToolStrip控件添加子項,并為Panel控件選擇背景圖片。(4)將Button控件的BackColor屬

50、性設(shè)為“Transparent”、FlatStyle屬性設(shè)置為“Flat”、TextImageRelation屬性設(shè)置為“ImageBeforeText”。(5)主要程序代碼。 private void button1_Click(object sender, EventArgs e) /使子項可見 button5.Visible = true; button6.Visible = true; button7.Visible = true; private void button2_Click(object sender, EventArgs e) /使子項可見 button8.Visible

51、 = true; button9.Visible = true; button10.Visible = true; private void button3_Click(object sender, EventArgs e) /使子項可見 button11.Visible = true; button12.Visible = true; button13.Visible = true; 舉一反三根據(jù)本實例,讀者可以實現(xiàn)以下功能。 制作動態(tài)的按鈕界面。 制作動態(tài)的圖片界面。1.5 特色程序界面現(xiàn)在有很多開發(fā)人員都將界面制作成不同類型的樣式,這樣可以使界面更加形象化。本節(jié)主要介紹了如何對程序界面進(jìn)

52、行特色化設(shè)計,如類似QQ、Windows XP的界面等。實例017 菜類QQ的程序界面實例說明一般程序都是以菜單欄和工具欄的形式調(diào)用其他功能模塊,如果以動態(tài)的類似QQ的程序界面來調(diào)用其他功能模塊,將會給用戶一種新鮮的感覺,使用戶對軟件更感興趣。實例運行結(jié)果如圖1.17所示。技術(shù)要點本例主要使用Button控件來完成布局,使用ListView控件來顯示有圖標(biāo)的功能菜單。ListView控件的常用屬性及說明如下。1ListView.Items屬性使用該屬性可直接訪問表示列表中項目的ListItem對象。其結(jié)構(gòu)如下:public ListViewItemCollection Items get; l

53、 屬性值: ListView.ListViewItemCollection包含ListView控件中所有的項。2ListView.Dock屬性獲取或設(shè)置哪些控件邊框停靠到其父控件并確定控件如何隨其父級一起調(diào)整大小。其結(jié)構(gòu)如下:public virtual DockStyle Dock get; set; l 屬性值:DockStyle值之一。默認(rèn)為None。實現(xiàn)過程(1)創(chuàng)建一個項目,將其命名為Ex01_17,默認(rèn)窗體為Form1。(2)在窗體上添加Button控件、ListView控件和ImageList控件。設(shè)置ListView控件的ImageList屬性為ImageList控件。(3)主

54、要程序代碼。添加“我的好友”選項內(nèi)容的實現(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!