C代碼編寫基礎_第1頁
C代碼編寫基礎_第2頁
C代碼編寫基礎_第3頁
C代碼編寫基礎_第4頁
C代碼編寫基礎_第5頁
已閱讀5頁,還剩89頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C#程序設計基礎劉暐weiliu.shmtu@C#怎么讀?CSharp你知道哪些?C#從哪來?C#VSJAVAC#VSJAVA項

目C#Java運行環(huán)境可在具有CLR的平臺上運行可在具有JVM的平臺上運行完全面向對象是是多重繼承不支持不支持內存管理使用垃圾回收機制管理內存使用垃圾回收機制管理內存異常處理try-catch-finallytry-catch-finally指針只能在非托管的代碼段內使用不支持類型安全性驗證強制類型驗證強制類型驗證命名空間支持支持布爾值只能為true或者false只能為true或者false變量初始化不能使用未初始化的變量不能使用未初始化的變量中間語言處理將MSIL轉換為JIT機器碼Java字節(jié)碼訪問修飾符public、protected、private、internal、partialpublic、protected、private、friendlyWebService支持支持為什么學C#PowerofCwitheaseofMicrosoftVisualBasic?MinimallearningcurveforeverybodyMuchcleanerthanC++MorestructuredthanVisualBasicMorepowerfulthanJava為什么學C#簡潔的語法。精心的面向對象設計(封裝性、繼承性、多態(tài)性)。與Web的緊密結合。安全的安全性與錯誤處理。版本處理技術。靈活性和兼容性。C#的發(fā)展2000年,C#語言誕生。2003年,微軟發(fā)布了C#語言規(guī)范1.2(簡稱C#1.2),VS.NET2003使用的是C#1.2。2005年,微軟發(fā)布了C#語言規(guī)范2.0(簡稱C#2.0),VS2005使用的是C#2.0。2007年,微軟發(fā)布了C#語言規(guī)范3.0(簡稱C#3.0),VS2008使用的是C#3.0。2010年,微軟發(fā)布了C#語言規(guī)范4.0(簡稱C#4.0),VS2010使用的是C#4.0。2012……C#5.0C#的開發(fā)工具Notepad?VisualStudioVS.NET2002VS.NET2003VS2005VS2008VS2010VS2012VS2013VS2012的版本VisualStudio2012的各個版本VS2012Ultimate版本用于大型團隊開發(fā),功能齊全VS2012Professional版本用于大中型軟件公司,功能不全VS2012Express版本用于業(yè)余開發(fā)者free本課的上機實驗環(huán)境: VS2012UltimateSP2(Windows7).NET框架Microsoft.NETFramework(簡稱.NET框架)是生成和運行.NET應用程序和WebService的組件庫。NET框架包括兩個主要組件:公共語言運行庫(CommonLanguageRuntime,CLR)。類庫(ClassLibrary)──與公共語言運行庫緊密集成的可重用的類的集合分配到不同的命名空間下提供了開發(fā)所需要的各種功能Microsoft.NETFramework.NET框架的特點一種框架、多種語言C#、.NET、VS版本日期.NET框架的版本VisualStudio的版本C#1.02002年一月.NETFramework1.0VisualStudio.NET2002C#1.22003年四月.NETFramework1.1VisualStudio.NET2003C#2.02005年11月.NETFramework2.0VisualStudio2005C#3.02006年11月.NETFramework3.5VisualStudio2008C#4.02010年四月.NETFramework4VisualStudio2010C#5.02012年4月.NETFramework4.5VisualStudio2012.NETFramework4.5.1VisualStudio2013工欲善其事,必先利其器MicrosoftVisualStudio2012VS2012界面AnASP.NetSimpleStart程序演示例1控制臺應用程序

演示:編寫一個控制臺應用程序,顯示“HelloWorld”。例2Windows應用程序

演示:用Windows窗體應用程序的Label控件顯示“HelloWorld”。例3ASP.NET網站

演示:創(chuàng)建一個Web應用程序顯示“HelloWorld”。命名空間命名空間:是對類的一種劃分形式,類似于目錄和文件的劃分形式。命名空間命名空間命名空間命名空間命名空間命名空間命名空間命名空間類類類………………命名空間類

命名空間調用某命名空間的類提供的方法:命名空間.命名空間.類名.靜態(tài)方法名(參數(shù),…);System.Console.WriteLine(“HelloWorld”);實例名稱.方法名(參數(shù),…)HelloMe

helloMe=new

HelloMe();helloMe.Welcome();演示:ConsoleApplicationExampleUsing關鍵字三個用途:usingSystem;——引用指令System.Console.WriteLine(“HelloWorld”)寫成:Console.WriteLine(“HelloWorld”)usingWinForm=System.Windows.Form;——別名指令System.Windows.Form.MessageBox.Show(“hello”);寫成WinForm.MessageBox.Show(“hello”);Using關鍵字作為語句,定義一個范圍。例如:

staticvoidMain() {using(TextWriterw=File.CreateText(“text.txt”)){ w.WriteLine(“Lineone”);} }程序執(zhí)行到“}”時,就會自動釋放TextWriter對

象占用的資源。Main每個應用程序必須有一個入口點,入口方法名規(guī)定為Mspace

HelloWorld{

class

Program

{

static

voidMain(string[]args)

{

Console.WriteLine("HelloWorld!");

Console.ReadLine();

}

}}注意:Main()MainMain方法聲明為publicstatic,除非有特殊理由,一般不要更改Main方法的聲明。Main方法的返回值只能是void或者int。///

<summary>

///應用程序的主入口點。

///

</summary>static

voidMain()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new

MainForm());

}MainMain方法可以放在任何一個類中。一個應用程序中必須有一個類包含Main方法。控制臺應用程序和Windows窗體應用程序默認將其放在Program.cs文件的Program類中。代碼注釋//常用,利用快捷方式操作/**/不常用///常用XML格式注釋#region

#endregion邏輯功能注釋C#程序一般格式舉例using

System;namespaceConsoleApplicationExample{

class

Program{staticvoidMain(string[]args){inti=1;Console.WriteLine("Thefirstis:{0}",i);Console.Write("Pleaseenteryourname:");stringstrName=Console.ReadLine();Console.WriteLine("Hello"+strName+"!");HelloNamehelloName=newHelloName();HelloMehelloMe=newHelloMe();helloMe.Welcome();Console.ReadLine();}}class

HelloName{privatestrings="張三";privateinti=5;publicHelloName(){Console.WriteLine("hello{0},Ihave{1}books!",s,i);}}classHelloMe{privatestrings="王五";privateinti=10;publicHelloMe(){Console.WriteLine("hello{0},Ihave{1}books!",s,i);}publicvoidWelcome(){i=11;Console.WriteLine("hiIhave{0}books",i);}}C#應用程序的結構

每一個用C#語言編寫的應用程序均由一個或者多個類組成,所有的程序代碼都必須封裝在某個類、結構、枚舉、委托或者接口中。C#語言和C++、Java語言一樣,也區(qū)分大小寫。對C#應用程序的幾點說明使用using關鍵字指明引用的命名空間。使用namespace關鍵字聲明命名空間。使用class關鍵字聲明類,類中包含了程序所要用到的數(shù)據(jù)和所要執(zhí)行的方法的定義。每個類中可以有字段聲明、構造函數(shù)、屬性、方法、事件等等。所有單條語句都以分號“;”結束,語句塊則用大括號“{}”括起來。斷點調試程序設置和取消斷點

單擊某代碼行左邊的灰色區(qū)域。單擊設置,再次單擊取消設置。鼠標右擊某代碼行,選擇【斷點】【插入斷點】或者【刪除斷點】。單擊某代碼行,直接按<F9>鍵進行設置或取消設置。

斷點調試程序利用斷點調試程序

按<F5>執(zhí)行到斷點,再按<F5>到下一斷點,

……

按<Shift>+<F5>鍵終止調試。

<F10>逐過程(類或方法)

<F11>逐語句命名規(guī)范類名、方法名和屬性名均使用Pascal命名法,即所有單詞連寫,每個單詞的第一個字母大寫,其他字母小寫。例如:HelloWorld、GetData等。變量名、一般對象名、控件對象名以及方法的參數(shù)名均使用Camel命名法,即所有單詞連寫,第一個單詞全部小寫,其他個單詞的第一個之母大寫。例如:userName、userAge等。VS2012應用程序模板VS2012中提供的常用應用程序模板:控制臺應用程序。Windows應用程序。ASP.NETWeb應用程序。ASP.NETWeb服務應用程序。智能設備應用程序。安裝和部署應用程序。控制臺應用程序控制臺(Console類)控制臺輸出Console.Write(“Hello”);——輸出字符串Console.WriteLine(“Hello”);——輸出+換行(“\r\n”)intage=18;Console.Write(age);——輸出變量值控制臺輸入Console.ReadLine();——讀取字符直至回車返回stringConsole.ReadKey();——讀取某個字符,返回ConsoleKeyInfo類型對象練習1.用*號輸出一個圣誕樹的造型。2.使用VisualStudio中的控制臺,輸出你所輸入的字符串。3.

C#的每行語句以______結尾。4.在________之后可以書寫不跨行的注釋。5.C#程序的執(zhí)行總是從________方法開始。6.方法________和__________可以在控制臺窗口中顯示信息。控制臺格式化輸出數(shù)據(jù)Console.WriteLine(“格式化表示”,參數(shù)序列);intx=10,y=20,z=30;Console.WriteLine(“{0}+{1}+{2}={3}”,x,y,z,x+y+z)格式輸出的一般形式為

{N[,M][:格式碼]}其中,[]:表示其中的內容為可選項。N:從零開始的整數(shù),表示第幾個參數(shù)。M:可選整數(shù),表示最小長度。若參數(shù)N的長度小于M,就用空格填充。如果M為負,則左對齊;如果M為正,則右對齊;如果未指定M,則默認為零。格式碼:可選的格式化代碼字符串。

C—貨幣形式、D—十進制形式、F—固定精度形式、E—指數(shù)形式、N—用逗號分隔千位數(shù)字、P—百分比形式、X—十六進制形式

占位符:0—強制占位符、#—有效占位符字符串的格式化輸出格式符含

義示例:(inti=10;doublex=10.5;)輸出結果C將數(shù)字按照金額形式輸出Console.WriteLine("{0:C}",i);Console.WriteLine("{0:C}",x);¥10.00¥10.50D輸出十進制整數(shù)Console.WriteLine("{0:D}",i);Console.WriteLine("{0:D5}",i);1000010F小數(shù)點后固定位數(shù)Console.WriteLine("{0:F}",i);Console.WriteLine("{0:F4}",x);10.0010.500000占位符,如果數(shù)字位數(shù)不夠指定的占位符位數(shù),則左邊補0至占位符位數(shù);如果數(shù)字位數(shù)超過指定的占位符位數(shù),則按照原數(shù)字實際位數(shù)原樣輸出。如果小數(shù)部分的位數(shù)超出指定的占位符位數(shù),則多余的部分四舍五入。Console.WriteLine("{0:00000}",123);Console.WriteLine("{0:000}",12345);Console.WriteLine("{0:0000}",123.64);Console.WriteLine("{0:00.00}",123.6484);00123123450124123.65##占位符。對整數(shù)部分,去掉數(shù)字左邊的無效0;對小數(shù)部分,按照四舍五入原則處理后,再去掉右邊的無效0。如果這個數(shù)就是0,而又不想讓它顯示的時候,#占位符很有用Console.WriteLine("{0:####}",123);Console.WriteLine("{0:####}",123.64);Console.WriteLine("{0:####.###}",123.64);Console.WriteLine("{0:####.##}",0);Console.WriteLine("{0:####.##}",123.648);123124123.64123.65string.Format格式化輸出string.Format

對于字符串來說,可以直接利用格式化輸出得到希望的格式,例如:

strings=string.Format("{0,30}",'');//s得到的結果為30個空格的字符串

strings1=string.Format("{0,-20}","15");//s1得到的結果為左對齊長度為20的字符串string.Format格式化輸出在string.Format中使用d格式。inti=123;doublej=123.45;strings1=string.Format("thevalueis{0,7:d}",i);//{0,7:d}表示第0個參數(shù),寬度7位,不夠7位左邊用空格填充,d表示十進制整數(shù)Console.WriteLine(s1);//結果thevalueis123在string.Format中使用f(浮點數(shù))格式。strings2=string.Format("thevalueis{0,7:f3}",j);//{0,7:f3}表示第0個參數(shù),總寬度7位,其中小數(shù)部分占3位,不夠7位左邊填空格Console.WriteLine(s2);//結果thevalueis123.450ToString格式化輸出1)在ToString中使用d格式。inti=12345;stringstr=i.ToString("d");//i.ToString("d")表示將i按照實際整數(shù)寬度轉換為字符串Console.WriteLine(str);//結果12345stringstr1=i.ToString("d8");//i.ToString("d8")表示將i轉換為字符串,寬度為8位,不夠8位左邊用0填充Console.WriteLine(str1);//結果00012345ToString格式化輸出2)在ToString中使用f格式。doublei=12345.6789;stringstr=i.ToString("f2");//f2表示浮點數(shù)小數(shù)部分為2位,多余部分四舍五入,不夠2位時右邊補零Console.WriteLine(str);//結果12345.68stringstr1=i.ToString("f6");Console.WriteLine(str1);//結果12345.678900ToString格式化輸出3)在ToString中使用n格式。doublei=12345.6789;stringstr=i.ToString("n");//n表示整數(shù)部分從小數(shù)點向左每3位用逗號分隔開,小數(shù)部分2位,多余部分四舍五入Console.WriteLine(str);//結果12,345.68stringstr1=i.ToString("n4");//n4表示整數(shù)部分從小數(shù)點向左每3位用逗號分隔開,小數(shù)部分4位,多余部分四舍五入Console.WriteLine(str1);//結果12,345.6789ToString格式化輸出4)在ToString中使用p格式。doublei=0.126;//p表示百分數(shù)形式strings=string.Format("thevalueis{0:p}",i);Console.WriteLine(s);//結果thevalueis12.60%stringstr=i.ToString("p");Console.WriteLine(str);//結果12.60%回顧——格式化輸出Console.WriteLine(“格式化表示”,參數(shù)序列);Console.WriteLine(“{N[,M][:格式碼]}…”,參數(shù)序列);string.Format(“格式化表示”,參數(shù)序列);string.Format(“{N[,M][:格式碼]}…”,參數(shù)序列);i.ToString(“格式碼”);回顧——格式碼C——將數(shù)字按照金額形式輸出:¥10.00D——輸出十進制整數(shù):00010F——小數(shù)點后固定位數(shù),默認2位:123.4500——強制占位符:00123整數(shù)不夠左邊補0,超出按實際;小數(shù)不夠右邊補0,超出四舍五入。#——有效占位符整數(shù)按實際輸出,去掉左邊的無效0;小數(shù)四舍五入后,去掉右邊的無效0如果這個數(shù)是0呢?回顧——格式碼N——整數(shù)每3位逗號隔開,小數(shù)四舍五入,默認2位:12,345.00P——以百分比形式顯示:12,345.00%整數(shù)每3位逗號隔開小數(shù)四舍五入,默認2位X——十六進制格式輸出:000A練習分別寫出下列語句執(zhí)行的結果:(1)Console.WriteLine("{0}—{0:p}good",12.34F);(2)Console.WriteLine("{0}—{0:####}good",0);(3)Console.WriteLine(“{0}—{0:00000}good”,456);(4)Console.WriteLine(string.Format("{0}+{1}",3,4));(5)Console.WriteLine(string.Format("{0}"+"{1}",3,4));(6)Console.WriteLine(string.Format("{0}",3+4));(7)Console.WriteLine((3+4).ToString(“D7”)).練習找錯誤8.comboBox1.Items.Add("新項"

+(comboBox1.Items.Count+1).tostring());9.

if(n<1&&n>10)

{errorProvider1.SetError(textBox1,“整數(shù)不在1~10范圍內");return;}10.練習找錯誤//------------------Program.cs---------------------Usingsystem;namespaceConsoleApplicationExample{classProgram

{staticvoidMain(string[]args)

{inti=1;Console.WriteLine("Thefirstis:{0}",i);Console.Write("Pleaseenteryourname:");stringname=Console.ReadLine();Console.WriteLine("Hello"+name+"!");HelloName.Welcome();Console.ReadLine();

}

}}//------------------HelloName.cs---------------------Usingsystem;namespaceConsoleApplicationExample{classHelloName

{privatestrings="張三";privateinti=5;publicvoidWelcome()

{Console.WriteLine("Hello{0},Ihave{1}books!",s,i);

}

}}答案分別寫出下列語句執(zhí)行的結果:(1)Console.WriteLine("{0}—{0:p}good",12.34F);(2)Console.WriteLine("{0}—{0:####}good",0);(3)Console.WriteLine(“{0}—{0:00000}good”,456);(4)Console.WriteLine(string.Format("{0}+{1}",3,4));(5)Console.WriteLine(string.Format("{0}"+"{1}",3,4));(6)Console.WriteLine(string.Format("{0}",3+4));(7)Console.WriteLine((3+4).ToString(“D7”)).12.34-1,234.00%0-good456-00456good3+4關于上課及上機使用教材說明本課程指定教材:關于上課及上機使用教材說明上機實驗參考書:關于上課及上機使用教材說明其他參考書籍:管理信息系統(tǒng)演示ERP銀行業(yè)務系統(tǒng)

程序演示例1-1上機作業(yè)習題程序演示例1-2-例1-7教材中的錯誤更正P13P22Windows窗體應用程序Windows窗體應用程序的特點Windows窗體應用程序的啟動和退出窗體的創(chuàng)建、顯示、隱藏和關閉消息框(MessageBox)利用WinForm控件實現(xiàn)輸入和輸出錯誤提示(ErrorProvider)Windows窗體應用程序基于GDI+(GraphicsDeviceInterface,圖形設備接口)基于消息循環(huán)和線程管理應用程序入口是Main方法Windows窗體應用程序窗體應用程序的啟動和停止使用Application類提供的靜態(tài)方法來啟動、停止應用程序。Application類提供的方法:Run方法:用于在當前線程上啟動應用程序消息循環(huán),并顯示窗體。Exit方法:用于停止消息循環(huán)。窗體的創(chuàng)建、顯示與隱藏1、如何在代碼中打開一個新窗體

Form2fm=newForm2();fm.Show();//無模式窗口

或者fm.ShowDialog();//模式窗口觀察Show與ShowDialog之間的區(qū)別2、如何在代碼中關閉一個窗體用法1:fm.Close();

用法2:this.Close();窗體的創(chuàng)建、顯示與隱藏3、如何隱藏一個打開的窗體(1)隱藏當前窗體:this.Hide();

(2)隱藏其它窗體:fm.Hide();

窗體隱藏后,其實例仍在,可重新調用Show方法再次顯示4、如何重新顯示隱藏的窗體(1)顯示當前窗體:this.Show();

(2)顯示其它窗體:fm.Show();窗體的創(chuàng)建、顯示與隱藏窗體常用的屬性常用屬性:Name:獲取或設置窗體的名稱,代碼中通過該屬性來訪問窗體。BackColor:獲取或設置窗體的背景色。ForeColor:獲取或設置窗體上文本的前景色。Location:獲取或設置以屏幕坐標表示的代表窗體左上角的坐標位置。Size:指定窗體的高度和寬度。Text:設置控件上所要顯示的文本,如標簽、按鈕和復選框等控件上的文字。窗體常用的屬性和外觀控制StartPostion:獲取或設置運行時窗體的起始位置,一般在構造函數(shù)中設置此屬性。例如:this.StartPosition=FormStartPosition.Manual;this.Location=newPoint(screenX,screenY);通過設置窗體的【ControlBox】屬性為“True”或者“False”,可以控制是否顯示最大化、最小化以及關閉按鈕。除此之外,還可以通過設置窗體的【FormBorderStyle】屬性控制窗體的邊框樣式。注冊事件事件是響應用戶操作的一種技術。雙擊窗體設計界面上的某控件,默認會自動注冊最常用的事件(例如按鈕的最常用事件是Click)。選擇某個控件,單擊【屬性】窗口中的“雷電”符號,可看到該控件對應的各種事件,雙擊指定的事件,可注冊對應的事件。在代碼中通過“+=”注冊指定的事件,通過“-=”注銷指定的事件。當熟悉代碼后,這種辦法是最靈活也是方便的辦法。消息框消息框顯示消息對話框可通過檢查Show方法返回的值來確定用戶單擊了哪個按鈕注意雖然用Show方法顯示消息框,但由于它本身是模式窗口,所以在消息框關閉前,不會執(zhí)行它后面的代碼。消息框對話框用于與用戶交互和檢索信息。對話框分為標準對話框和自定義對話框。1.MessageBox對話框調用MessageBox類的靜態(tài)Show方法來顯示消息對話框。返回值是MessageBoxResult枚舉的值,其中每個值都等同于消息對話框可以顯示的按鈕之一。Show方法提供了多種重載形式,常用的重載形式有:publicstaticDialogResultShow(stringtext)publicstaticDialogResultShow(stringtext,stringcaption)publicstaticDialogResultShow(stringtext,stringcaption,MessageBoxButtonsbuttons,MessageBoxIconicon)消息框其中:Text:在消息框中顯示的文本。caption:在消息框的標題欄中顯示的文本。buttons:MessageBoxButtons枚舉值之一,指定在消息框中顯示哪些按鈕。枚舉值有OK、OKCancel、YesNoCancel和YesNo。icon:MessageBoxIcon枚舉值之一,指定在消息框中顯示哪個圖標。枚舉值有None(不顯示圖標)、Hand(手形)、Question(問號)、Exclamation(感嘆號)、Asterisk(星號)、Stop(停止)、Error(錯誤)、Warning(警告)和Information(信息)。Show方法的返回值是DialogResult枚舉值之一。DialogResult枚舉值有:None(消息框未返回值)、OK、Cancel、Yes和No。常用控件1、分組控件Panel控件和GroupBox控件用于對不同的控件進行分組。Panel控件不顯示標題但可以有滾動條,而GroupBox可顯示標題,不顯示滾動條。2、錯誤提示組件(ErrorProvider)ErrorProvider組件可以對窗體或控件上的用戶輸入進行驗證。常用控件3、標簽類控件(Label)操作控件包括:Label:用于提供控件或窗體的描述性文字,以便為用戶提供相應的信息。

常用屬性:(Name)、Text屬性。常用控件4、文本框(TextBox)控件常用的基本屬性1)(Name):指定控件的名稱,以便C#代碼可通過它訪問控件。2)Text:表示文本框中顯示的內容。3)Multiline:表示是否可以包含多行內容。4)PasswordChar:用于指定在屏蔽TextBox控件中輸入的密碼字符時所要使用的符號。常用控件文本框(TextBox)控件常用的基本事件TextChanged:表示文本框中的當前內容(Text屬性值)更改時觸發(fā)的操作。常用控件4、列表類控件(ListBox控件、ComboBox控件)ListBox(列表框)控件和ComboBox(下拉框)控件均用于顯示一組條目,以便操作者從中選擇一條或者多條信息,并對其進行相應的處理。這兩個控件常用的屬性和方法ItemsSelectedIndex、SelectedItemSelectedItemsItems.AddItems.AddRangeItems.Remove、Items.RemoveAtItems.Clear常用控件4、CheckBox控件1.常用屬性

Checked屬性2.常用事件

CheckedChanged事件常用控件6、RadioButton控件1.特點:

(1)單選

(2)以各自所在的容器來劃分組,如果在一個窗體上創(chuàng)建多個單選按鈕組,可以使用GroupBox或者Panel控件作為容器。2.與CheckBox相比,RadioButton控件除了是單選外,其他用法與CheckBox用法相同。程序演示Timer控件標簽類控件(Label、LinkLabel)TextBox控件、ToolTip組件和ErrorProvider組件ListBox控件ComboBox控件CheckBox控件CheckedListBox控件RadioButton控件DateTimePicker控件PictureBox控件ImageList控件MenuStrip控件ContextMenuStrip控件ToolStrip控件StatusStrip控件列表視圖控件(ListView)TreeView控件選項卡控件(TabControl)面板復合控件(SplitContainer)任務欄圖標組件(NotifyIcon)1.5WPF和Silverlight應用程序1.5.1WPF應用程序1.5.2Silverlight應用程序1.5.3其他應用程序模板1.5WPF和Silverlight應用程序WPF高效率運行動畫、三維圖形和音頻視頻等多媒體功能WinForm應用程序只能靠軟件來實現(xiàn),無法直接利用GPU的硬件加速功能WPF和Silverlight最適用于開發(fā)在Windows7、Windows8操作系統(tǒng)上運行的應用程序。WPF適用于C/S客戶端開發(fā),Silverlight適用于手機和Web富客戶端開發(fā)。WPF利用操作系統(tǒng)底層支持的DirectX實現(xiàn)硬件加速。1.5.1WPF應用程序1.DirectX簡介1995年,DirectX1.0誕生它提供了直接讀取圖形硬件(顯卡)的功能,但該版本還不包括3D功能。當時流行的編程接口是OpenGL,DirectX1.0剛推出時,由于眾多的硬件廠家均不支持DirectX,該版本基本沒有獲得成功。1996年,微軟推出DirectX2.0。該版本在DirectX中加入了Direct3D,用于訪問3D硬件加速的高級圖形功能,通過提供通用的COM編程接口使硬件和設計完全分離。1.5.1WPF應用程序1.DirectX簡介1997年,微軟推出DirectX3.0。此時3D游戲逐漸深入人心不少顯卡生產廠家開始支持DirectX,并陸續(xù)推出3D圖形加速卡。隨后微軟直接推出DirectX5.0(沒有出現(xiàn)4.0版)5.0版的3D功能日益強大。使游戲中的3D技術逐漸走入成熟階段。此時DirectX也得到了大多數(shù)知名廠商的認可和強力支持。2001年,微軟發(fā)布了DirectX8.02002年,微軟發(fā)布DirectX9.02006年,微軟推出DirectX10.0版1.5.1WPF應用程序1.DirectX簡介2009年,微軟推出多線程渲染的DirectX11.0。該版本引入了ShaderModel5.0,以便讓GPU從事更多的通用計算工作,而不僅僅是3D運算,從而鼓勵開發(fā)人員更好地將GPU作為并行處理器來使用。隨后,微軟將DirectX作為Windows7、Windows8操作系統(tǒng)底層默認的核心編程接口。而對DirectX11.0封裝后的WPF和HTML5的實現(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論