版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C#程序設(shè)計(jì)及應(yīng)用課程總體安排第1章至第6章C#程序設(shè)計(jì)(10課時(shí))第12章ADO.NET數(shù)據(jù)庫(kù)與實(shí)體數(shù)據(jù)模型(2課時(shí))ASP.NETMVC3框架及應(yīng)用(12課時(shí))JavaScript應(yīng)用(4課時(shí))第二部分網(wǎng)絡(luò)編程第一部分C#基礎(chǔ)第三部分設(shè)計(jì)模式
與WPF
面向?qū)ο笤O(shè)計(jì)模式DesignPattern(4課時(shí))第7章至第8章WPF框架及應(yīng)用(***)期末考核第一部分平時(shí)出勤+期末大作業(yè)40%第二部分期末考試60%期末大作業(yè)應(yīng)用.NETMVC三層架構(gòu)開發(fā)網(wǎng)站
要求:1.網(wǎng)站主題自定 i)至少應(yīng)用ADO數(shù)據(jù)庫(kù)設(shè)計(jì)與訪問(wèn)機(jī)制 ii)界面友好 iii)應(yīng)用JavaScript技術(shù)有加分
2.撰寫并于期末考試前提交實(shí)驗(yàn)報(bào)告 i)突出亮點(diǎn)(要求不高)
如:搭建VS2015環(huán)境+MVC6架構(gòu)+js技術(shù)
3.嚴(yán)禁抄襲教育部普通高等教育十二五國(guó)家級(jí)規(guī)劃教材
《C#程序設(shè)計(jì)及應(yīng)用教程》第3版
(包括簡(jiǎn)化版:《C#程序設(shè)計(jì)教程》第3版)
第1章C#代碼編寫基礎(chǔ)5Ch1C#代碼編寫基礎(chǔ)1.1C#語(yǔ)言和VS2012開發(fā)環(huán)境1.2C#項(xiàng)目的組織1.3控制臺(tái)應(yīng)用程序1.4Windows窗體應(yīng)用程序1.5WPF和Silverlight應(yīng)用程序1.6獨(dú)立應(yīng)用程序和瀏覽器運(yùn)行的應(yīng)用程序1.1C#語(yǔ)言和VS2012開發(fā)環(huán)境1.1.1C#語(yǔ)言和.NET框架1.1.2VS2012開發(fā)環(huán)境71.1.1C#語(yǔ)言和.NET框架C#(讀作“Csharp”)是一種完全面向?qū)ο蟮幕?NET框架的高級(jí)程序設(shè)計(jì)語(yǔ)言。專門為快速編寫在.NET框架上運(yùn)行的各種應(yīng)用程序而設(shè)計(jì)。語(yǔ)法簡(jiǎn)潔精心的面向?qū)ο笤O(shè)計(jì)與Web的緊密結(jié)合可靠的安全性與錯(cuò)誤處理可靠的版本控制技術(shù)靈活性和兼容性。1.1.1C#語(yǔ)言和.NET框架Microsoft.NET框架定義Microsoft.NET框架是生成、運(yùn)行.NET應(yīng)用程序和WebService的組件庫(kù)。即:運(yùn)行時(shí)環(huán)境(RuntimeEnvironment)包含公共語(yǔ)言運(yùn)行庫(kù)類庫(kù)類庫(kù)為開發(fā)和運(yùn)行.NET應(yīng)用程序提供了各種支持類庫(kù)是與公共語(yǔ)言運(yùn)行庫(kù)緊密集成的可重用的類的集合類庫(kù)中的每個(gè)類均按照功能劃分到不同的命名空間(namespace).NET框架4.5版本的類庫(kù)由5000左右個(gè)類組成,提供互聯(lián)網(wǎng)和企業(yè)級(jí)應(yīng)用開發(fā)所需要的各種功能。即:體現(xiàn)出了面向組件(對(duì)象)編程思想的強(qiáng)大生命力。1.1.1C#語(yǔ)言和.NET框架Microsoft.NET框架特點(diǎn):一種框架多種語(yǔ)言支持C#語(yǔ)言、VB.NET語(yǔ)言、C++和C++.NET語(yǔ)言、F#語(yǔ)言等高級(jí)語(yǔ)言注意用基于.NET框架開發(fā)的應(yīng)用程序,不論使用的是哪種高級(jí)語(yǔ)言,均必須在安裝了.NET框架的計(jì)算機(jī)上才能運(yùn)行。這種架構(gòu)與Java應(yīng)用程序必須由Java虛擬機(jī)支持相似。思考如何實(shí)現(xiàn)一種框架多種語(yǔ)言?1.1.1C#語(yǔ)言和.NET框架Microsoft.NET框架--公共語(yǔ)言運(yùn)行庫(kù)公共語(yǔ)言運(yùn)行庫(kù)是.NET框架的基礎(chǔ),為多種編程語(yǔ)言提供統(tǒng)一的運(yùn)行環(huán)境。托管代碼以運(yùn)行庫(kù)為目標(biāo)的代碼稱為托管代碼,例如C#。非托管代碼不以運(yùn)行庫(kù)為目標(biāo)的代碼稱為非托管代碼,例如C++。1.1.1C#語(yǔ)言和.NET框架Microsoft.NET框架--公共語(yǔ)言運(yùn)行庫(kù)中間語(yǔ)言IL使用.NET框架提供的編譯器可直接將源程序編譯為.EXE或者.DLL文件,此時(shí)編譯出來(lái)的程序代碼并不是CPU能直接執(zhí)行的機(jī)器代碼,而是一種中間語(yǔ)言IL代碼。使用中間語(yǔ)言代碼的優(yōu)點(diǎn)可以實(shí)現(xiàn)平臺(tái)無(wú)關(guān)性,即與特定的CPU無(wú)關(guān);只要能將某種語(yǔ)言編譯為IL代碼,就可以實(shí)現(xiàn)這些語(yǔ)言之間的交互操作。1.1.1C#語(yǔ)言和.NET框架即時(shí)編譯執(zhí)行時(shí)CLR會(huì)將需要的IL代碼裝入內(nèi)存,通過(guò)JIT編譯器(Just-In-Time)將其編譯成所用平臺(tái)的CPU可直接執(zhí)行的機(jī)器代碼。即時(shí)編譯并不是一次把整個(gè)應(yīng)用程序全部編譯完,而是只編譯它調(diào)用的那部分代碼所在的模塊。為什么要采用即時(shí)編譯JIT編譯器可以有效地提高系統(tǒng)的性能??衫矛F(xiàn)有CPU和GPU硬件提供的功能即時(shí)生成優(yōu)化后的可執(zhí)行代碼。1.1.2VS2012開發(fā)環(huán)境VS2012開發(fā)環(huán)境1.安裝VS2012速成版(ExpressEdition)--免費(fèi)專業(yè)版(ProfessionalEdition)旗艦版(UltimateEdition)--本書調(diào)試用的環(huán)境2.安裝VS2012SP33.配置VS2012開發(fā)環(huán)境的界面風(fēng)格(可選)深色淺色1.1.2VS2012開發(fā)環(huán)境1.2C#項(xiàng)目的組織1.2.1命名空間1.2.2using關(guān)鍵字1.2.3Main方法1.2.4代碼注釋1.2.5通過(guò)斷點(diǎn)調(diào)試C#程序1.2.6C#代碼編寫命名規(guī)范1.2C#項(xiàng)目的組織C#源文件的擴(kuò)展名為.cs,如Welcome.cs。一個(gè)C#源文件中一般只包含一個(gè)類【建議這樣做】,但也可以包含多個(gè)類,文件名和類名可以相同【建議相同】,也可以不同【包含多個(gè)類時(shí)一般不和類名相同】。調(diào)試環(huán)境下:項(xiàng)目編譯后生成的文件默認(rèn)保存在項(xiàng)目的bin\Debug文件夾下。發(fā)布時(shí)應(yīng)該改為bin\Release。1.2.1命名空間命名空間是對(duì)類的一種劃分,類似于目錄和文件的劃分形式。命令空間是一種邏輯劃分,而非物理上的存儲(chǔ)分類。命名空間命名空間命名空間命名空間命名空間命名空間命名空間命名空間類類類………………1.2.1命名空間靜態(tài)方法調(diào)用命名空間.命名空間….命名空間.類名.靜態(tài)方法名(參數(shù),…);例如:System.Console.WritleLine(”HelloWorld!”);實(shí)例方法調(diào)用①實(shí)例化:命名空間…命名空間.類名<實(shí)例名>=new類名稱(參數(shù),…)②方法調(diào)用:實(shí)例名.方法名(參數(shù)…)例如:System.Text.StringBuilderb=newStringBuilder(); b.Append(“abcd”);
1.2.2using關(guān)鍵字using關(guān)鍵字指定引用的命名空間,例如:usingSystem.Windows.Forms;簡(jiǎn)化命名空間的層次表達(dá)形式,例如:usingWinForm=System.Windows.Form;作為語(yǔ)句,定義一個(gè)范圍。程序執(zhí)行到“}”時(shí),就會(huì)自動(dòng)釋放font1對(duì)象例如:Fontfont1=newFont("Arial",10.0f);using(font1){…}1.2.3Main方法Main方法要求應(yīng)用程序入口方法名規(guī)定為Main。必須聲明為publicstatic返回值只能是void或者int??梢苑旁谌魏我粋€(gè)類中。1.2.4代碼注釋常規(guī)注釋方式單行注釋:以“//”符號(hào)開始,任何位于“//”符號(hào)后的本行文字都視為注釋塊注釋:以“/*”開始,“*/”結(jié)束。任何介于這對(duì)符號(hào)之間的文字塊都視為注釋。XML注釋方式“///”符號(hào)是一種XML注釋方式在用戶自定義的類型如類、接口、枚舉等或者在其成員上方,或者命名空間的聲明上方連續(xù)鍵入3個(gè)斜杠字符可以在鍵入方法名和參數(shù)的過(guò)程中看到用XML注釋的智能提示。1.2.4代碼注釋#region注釋方式#region預(yù)處理指令用于給程序段添加邏輯功能注釋,讓某一部分代碼實(shí)現(xiàn)的邏輯功能看起來(lái)更清晰。被包圍的代碼還可以折疊和展開。舉例:#region程序入口staticvoidMain(string[]args){...}#endregion1.2.5通過(guò)斷點(diǎn)調(diào)試C#程序斷點(diǎn)調(diào)試是編程人員必備素質(zhì)?。。。±脭帱c(diǎn)查找程序的邏輯錯(cuò)誤,是常用的手段之一1.設(shè)置和取消斷點(diǎn)單擊某代碼行左邊的灰色區(qū)域。單擊設(shè)置,再次單擊取消設(shè)置。鼠標(biāo)右擊某代碼行,選擇【斷點(diǎn)】【插入斷點(diǎn)】或者【刪除斷點(diǎn)】。單擊某代碼行,直接按<F9>鍵進(jìn)行設(shè)置或取消設(shè)置。2.利用斷點(diǎn)調(diào)試程序按<F5>執(zhí)行到斷<Shift>+<F5>鍵終止調(diào)試。<F10>逐過(guò)程<F11>逐語(yǔ)句1.2.6C#代碼編寫命名規(guī)范類名、方法名和屬性名全部使用Pascal命名法,即所有單詞連寫,每個(gè)單詞的第一個(gè)字母大寫,其他字母小寫。例如HelloWorld、GetData等。變量名、一般對(duì)象名、控件對(duì)象名以及方法的參數(shù)名全部使用Camel命名法,即所有單詞連寫,但是第一個(gè)單詞全部小寫,其他每個(gè)單詞的第一個(gè)字母大寫。例如:userName、userAge等。如果是私有字段,為了和具有相同名字的屬性名區(qū)分,私有的字段名也可以用下劃線(“_”)開頭,例如屬性名為Age,私有字段名可以為age或者_(dá)Age。1.3控制臺(tái)應(yīng)用程序1.3.1控制臺(tái)應(yīng)用程序的輸入與輸出1.3.2在控制臺(tái)應(yīng)用程序中輸出格式化數(shù)據(jù)1.3.1控制臺(tái)應(yīng)用程序的輸入與輸出控制臺(tái)輸出Console.Write();把各種類型的數(shù)據(jù)或?qū)ο筠D(zhuǎn)換成字符串寫入標(biāo)準(zhǔn)輸出流Console.WriteLine();與Write的區(qū)別:自動(dòng)輸出回車、換行符(“\r\n”);例如intage=18;strings="abc";Console.Write(age);Console.Write(s);Console.WriteLine(age);Console.WriteLine(s);1.3.1控制臺(tái)應(yīng)用程序的輸入與輸出控制臺(tái)輸入Console.ReadKey();標(biāo)準(zhǔn)輸入流讀取用戶按下的字符或功能鍵。例如:ConsoleKeyInfoc=Console.ReadKey();Console.ReadLine();從標(biāo)準(zhǔn)輸入流讀取一行字符。例如:
strings=Console.ReadLine();1.3.1控制臺(tái)應(yīng)用程序的輸入與輸出快速鍵入C#代碼方法1:連續(xù)按兩次<Tab>鍵方法2:在要插入代碼段的位置處,用鼠標(biāo)右擊選擇“外側(cè)代碼”的辦法插入代碼段。例如:鍵入“for”三個(gè)字母后,連續(xù)按兩次<Tab>鍵,觀察系統(tǒng)自動(dòng)插入的代碼段。1.3.2在控制臺(tái)應(yīng)用程序中輸出格式化數(shù)據(jù)在Console.Write和Console.WriteLine方法中,可直接定義數(shù)據(jù)轉(zhuǎn)換為字符串后的輸出格式使用格式化表示時(shí),用“{”和“}”將格式與其他輸出字符區(qū)分開Console.WriteLine("格式化表示",參數(shù)序列);Console.Write("格式化表示",參數(shù)序列);例如:intx=10,y=20,z=30;//輸出10+20+30=60Console.WriteLine("{0}+{1}+{2}={3}",x,y,z,x+y+z);//輸出60=20+30+10Console.WriteLine("{3}={1}+{2}+{0}",x,y,z,x+y+z);1.3.2在控制臺(tái)應(yīng)用程序中輸出格式化數(shù)據(jù)格式化輸出形式 {N[,M][:格式碼]}N—從零開始的整數(shù),表示第幾個(gè)參數(shù)。例如{0}表示x,{1}表示y,{2}表示zM—可選參數(shù),整數(shù),表示最小長(zhǎng)度。若參數(shù)N的長(zhǎng)度小于M,就用空格填充;如果M為負(fù),則左對(duì)齊;如果M為正,則右對(duì)齊;例如:{1,5}表示將參數(shù)y的值轉(zhuǎn)換為字符串后按5位右對(duì)齊輸出1.3.2在控制臺(tái)應(yīng)用程序中輸出格式化數(shù)據(jù)格式化輸出形式格式碼—可選參數(shù),格式化代碼樣式。格式碼:有默認(rèn)位數(shù),可用整數(shù)指定位數(shù);
C—貨幣形式、D—十進(jìn)制形式、F—固定精度形式、E—指數(shù)形式、N—用逗號(hào)分隔千位數(shù)字、P—百分比形式、X—十六進(jìn)制形式占位符:0—強(qiáng)制占位符、#—有效占位符例如:{1:00000}輸出結(jié)果為00020,即將參數(shù)y按5位數(shù)字輸出,不夠5位則在左邊補(bǔ)零,超過(guò)5位按實(shí)際位數(shù)輸出注意兩種特殊用法:如果恰好在格式中也要使用大括號(hào),可以用連續(xù)的兩個(gè)大括號(hào)表示一個(gè)大括號(hào),例如:”{{、}}”如果希望格式中的字符或字符串包含與格式符相同的字符,但是又希望讓其原樣顯示時(shí),可以用單引號(hào)將其括起來(lái)。1.3.2在控制臺(tái)應(yīng)用程序中輸出格式化數(shù)據(jù)利用string.Format方法格式化字符串先用String.Format方法拼接字符串,再用WriteLine方法輸出;既可以在控制臺(tái)應(yīng)用程序中使用,也可以在其他應(yīng)用程序中(WinForm、WPF等)使用。例如:inti=123;//d6表示不夠6位左邊補(bǔ)零strings=string.Format("{0:d6}",i); Console.WriteLine(s);//結(jié)果為0001231.3.2在控制臺(tái)應(yīng)用程序中輸出格式化數(shù)據(jù)3.利用ToString方法格式化字符串如果是一個(gè)變量,使用ToString方法更簡(jiǎn)單。Console、WinForm、WPF、Silverlight、ASP.NET等應(yīng)用程序都可以利用string.Format方法或者ToString方法定義數(shù)據(jù)的格式。例如:intn1=12;strings1=n1.ToString("X4");//X格式表示用十六進(jìn)制輸出。結(jié)果為:000Cstrings2=n1.ToString("d5");//結(jié)果:000124.控制臺(tái)應(yīng)用程序示例【例1-1】演示控制臺(tái)應(yīng)用程序的基本設(shè)計(jì)方法,以及如何在一個(gè)解決方案中包含多個(gè)應(yīng)用程序項(xiàng)目。該例子的功能是讓用戶從鍵盤輸入任意兩個(gè)整數(shù)x和y,程序自動(dòng)計(jì)算這兩個(gè)數(shù)的乘積(z=x*y),并將計(jì)算結(jié)果z在屏幕上顯示出來(lái)這個(gè)例子雖然簡(jiǎn)單,但卻能讓我們快速了解基本的應(yīng)用程序編程思路和方法。(1)運(yùn)行VS2012,單擊【新建項(xiàng)目】按鈕,在彈出的窗體中,選擇【控制臺(tái)應(yīng)用程序】模板。將【名稱】改為ConsoleExamples,將【位置】改為希望存放的文件夾位置(截屏為D:\V3CSharp\ch01),將【解決方案名稱】改為ch01。單擊【確定】按鈕。4.控制臺(tái)應(yīng)用程序示例(2)觀察【解決方案資源管理器】中的項(xiàng)目組織,此時(shí)會(huì)發(fā)現(xiàn)在ch01解決方案下有一個(gè)ConsoleExamples項(xiàng)目。(3)將Program.cs的Main方法改為下面的代碼。4.控制臺(tái)應(yīng)用程序示例staticvoidMain(string[]args){Console.Write("請(qǐng)輸入x和y(例如12,15),然后按回車鍵:");strings=Console.ReadLine();string[]a=s.Split(',');intx=int.Parse(a[0]);inty=int.Parse(a[1]);intz=x*y;Console.WriteLine("x*y={0}",z);Console.WriteLine("請(qǐng)按任意鍵結(jié)束程序。");Console.ReadKey();}(4)按<F5>鍵調(diào)試運(yùn)行。效果如下:(5)按任意鍵結(jié)束程序運(yùn)行,然后退出VS2012開發(fā)環(huán)境,觀察解決方案文件夾下生成的所有文件和子目錄,以及子目錄下包含的文件。此時(shí)可發(fā)現(xiàn)在ch01目錄下,有一個(gè)ch01.sln文件,以后需要再次打開這個(gè)解決方案時(shí),直接雙擊該文件即可。4.控制臺(tái)應(yīng)用程序示例(6)觀察bin\Debug子目錄下的文件,可發(fā)現(xiàn)在該文件夾下有一個(gè)ConsoleExamples.exe文件,這就是項(xiàng)目生成的可執(zhí)行文件。(7)雙擊該文件可直接運(yùn)行該程序,其他的文件不需要。4.控制臺(tái)應(yīng)用程序示例4.控制臺(tái)應(yīng)用程序示例下面我們將其改為在DLL(動(dòng)態(tài)鏈接庫(kù))文件中實(shí)現(xiàn)運(yùn)算。(8)雙擊ch01.sln打開解決方案。(9)在【解決方案資源管理器】中,鼠標(biāo)右擊解決方案名,選擇【添加】【新建項(xiàng)目】命令,在彈出的窗體中,選擇【類庫(kù)】模板,將【名稱】改為ClassLibraryExample,然后單擊【確定】按鈕。4.控制臺(tái)應(yīng)用程序示例(10)在“解決方案資源管理器”中,將Class1.cs改名為MyClass.cs,然后將代碼改為下面的內(nèi)容。4.控制臺(tái)應(yīng)用程序示例(11)鼠標(biāo)右擊解決方案名,選擇“重新生成解決方案”,此時(shí)在ClassLibraryExample項(xiàng)目的bin\Debug文件夾下即生成了ClassLibraryExample.dll文件。4.控制臺(tái)應(yīng)用程序示例(12)在【解決方案資源管理器】中,鼠標(biāo)右擊ConsoleExamples項(xiàng)目,在快捷菜單中選擇【項(xiàng)目依賴項(xiàng)】命令,在彈出的對(duì)話框中,勾選ClassLibraryExample選項(xiàng),單擊【確定】按鈕。4.控制臺(tái)應(yīng)用程序示例(13)鼠標(biāo)右擊ConsoleExamples項(xiàng)目的【引用】,選擇【添加引用】命令,在彈出的對(duì)話框中,勾選ClassLibraryExample選項(xiàng),單擊【確定】按鈕。4.控制臺(tái)應(yīng)用程序示例(14)將Main方法的intz=x*y;用下面的語(yǔ)句替換。intz=ClassLibraryExample.MyClass.Multiplication(x,y);(15)按<F5>鍵運(yùn)行應(yīng)用程序,觀察運(yùn)行結(jié)果。(一樣嗎?)4.控制臺(tái)應(yīng)用程序示例(16)再次觀察ConsoleExamples項(xiàng)目目錄下的bin\Debug子目錄下的文件,此時(shí)會(huì)發(fā)現(xiàn)該子目錄下既有ConsoleExamples.exe文件,又有ClassLibraryExample.dll文件。到此,我們了解了用C#調(diào)用dll文件功能的基本用法。請(qǐng)同學(xué)們體會(huì)和比較下Java與C#語(yǔ)言在編程環(huán)境、封裝和調(diào)用類包等方面有哪些異同。1.4Windows窗體應(yīng)用程序(自學(xué))1.4.1Windows窗體應(yīng)用程序的特點(diǎn)1.4.2Windows窗體應(yīng)用程序的啟動(dòng)和退出1.4.3窗體的創(chuàng)建、顯示、隱藏和關(guān)閉1.4.4消息框(MessageBox)1.4.5利用WinForm控件實(shí)現(xiàn)輸入和輸出1.4.6錯(cuò)誤提示(ErrorProvider)1.4.1Windows窗體應(yīng)用程序的特點(diǎn)Windows窗體應(yīng)用程序是在WindowsXP操作系統(tǒng)上開發(fā)客戶端應(yīng)用程序的主要開發(fā)模型,這種開發(fā)模型利用GDI+和操作系統(tǒng)交互。Windows窗體應(yīng)用程序現(xiàn)狀WinForm已有多年的歷史,其技術(shù)高度成熟,如果開發(fā)不包含動(dòng)畫、多媒體(音頻視頻)以及三維圖形等高級(jí)功能的程序,使用WinForm應(yīng)用程序可獲得比較高的開發(fā)效率和運(yùn)行性能。。1.4.1Windows窗體應(yīng)用程序的特點(diǎn)GDI(GraphicsDeviceInterface,圖形設(shè)備接口)是Windows2000操作系統(tǒng)內(nèi)核提供的功能,提供二維圖形和文本處理功能以及功能有限的圖像處理功能沒(méi)有三維圖形和音頻視頻等多媒體處理功能。隨著Windows2000操作系統(tǒng)退出歷史舞臺(tái),使用GDI技術(shù)的開發(fā)人員也越來(lái)越少。GDI+是WindowsXP操作系統(tǒng)內(nèi)核提供的功能,在GDI的基礎(chǔ)上增加了一套基于.NET框架的編程接口,從而讓我們能使用C#快速實(shí)現(xiàn)窗體界面繪制和繪圖功能。GDI+沒(méi)有GPU硬件加速功能,所有圖形圖像處理功能全部都是靠軟件來(lái)實(shí)現(xiàn)。1.4.2Windows窗體應(yīng)用程序的啟動(dòng)和退出窗體應(yīng)用程序的啟動(dòng)和停止使用Application類提供的靜態(tài)方法來(lái)啟動(dòng)、停止應(yīng)用程序Run方法:用于在當(dāng)前線程上啟動(dòng)應(yīng)用程序消息循環(huán),并顯示窗體。Exit方法:用于停止消息循環(huán)。觀察Program.cs中的Main方法。1.4.3窗體的創(chuàng)建、顯示、隱藏和關(guān)閉如何在代碼中打開一個(gè)新窗體Form2fm=newForm2();fm.Show();
或者Form2fm=newForm2();fm.ShowDialog();觀察Show與ShowDialog之間的區(qū)別如何在代碼中隱藏一個(gè)窗體“無(wú)模式”窗口:調(diào)用Hide方法隱藏。this.Hide();隱藏其他窗體可以調(diào)用實(shí)例名的Hide方法,例如:myForm.Hide();窗體隱藏后,其實(shí)例仍在,可重新調(diào)用Show方法再次顯示1.4.3窗體的創(chuàng)建、顯示、隱藏和關(guān)閉如何在代碼中關(guān)閉一個(gè)窗體用法1:fm.Close();關(guān)閉其他窗體用法2:this.Close();關(guān)閉當(dāng)前打開的窗體用法3:Application.Exit();不論當(dāng)前窗體是哪個(gè)窗體,只要調(diào)用Application的Exit方法,整個(gè)應(yīng)用程序就會(huì)立即退出1.4.3窗體的創(chuàng)建、顯示、隱藏和關(guān)閉4.注冊(cè)事件事件是響應(yīng)用戶操作的一種技術(shù)。雙擊窗體設(shè)計(jì)界面上的某控件,默認(rèn)會(huì)自動(dòng)注冊(cè)最常用的事件(例如按鈕的最常用事件是Click)。選擇某個(gè)控件,單擊【屬性】窗口中的“雷電”符號(hào),可看到該控件對(duì)應(yīng)的各種事件,雙擊指定的事件,可注冊(cè)對(duì)應(yīng)的事件。在代碼中通過(guò)“+=”注冊(cè)指定的事件,通過(guò)“-=”注銷指定的事件。當(dāng)熟悉代碼后,這種辦法是最靈活也是方便的辦法。1.4.3窗體的創(chuàng)建、顯示、隱藏和關(guān)閉【例1-2】演示W(wǎng)indows窗體應(yīng)用程序的基本用法。1.4.4消息框(MessageBox)消息框顯示消息對(duì)話框可通過(guò)檢查Show方法返回的值來(lái)確定用戶單擊了哪個(gè)按鈕注意雖然用Show方法顯示消息框,但由于它本身是模式窗口,所以在消息框關(guān)閉前,不會(huì)執(zhí)行它后面的代碼。1.4.4消息框(MessageBox)MessageBox的Show方法提供了多種重載形式,常用有: publicstaticDialogResultShow(stringtext)publicstaticDialogResultShow(stringtext,stringcaption,MessageBoxButtonsbuttons,MessageBoxIconicon)例如:MessageBox.Show("輸入的內(nèi)容不正確");消息框關(guān)閉后,返回值是DialogResult枚舉值之一。枚舉值有:None(消息框未返回值)、OK、Cancel、Yes和No1.4.4消息框(MessageBox)Text:在消息框中顯示的文本。caption:在消息框的標(biāo)題欄中顯示的文本。buttons:MessageBoxButtons枚舉值之一,指定在消息框中顯示哪些按鈕。枚舉值有OK、OKCancel、YesNoCancel和YesNo。icon:MessageBoxIcon枚舉值之一,指定在消息框中顯示哪個(gè)圖標(biāo)。枚舉值有None(不顯示圖標(biāo))、Hand(手形)、Question(問(wèn)號(hào))...1.4.4消息框(MessageBox)【例1-3】演示消息框的基本用法。1.4.5利用WinForm控件實(shí)現(xiàn)輸入和輸出1.分組(Panel、GroupBox)Panel控件和GroupBox控件均用于對(duì)控件進(jìn)行分組不同之處:Panel控件不能顯示標(biāo)題但可以有滾動(dòng)條,而GroupBox控件可顯示標(biāo)題但不能顯示滾動(dòng)條。2.標(biāo)簽(Label)和文本框(TextBox)Label控件用于提供控件或窗體的描述性文字Text屬性TextBox控件允許用戶在應(yīng)用程序中輸入或編輯文本ReadOnly屬性、Name屬性、PasswordChar、Text1.4.5利用WinForm控件實(shí)現(xiàn)輸入和輸出【例1-4】演示TextBox控件的基本用法。1.4.5利用WinForm控件實(shí)現(xiàn)輸入和輸出3.復(fù)選框(CheckBox)和單選按鈕(RadioButton)CheckBox選擇一個(gè)或者多個(gè)選項(xiàng),每個(gè)選項(xiàng)一般用選中和非選中兩種狀態(tài)表示。RadioButton一組RadioButton按鈕中只能有一個(gè)處于選中狀態(tài)。一旦某一項(xiàng)被選中,同組中其他RadioButton按鈕的選中狀態(tài)將自動(dòng)清除。1.4.5利用WinForm控件實(shí)現(xiàn)輸入和輸出【例1-5】演示CheckBox控件和RadioButton控件的基本用法。1.4.5利用WinForm控件實(shí)現(xiàn)輸入和輸出列表(ListBox)和下拉列表(ComboBox)ListBox(列表框)控件和ComboBox(下拉框)控件均用于顯示一組條目,以便操作者從中選擇一條或者多條信息,并對(duì)其進(jìn)行相應(yīng)的處理兩個(gè)控件的用法相似。常用屬性和方法:SelectedIndex屬性:獲取或設(shè)置當(dāng)前選擇項(xiàng)的索引序號(hào)SelectedItem屬性:獲取或設(shè)置當(dāng)前選擇項(xiàng)的值。Count屬性:獲取項(xiàng)的個(gè)數(shù)。Items.Add方法:添加項(xiàng)。Items.Clear方法:清除所有項(xiàng)。Items.RemoveAt方法:刪除指定的項(xiàng)。1.4.6錯(cuò)誤提示(ErrorProvider)ErrorProvider組件一般用于提示用戶輸入的信息有錯(cuò)誤,利用該組件可在指定的控件(如文本框)旁顯示一個(gè)閃爍的錯(cuò)誤圖標(biāo),當(dāng)用戶將鼠標(biāo)指針?lè)旁陂W爍的圖標(biāo)上時(shí),會(huì)自動(dòng)顯示錯(cuò)誤信息。【例1-7】演示ErrorProvider組件的基本用法。1.5WPF和Silverlight應(yīng)用程序1.5.1WPF應(yīng)用程序1.5.2Silverlight應(yīng)用程序1.5.3其他應(yīng)用程序模板1.5WPF和Silverlight應(yīng)用程序WPF高效率運(yùn)行動(dòng)畫、三維圖形和音頻視頻等多媒體功能WinForm應(yīng)用程序只能靠軟件來(lái)實(shí)現(xiàn),無(wú)法直接利用GPU的硬件加速功能WPF和Silverlight最適用于開發(fā)在Windows7、Windows8操作系統(tǒng)上運(yùn)行的應(yīng)用程序。WPF適用于C/S客戶端開發(fā),Silverlight適用于手機(jī)和Web富客戶端開發(fā)。WPF利用操作系統(tǒng)底層支持的DirectX實(shí)現(xiàn)硬件加速。1.5.1WPF應(yīng)用程序1.DirectX簡(jiǎn)介1995年,DirectX1.0誕生它提供了直接讀取圖形硬件(顯卡)的功能,但該版本還不包括3D功能。當(dāng)時(shí)流行的編程接口是OpenGL,DirectX1.0剛推出時(shí),由于眾多的硬件廠家均不支持DirectX,該版本基本沒(méi)有獲得成功。1996年,微軟推出DirectX2.0。該版本在DirectX中加入了Direct3D,用于訪問(wèn)3D硬件加速的高級(jí)圖形功能,通過(guò)提供通用的COM編程接口使硬件和設(shè)計(jì)完全分離。1.5.1WPF應(yīng)用程序1.DirectX簡(jiǎn)介1997年,微軟推出DirectX3.0。此時(shí)3D游戲逐漸深入人心不少顯卡生產(chǎn)廠家開始支持DirectX,并陸續(xù)推出3D圖形加速卡。隨后微軟直接推出DirectX5.0(沒(méi)有出現(xiàn)4.0版)5.0版的3D功能日益強(qiáng)大。使游戲中的3D技術(shù)逐漸走入成熟階段。此時(shí)DirectX也得到了大多數(shù)知名廠商的認(rèn)可和強(qiáng)力支持。2001年,微軟發(fā)布了DirectX8.02002年,微軟發(fā)布DirectX9.02006年,微軟推出DirectX10.0版1.5.1WPF應(yīng)用程序1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024工程項(xiàng)目協(xié)議條款與監(jiān)管辦法
- SaaS平臺(tái)定制技術(shù)開發(fā)服務(wù)協(xié)議
- 2023-2024學(xué)年重慶市永川北山中學(xué)高三二輪檢測(cè)試題(二模)數(shù)學(xué)試題試卷
- 2024定制出租車輛運(yùn)營(yíng)協(xié)議典范
- 2024年履約擔(dān)保協(xié)議范本下載指南
- 2024鍋爐維修工程協(xié)議格式
- 2024年度汽車租賃協(xié)議格式
- 2024商業(yè)秘密保護(hù)競(jìng)業(yè)限制協(xié)議樣本
- 2024年倉(cāng)庫(kù)轉(zhuǎn)租協(xié)議條款
- 動(dòng)產(chǎn)資產(chǎn)抵押協(xié)議范例2024年
- 停車場(chǎng)施工方案及技術(shù)措施范本
- 高考地理一輪復(fù)習(xí)課件【知識(shí)精講+高效課堂】美食與地理環(huán)境關(guān)系
- 分居聲明告知書范本
- 2023年04月山東濟(jì)南市槐蔭區(qū)殘聯(lián)公開招聘殘疾人工作“一專兩員”公開招聘筆試參考題庫(kù)+答案解析
- 消失的13級(jí)臺(tái)階
- 營(yíng)銷管理知識(shí)點(diǎn)
- 船體強(qiáng)度與結(jié)構(gòu)設(shè)計(jì)課程設(shè)計(jì)
- 不寧腿綜合征診斷與治療
- 初中英語(yǔ)教學(xué)活動(dòng)設(shè)計(jì)
- 三寫作的載體與受體
- GB/T 451.3-2002紙和紙板厚度的測(cè)定
評(píng)論
0/150
提交評(píng)論