關(guān)于我們
書單推薦
新書推薦
|
Visual C#.NET程序設(shè)計
本書以Visual Studio 2012為程序設(shè)計環(huán)境,采用案例方式對Visual C#.NET進行了全面闡述。全書共分為15章,系統(tǒng)地介紹Visual C#.NET語法基礎(chǔ)、Windows窗體與控件、三種基本結(jié)構(gòu)的程序設(shè)計、面向?qū)ο蟮某绦蛟O(shè)計基礎(chǔ)、面向?qū)ο蟮母呒壋绦蛟O(shè)計、程序調(diào)試與異常處理、界面設(shè)計、鍵盤和鼠標(biāo)操作、數(shù)據(jù)庫編程基礎(chǔ)、文件操作、ActiveX控件、部署Windows應(yīng)用程序等。
深入講解如何利用目前國際上最先進的開發(fā)工具和手段開發(fā)設(shè)計互動游戲。
全面闡述X3D的技術(shù)要點,并結(jié)合具體的實例深入淺出地進行引導(dǎo)和講解。 提供大量的編程實例源程序,都在計算機上經(jīng)過嚴(yán)格的調(diào)試并通過。
VisualC#.NET是Microsoft公司推出的.NET開發(fā)平臺上一種面向?qū)ο蟮木幊陶Z言。利用這種面向?qū)ο蟮目梢暬幊陶Z言,結(jié)合事件驅(qū)動的模塊設(shè)計,可以使程序設(shè)計變得高效快捷。VisualStudio2012是一套完整的工具,用于生成高性能的Windows桌面應(yīng)用程序和企業(yè)級Web應(yīng)用程序。
本書從教學(xué)實際需求出發(fā),結(jié)合初學(xué)者的認(rèn)知規(guī)律,由淺入深、循序漸進地介紹VisualC#.NET程序設(shè)計的相關(guān)知識。全書體系完整、例題豐富、可操作性強,所有的例題全部通過調(diào)試。 全書共分為15章,主要內(nèi)容包括程序設(shè)計概述與VisualStudio.NET簡介、VisualC#.NET語法基礎(chǔ)、Windows窗體與控件、順序結(jié)構(gòu)程序設(shè)計、選擇結(jié)構(gòu)程序設(shè)計、循環(huán)結(jié)構(gòu)程序設(shè)計、面向?qū)ο蟮某绦蛟O(shè)計基礎(chǔ)、面向?qū)ο蟮母呒壋绦蛟O(shè)計、程序調(diào)試和異常處理、界面設(shè)計、鍵盤和鼠標(biāo)操作、數(shù)據(jù)庫編程基礎(chǔ)、文件操作、ActiveX控件、部署Windows應(yīng)用程序。 本書具有如下特色: 。1)簡單易學(xué),本書在編排上盡量簡明扼要,不需要讀者具有任何程序設(shè)計方面的基礎(chǔ)知識。 。2)本書知識點與實例緊密結(jié)合,全書提供幾十個實例,讀者可以隨學(xué)隨用,輕松掌握相關(guān)知識。 。3)考慮到初學(xué)者的需要,本書實例中的操作均以明確的步驟和圖表來說明。 。4)本書每章的最后都給出了習(xí)題,可以進一步鞏固知識點和掌握編程技巧。 本書可作為高等院校相關(guān)專業(yè)的教材,完成教學(xué)的學(xué)時數(shù)為64學(xué)時(40學(xué)時講授,24學(xué)時上機)左右。 本書由劉秋香、王云、姜桂洪和劉樹淑編寫,編寫過程中融入了編者的教學(xué)和項目開發(fā)經(jīng)驗。劉秋香編寫第3~6、10、11、14、15章,王云編寫第7~9、13章,姜桂洪編寫第1、2章,劉樹淑編寫第12章,全書由劉秋香統(tǒng)稿。 此外,本書還配有輔導(dǎo)教材《VisualC#.NET程序設(shè)計實踐與題解》,內(nèi)容包括了本書所有習(xí)題的詳細(xì)參考答案、按本書章節(jié)順序配備的實驗指導(dǎo)、課程設(shè)計指導(dǎo)和模擬試題及答案。 由于時間倉促和編者水平有限,書中錯誤與紕漏之處在所難免,敬請讀者批評指正。歡迎大家發(fā)郵件到qxliu79@126.com與我們進行交流,以便重印或再版時改進。 作者 2017年3月
第1章 概述
1.1 程序設(shè)計基礎(chǔ) 1.1.1 程序設(shè)計方法 1.1.2 類和對象 1.2 了解Visual Studio.NET 1.2.1 .NET基本概念 1.2.2 Visual Studio.NET集成開發(fā)環(huán)境 l.3 創(chuàng)建簡單的C#程序 l.3.1 Visual C#.NET語言 1.3.2 應(yīng)用程序開發(fā)的一般步驟 1.3.3 三種常用的應(yīng)用程序 1.4 本章小結(jié) 習(xí)題 第2章 Visual C#.NET語法基礎(chǔ) 2.1 C#程序結(jié)構(gòu) 2.1.1 程序的組成要素 2.1.2 語法格式中的符號約定 2.2 基本數(shù)據(jù)類型 2.2.1 數(shù)值類型 2.2.2 字符類型 2.2.3 布爾類型和對象類型 2.3 變量與常量 2.3.1 變量 2.3.2 常量 2.3.3 類型轉(zhuǎn)換 2.4 運算符與表達式 2.4.1 運算符與表達式類型 2.4.2 運算符的優(yōu)先級 2.5 引用類型 2.5.1 類 2.5.2 接口 2.5.3 委托 2.5.4 數(shù)組 2.5.5 字符串 2.5.6 集合 2.6 值類型 2.6.1 枚舉 2.6.2 結(jié)構(gòu) 2.6.3 裝箱與拆箱 2.7 本章小結(jié) 習(xí)題 第3章 Windows窗體與控件 3.1 窗體 3.1.1 窗體的結(jié)構(gòu) 3.1.2 窗體的屬性 3.1.3 窗體的方法 3.1.4 窗體的事件 3.1.5 創(chuàng)建應(yīng)用程序的操作界面 3.2 幾種常用控件 3.2.1 標(biāo)簽 3.2.2 鏈接標(biāo)簽 3.2.3 文本框 3.2.4 按鈕 3.2.5 控件的命名規(guī)則 3.3 本章小結(jié) 習(xí)題 第4章 順序結(jié)構(gòu)程序設(shè)計 4.1 賦值語句 4.2 輸入與輸出 4.2.1 控制臺應(yīng)用程序的輸入與輸出 4.2.2 Windows應(yīng)用程序的輸入與輸出 4.3 消息框 4.4 圖片框與圖像列表 4.4.1 組件與控件 4.4.2 圖片框 4.4.3 圖像列表 4.5 本章小結(jié) 第5章 選擇結(jié)構(gòu)程序設(shè)計 第6章 循環(huán)結(jié)構(gòu)程序設(shè)計 第7章 面向?qū)ο蟮某绦蛟O(shè)計基礎(chǔ) 第8章 面向?qū)ο蟮母呒壋绦蛟O(shè)計 第9章 程序調(diào)試與異常處理 第10章 界面設(shè)計 第11章 鍵盤和鼠標(biāo)操作 第12章 數(shù)據(jù)庫編程基礎(chǔ) 第13章 文件操作 第14章 ActiveX控件 第15章 部署Windows應(yīng)用程序
Windows窗體與控件
Windows窗體是以.NET Framework為基礎(chǔ)的一個新平臺,主要用來開發(fā)Windows窗體應(yīng)用程序(簡稱Windows應(yīng)用程序)。一個Windows應(yīng)用程序通常由窗體對象和控件對象構(gòu)成,即使開發(fā)一個最簡單的Windows應(yīng)用程序,也必須了解窗體對象和控件對象的使用。 本章主要介紹Windows窗體的結(jié)構(gòu)和常用屬性、方法與事件,以及Label、LinkLabel、TextBox、Button幾種常用控件的使用。 3.1 窗體 窗體(Form)就是平常所說的窗口,各種控件對象必須建立在窗體上。窗體對象是Visual C#應(yīng)用程序的基本構(gòu)造模塊,是運行Windows應(yīng)用程序時與用戶交互操作的實際窗口。窗體有自己的屬性、方法和事件,用于控制其外觀和行為。 3.1.1 窗體的結(jié)構(gòu) 窗體是包含所有組成程序用戶界面的其他控件的對象。在創(chuàng)建Windows應(yīng)用程序項目時,Visual Studio 2012會自動提供一個窗體,其組成結(jié)構(gòu)如圖3.1所示。 圖3.1 窗體的結(jié)構(gòu) 窗體的結(jié)構(gòu)與Windows的標(biāo)準(zhǔn)窗口一樣,包含有控制菜單、標(biāo)題欄、控制按鈕、編輯區(qū)和窗口邊框。 1.控制菜單 控制菜單是Visualc#.NET固有的一個菜單,在程序運行時,單擊窗體左上角的圖標(biāo)將會顯示該菜單。一般包含還原、移動、大小、最小化、最大化、關(guān)閉等菜單項。 2.標(biāo)題欄 標(biāo)題欄顯示窗體的標(biāo)題,標(biāo)題一般為應(yīng)用程序的名稱。在創(chuàng)建Windows應(yīng)用程序時,Visual Studio 2012會將窗體的標(biāo)題欄設(shè)置為Form1。 3.控制按鈕 控制按鈕一般包括“最小化”按鈕、“最大化”/“還原”按鈕、“關(guān)閉”按鈕。在程序運行時,單擊“最小化”按鈕可以把窗體最小化到任務(wù)欄成為一個按鈕,單擊“關(guān)閉”按鈕則關(guān)閉窗體。單擊“最大化”按鈕可以使窗體擴大至整個屏幕,此時該按鈕變?yōu)椤斑原”按鈕,再次單擊該按鈕,可以使窗體恢復(fù)至初始狀態(tài)。 4.編輯區(qū) 窗體的編輯區(qū)占據(jù)了窗口的大部分,是容納控件對象的區(qū)域。在程序的設(shè)計模式下,可以編輯控件對象;在程序運行時,可以操作控件對象與程序進行交互。 5.窗口邊框 在程序運行時,當(dāng)鼠標(biāo)指針指向窗口邊框時,鼠標(biāo)指針會變?yōu)殡p向箭頭,拖動鼠標(biāo)指針可以改變窗體大小。在程序的設(shè)計模式下,當(dāng)鼠標(biāo)指針指向尺寸手柄時,鼠標(biāo)指針也會變?yōu)殡p向箭頭,拖動鼠標(biāo)指針可以改變窗體大小。 在創(chuàng)建Windows應(yīng)用程序時,Visual Studio 2012會將窗體文件命名為Form1.cs(圖3.2),建議編程人員將其改為能夠描述程序用途的名稱。 在“解決方案資源管理器”中選擇Form1.cs,在“屬性”窗口中顯示出相應(yīng)文件屬性,在“文件名”屬性框的右側(cè)區(qū)域輸入新的文件名即可。也可以直接在“解決方案資源管理器”中右擊Form1.cs,在彈出的快捷菜單中選擇“重命名”選項,輸入新的文件名即可。 將應(yīng)用程序的窗體文件名改為能夠描述程序用途的名稱,是一個良好的編程 習(xí)慣。 3.1.2 窗體的屬性 窗體有一些表現(xiàn)其特征的屬性,可以通過設(shè)置這些屬性控制窗體的外觀。窗體的主要屬性如表3.1所示。 表3.1 窗體的主要屬性 屬 性 說 明 AcceptButton 窗體的“確定”按鈕,當(dāng)用戶按 Enter 鍵時相當(dāng)于單擊了該按鈕 Backcolor 窗體的背景顏色 BackgroundImage 窗體的背景圖像 BackgroundImageLayout 窗體的背景圖像的布局方式 CancelButton 窗體的“取消”按鈕,當(dāng)用戶按 Esc 鍵時相當(dāng)于單擊了該按鈕 ControlBox 指示是否顯示窗體的控制菜單圖標(biāo)與控制按鈕 Enabled 指示是否啟用窗體 Font 窗體中控件的文本的默認(rèn)字體 ForeColor 窗體中控件的文本的默認(rèn)顏色 FormBorderStyle 窗體的邊框和標(biāo)題欄的外觀與行為 Icon 窗體的圖標(biāo) Location 窗體相對于屏幕左上角的位置 MaximizeBox 指示窗體右上角的標(biāo)題欄是否具有“最大化”/“還原”按鈕 MinimizeBox 指示窗體右上角的標(biāo)題欄是否具有“最小化”按鈕 Opacity 窗體的不透明度,默認(rèn)值為100%,表明完全不透明 ShowIcon 指示是否在窗體的標(biāo)題欄中顯示圖標(biāo) ShowInTaskbar 指示窗體是否在任務(wù)欄中顯示 Size 窗體的大。▽挾群透叨龋 StartPosition 窗體第一次出現(xiàn)時的位置 Text 窗體標(biāo)題欄上顯示的內(nèi)容 TopMost 指示該窗體是否處于其他窗體之上 WindowState 窗體的初始可視狀態(tài)(正常、最大化、最小化) 屬性值的設(shè)置有兩種方式:一種是在設(shè)計程序時,通過“屬性”窗口實現(xiàn);另一種是在運行程序時,通過代碼實現(xiàn)。 通過代碼設(shè)置對象屬性的一般格式是: 對象名.屬性名 = 屬性值; 對于代碼所在的窗體設(shè)置屬性的格式是: this.屬性名 = 屬性值; 3.1.3 窗體的方法 窗體具有一些方法,調(diào)用這些方法可以實現(xiàn)特定的操作。窗體常用的方法如表3.2 所示。 表3.2 窗體常用的方法 方 法 說 明 Close( ) 關(guān)閉窗體 Hide( ) 隱藏窗體 Show( ) 以非模式化的方式顯示窗體 ShowDialog( ) 以模式化的方式顯示窗體 關(guān)閉窗體與隱藏窗體的區(qū)別在于:關(guān)閉窗體是將窗體徹底銷毀,之后無法對窗體進行任何操作;隱藏窗體只是使窗體不顯示,可以使用Show或ShowDialog方法使窗體重新 顯示。 模式窗體與非模式窗體的區(qū)別在于:模式窗體在其關(guān)閉或隱藏前無法切換到該應(yīng)用程序的其他窗體;非模式窗體則可以在窗體之間隨意切換。 調(diào)用方法的一般格式為: 對象名.方法名([參數(shù)列表]) 如果要對調(diào)用語句所在的窗體調(diào)用方法,則用this關(guān)鍵字(表示當(dāng)前類的對象)代替對象名,即: this.方法名([參數(shù)列表]); 在面向?qū)ο蟮某绦蛟O(shè)計中,還有一種特殊的方法稱為靜態(tài)方法,這種類型的方法通過類名調(diào)用。調(diào)用的一般格式為: 類名.靜態(tài)方法名([參數(shù)列表]); 3.1.4 窗體的事件 窗體作為對象,能夠執(zhí)行方法并對事件做出響應(yīng)。窗體的常用事件如表3.3所示。 表3.3 窗體的常用事件 事 件 說 明 Load 當(dāng)用戶加載窗體時發(fā)生 Click 在窗體的空白位置,單擊鼠標(biāo)時發(fā)生 Activated 當(dāng)窗體被激活,變?yōu)榛顒哟绑w時發(fā)生 Deactivate 當(dāng)窗體失去焦點,變?yōu)椴换顒哟绑w時發(fā)生 FormClosing 當(dāng)用戶關(guān)閉窗體時,在關(guān)閉前發(fā)生 FormClosed 當(dāng)用戶關(guān)閉窗體時,在關(guān)閉后發(fā)生 如果要為窗體對象添加事件處理程序,首先在設(shè)計器窗口選中窗體對象,然后在“屬性”窗口的事件列表中找到相應(yīng)的事件并雙擊它,即可在代碼窗口看到該窗體的事件處理程序。以Form1的Load事件為例,其事件處理程序的格式為: private void Form1_Load(object sender, EventArgs e) { //程序代碼 } 其中,F(xiàn)orm1_Load是事件處理程序的名稱,所有對象的事件處理程序默認(rèn)名稱都是“對象名_事件名”;所有對象的事件處理程序都具有sender和e兩個參數(shù),參數(shù)sender代表事件的源,參數(shù)e代表與事件相關(guān)的數(shù)據(jù)。 3.1.5 創(chuàng)建應(yīng)用程序的操作界面 應(yīng)用程序的操作界面由各個對象組成,創(chuàng)建操作界面就是在窗體上繪制代表各個對象的控件。 1.添加控件 向窗體中添加一個控件的步驟如下(以按鈕為例)。 。1)單擊“工具箱”中的“公共控件”選項卡,出現(xiàn)各種控件。 (2)將鼠標(biāo)移到Button控件上單擊,然后移到中間的窗體,這時會看到鼠標(biāo)指針變成十字線的形狀。 。3)將十字線放在窗體的適當(dāng)位置,單擊窗體并按住鼠標(biāo)左鍵不放,拖動鼠標(biāo)畫出一個矩形。 。4)松開鼠標(biāo)左鍵,會看到一個Button控件被創(chuàng)建在窗體上,如圖3.3所示。 圖3.3 向窗體中添加Button控件 向窗體中添加控件的另一個簡單方法,是雙擊工具箱中的控件。這樣會在窗體的默認(rèn)位置(如果先選定了某個控件對象,應(yīng)是在該對象右下方位置,否則在窗體左上角)創(chuàng)建一個具有默認(rèn)尺寸的控件,然后可以將該控件移到窗體中的其他位置。 2.選擇控件 一個窗體上通常有多個控件,可以一次選擇一個或多個控件。 如果要選擇一個控件,單擊該控件,即可選中該控件。 如果要選擇多個控件,常用的方法有兩種。一種方法是先選擇第一個控件,然后按下Shift鍵(或Ctrl鍵)不放,依次單擊要選擇的其他控件,選擇完畢后松開鼠標(biāo)即可;另一種方法是在窗體的空白位置,單擊窗體并按住左鍵不放,拖動鼠標(biāo)畫出一個矩形,然后松開鼠標(biāo),則該矩形區(qū)域內(nèi)的控件都會被選中。 如果要撤銷被選擇的多個控件中的某個控件,只需按住Shift鍵(或Ctrl鍵)不放,單擊要撤銷的被選擇控件。 3.調(diào)整控件的尺寸和位置 調(diào)整控件的尺寸和位置,可以通過設(shè)置控件的相應(yīng)屬性來實現(xiàn)。但在對控件尺寸和位置要求的精確度不高的情況下,最快捷的方法是在窗體設(shè)計器中直接用鼠標(biāo)調(diào)整控件的尺寸和位置。 用鼠標(biāo)調(diào)整控件尺寸的步驟如下: 。1)單擊需要調(diào)整尺寸的控件,控件上出現(xiàn)8個尺寸手柄。 (2)將鼠標(biāo)指針定位到尺寸手柄上,當(dāng)指針變?yōu)殡p向箭頭時按下鼠標(biāo)左鍵,拖動該尺寸手柄直到控件達到所希望的大小為止。控件角上的4個尺寸手柄可以同時調(diào)整控件水平和垂直方向的大小,而邊上的4個尺寸手柄調(diào)整控件一個方向的大小。 。3)松開鼠標(biāo)左鍵。 也可以按Shift鍵加上箭頭鍵,來調(diào)整選定控件的尺寸。 用鼠標(biāo)調(diào)整控件位置的步驟如下: 。1)將鼠標(biāo)指針指向要移動的控件,當(dāng)鼠標(biāo)指針變?yōu)槭旨^時,按下鼠標(biāo)左鍵不放。 。2)用鼠標(biāo)把該控件拖動到新位置。 。3)松開鼠標(biāo)左鍵。 也可以通過鍵盤來調(diào)整選定控件的位置。每按一次箭頭鍵,控件移動一個像素;如果按Ctrl鍵加上箭頭鍵,控件每次移動一定的距離(多個像素),來與其他控件對齊。 4.對控件進行布局 對控件進行布局,可以通過“格式”菜單或“布局”工具欄實現(xiàn)!安季帧惫ぞ邫谌鐖D3.4所示。如果“布局”工具欄沒有顯示,可以通過“視圖”菜單下的“工具欄”→“布局”命令來顯示“布局”工具欄。如果工具欄上布局按鈕沒有全部顯示,可以通過最右側(cè)的下拉按鈕來勾選顯示。 圖3.4 “布局”工具欄 布局的內(nèi)容包括對齊、大小、間距、疊放次序等。當(dāng)多個控件被同時選中時,控件的所有布局功能都可用;只有一個控件被選中時,只有少數(shù)布局功能可用。 5.設(shè)置所有控件的Tab鍵順序索引 Tab鍵順序是指當(dāng)用戶按下Tab鍵時,焦點在控件間移動的順序。每個窗體都有自己的Tab鍵順序,每個控件在窗體上也都有唯一的Tab鍵順序索引。默認(rèn)狀態(tài)下,控件在窗體上的Tab鍵順序索引與建立控件的順序一致。如果要設(shè)置窗體上控件的Tab鍵順序索引,可以分別對每個控件設(shè)置其TabIndex屬性,也可以集中設(shè)置所有控件的Tab鍵順序索引。 要集中設(shè)置所有控件的Tab鍵順序索引,可以從“視圖”菜單中選擇“Tab鍵順序”命令。此時,窗體上每個控件的左上角都有一個藍底白字的小方框,方框中白色的數(shù)字(從0開始)就是控件的當(dāng)前Tab鍵順序索引。如果需要改變多個控件的Tab鍵順序索引,按照想設(shè)置的順序依次單擊各個控件,被單擊過的控件,其左上角小方框變?yōu)榘椎姿{字,所有控件都被單擊過之后,左上角小方框又變回藍底白字。“Tab鍵順序”命令是一個切換命令,因此設(shè)置好所有控件的Tab鍵順序索引之后,再次選擇“Tab鍵順序”命令即可結(jié)束Tab鍵順序索引的設(shè)置。 6.鎖定所有控件 可以把窗體及該窗體上的所有控件進行鎖定,鎖定之后,窗體的尺寸及控件的位置和尺寸就無法通過鼠標(biāo)或鍵盤操作來改變。鎖定控件可以防止已處于理想位置的控件因為不小心而被移動。 如果要進行鎖定操作,在窗體編輯區(qū)的任意位置右擊,從彈出的快捷菜單中選擇“鎖定控件”命令即可。本操作只鎖定選定窗體上的全部控件,不影響其他窗體上的控件。如果要調(diào)整鎖定控件的位置和尺寸,可以在“屬性”窗口中改變控件的Location和Size屬性!版i定控件”命令是一個切換命令,因此再次選擇“鎖定控件”命令即可解除鎖定。 3.2 幾種常用控件 下面介紹幾種最常用的基本控件:標(biāo)簽、鏈接標(biāo)簽、文本框和按鈕。 3.2.1 標(biāo)簽 標(biāo)簽(Label)控件的功能是顯示不能編輯的文本信息,一般用于在窗體上進行文字說明。標(biāo)簽有Name(名稱)、AutoSize(自動尺寸)、BackColor(背景色)、BorderStyle(邊框)、Enabled(可用)、Font(字體)、ForeColor(前景色)、Image(圖像)、ImageAlign(圖像對齊方式)、Location(位置)、Locked(鎖定)、Size(尺寸)、Text(文本)、TextAlign(文本排列)、Visible(可見)等屬性。 1.設(shè)置標(biāo)簽的名稱 任何對象都有名稱,Name屬性指示代碼中用來表示對象的名稱。要設(shè)置Label控件的名稱,首先選擇Label控件,然后在“屬性”窗口中設(shè)置Name屬性為某個標(biāo)識符即可。例如,有一個要顯示“學(xué)生姓名”文本的標(biāo)簽,可以設(shè)置其Name屬性為lblStuName。 2.設(shè)置標(biāo)簽的文本 在Label控件中顯示文本,使用Text屬性。首先要選擇Label控件,然后在“屬性”窗口中設(shè)置該屬性為某個字符串即可。 Label控件中的文本默認(rèn)的排列方式為靠上左對齊,通過設(shè)置TextAlign屬性可以改變排列方式。TextAlign屬性值是ContentAlignment枚舉類型,共有9個枚舉值,默認(rèn)值是TopLeft。如果設(shè)置TextAlign為TopCenter,排列方式為靠上居中。 3.設(shè)置標(biāo)簽的圖像 Image屬性用來設(shè)置在標(biāo)簽上顯示的圖像。當(dāng)在“屬性”窗口中設(shè)置該屬性時,單擊該屬性條,右端出現(xiàn)“…”按鈕后單擊它,會打開“選擇資源”對話框,如圖3.5所示。 ……
你還可能感興趣
我要評論
|