《基于windows窗口的應(yīng)用程序》由會員分享,可在線閱讀,更多相關(guān)《基于windows窗口的應(yīng)用程序(45頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,計算機軟件技術(shù)基礎(chǔ),第四章,基于,windows,窗口的庫應(yīng)用程序,.Net,“,Microsoft.Net,將在,21,世紀的頭十年里發(fā)起計算和人們交流方式的革命。,Microsoft.Net,的完全成熟需要花費幾年的辛勞,但是我們懷著無比的興奮,期待這一天的到來?!?微軟公司董事會主席兼首席軟件設(shè)計師,比爾,蓋茨,.NET,框架的主要特征,Windows,COM+Services,公共語言運行時,(C,LR,),基類庫(,Base Class Library,),ADO.NET and XML,ASP.NET,Windows Forms,
2、公共語言規(guī)范,(,Common Language Specification,),VB,C+,C#,JScript,Visual Studio.NET,C#,語言,-,像,VB,一樣簡單,像,C+,一樣強大的新語言,C#,是第一流的面向組件的語言,由,Turbo Pascal,Delphi,and Visual J+,的首席設(shè)計師,Anders Hejlsberg,傾心,3,年設(shè)計,所有的語言元素都是真正的對象,開發(fā)強壯和可重用的軟件,所有的,.NET Framework,中的基類庫(,Base Class Library,)都由,C#,編寫,C#,與,C/C+,的差異,C#,設(shè)計的時候?qū)⒁恍?/p>
3、先進的程序語言特性也都納入其中,例如內(nèi)存的自動管理及型態(tài)安全等。這對,C/C+,的程序設(shè)計師來說是件很新鮮的事,但對精通,Java,的程序設(shè)計師來說,卻是再熟悉不過了。,除了基本語法相似外,,C#,與,C/C+,還是有些不同的地方。例如,,C#,沒有指針,所以請別再使用”,-”,Visual ,啟動后界面,簡單的控制臺應(yīng)用程序,1,選擇,【,文件,】|【,新建,】|【,項目,】,。,2,選擇,【Visual C#,項目,】,和,【,控制臺應(yīng)用程序,】,。,3,輸入項目名稱,確定項目位置,單擊確定,,VS,系統(tǒng)初始化項目,。,4,代碼編輯器中,添加代碼,。,5,選擇,【,調(diào)試,】|【,開始執(zhí)行,
4、】,(不調(diào)試),或,【,調(diào)試,】|【,啟動,】,開始調(diào)試,(首先生成,.exe,可執(zhí)行文件,無錯誤才能),第一個,c#,程序,/,例,1.1 Class1,.cs,using System;,namespace Hello,class,HelloWorld,static void Main(),Console.WriteLine(“Hello,World!”);,代碼注釋,代碼注釋由“,/”,開始。和,C/C+,以及,Java,一樣,“,/”,告訴編譯器忽略該行直至結(jié)尾為止的內(nèi)容。,C#,中的另外一種注釋方法是塊注釋。塊注釋由“,/*”,開始,到“*,/”,結(jié)束。,命名空間,.NET Fram
5、ework,提供了許多實用的類庫,被組織進層次結(jié)構(gòu)的命名空間(,namespace,),System,最常用的命名空間,通過它們的命名空間引用:,System.Console.WriteLine(Hello,World);,預(yù)先引用命名空間:,using System;,Console.WriteLine(Hello,World);,定義類,C#,的每個程序包含至少一個自定義類。,一個類是數(shù)據(jù)成員,屬性和方法的集合,用關(guān)鍵字,class,引導(dǎo)一個類的定義。,例:,class,HelloWorld,一個,C#,應(yīng)用可以是許多文件組成的,一個文件中可以包含多個類,一個類不能分開放在多個文件中,Ma
6、in,方法,程序中很重要的地方是,Main(),方法的聲明(,static void,Mian,(),)。,每一個,C#,應(yīng)用程序都包含一個,Main,方法,它是程序執(zhí)行的起點和終點。,HelloWorld,類的,Main(),方法定義為靜態(tài),(static),方法。,Main,方法永遠不會是全局的,這意味著,Main,方法必須包含在類里面,如本例中,Main(),是在類,HelloWorld,里面。,Main,方法,當寫,Main,方法時,你需要,:,用大寫的“,M,”,這樣“,Main”,為程序設(shè)置一個,Main,方法做為程序的入口,把,Main,方法聲明為,public static,的
7、方法,當,Main,方法執(zhí)行完畢,或者返回 整個應(yīng)用也就結(jié)束了,輸入和輸出,程序中,System.Console.WriteLine(”Hello,World!“);,是向控制臺輸出文本的代碼。,ReadLine,方法是,Console,類的輸入方法之一,可以把一行文本保存到一個,string,類型的變量中。,如果你想避免用“,System.Console,”,的方式來指出,Console,類的全稱,可以在文件的開頭加上“,using System;”,這行代碼,以后就可以直接寫出“,Console.WriteLine(Hello,World!);”,。,舉例 建,立自己的類,線性表,Arra
8、yLineList,建立,C#,控制臺應(yīng)用程序,為應(yīng)用起名字,選擇“文件”,”,添加新項”,”,類”,為類起名字,ArrayLineList,然后選擇“確定”。,定義類的屬性。,定義類的方法。,在主類的,Main,方法中調(diào)用,ArrayLineList,類。,定義類的屬性和方法,public class,ArrayLineList,private,int,data;,private,int,length;,private,int,volume;,public,ArrayLineList(int,n),this.data,=new,intn,;,length=0;,volume=n;,publi
9、c void,append(int,value),datalength,+=value;,public,int,getValueAt(int,index),return,dataindex,;,public,int,getLength,(),return length;,在主類的,Main,方法中調(diào)用自己定義的類,static void,Main(string,args,),ArrayLineList,al=new ArrayLineList(20);,for(,int,i=0;i 3;i+),string,str,=,Console.ReadLine,();,al.append(Int32.
10、Parse(str);,for(,int,i=0;iappend(10),書寫,而以,al.append(10),數(shù)組的定義形式,double data,創(chuàng)建,Windows,應(yīng)用程序,分析,問題,確定界面對象(控件)和布局。,選擇,【,文件,】|【,新建,】|【,項目,】,。,選擇,【,Visual C#,項目,】,和,【,Windows,應(yīng)用程序,】,。,輸入項目名稱,確定項目位置,單擊確定,,VS,系統(tǒng)初始化項目,,創(chuàng)建主窗口。,設(shè)置主窗口屬性,從,工具箱選擇,控件加入到主窗口,設(shè)置其屬性(包括菜單,菜單也是一種控件),為控件設(shè)計事件處理器,生成應(yīng)用程序,從工具箱中找需要的控件,控件(,
11、Control,)是獨立的小部件,在對話框與用戶的交互過程中,控件擔任著主要角色。,指針:,按鈕:,向程序發(fā)出指令,菜單:,窗口菜單命令,文本框:,輸入、輸出、編輯文本,標簽:,顯示文本,組合框:,組合相關(guān)的對象,通過,【,視圖,】,【,工具箱,】,打開,控件的屬性調(diào)節(jié),在設(shè)計應(yīng)用程序時,通過改變對象的,屬性值,來改變對象的,外觀和行為,。,對象屬性的設(shè)置有兩種方法,:,屬性窗口、程序代碼窗口。,控件的屬性窗口,屬性窗口:,用于列出選定窗體或控件的屬性設(shè)置值,。,在,C#,中,窗體和控件被稱為對象,,每個對象都可用一組屬性來描述其特征。,通過,【,視圖,】,【,屬性窗口,】,打開,屬性名,屬性
12、值,控件的事件,事件,(Event),:,事件就是對象上所發(fā)生的事情,是指對象所接受的某些外部刺激,。,事件是預(yù)先定義好的、能夠被對象識別的動作。,每個對象都有一系列預(yù)先定義好的事件。,如:,按鈕的單擊事件(,Click,),窗體的加載事件(,Load,),經(jīng)常使用的控件,窗體:是,windows,應(yīng)用程序的基礎(chǔ),每個,windows,應(yīng)用程序自動生成一個主窗體,它是一個類,帶有靜態(tài),Main,方法。,文本框:,TextBox,與用戶交流的地方,標簽:,Label,,文字顯示的內(nèi)容,經(jīng)常是用來作說明,按鈕:,Button,,按鈕,用來觸發(fā)一些動作,RichTextBox,:多文本窗口,List
13、View,:列表視圖,主菜單:,第一個,windows,應(yīng)用程序 線形表應(yīng)用,主窗體的設(shè)計:,窗體的設(shè)計步驟,建立,C#windows,應(yīng)用程序,命名為,ArrayLineListTest,用鼠標點擊,Form,在其屬性中,在,name,屬性欄,將其,font,屬性,修改為“宋體,,10,號”,在工具欄中,點擊,Label,,然后在窗體上點擊,然后調(diào)節(jié)其大小到合適大小,將其,Text,屬性修改為“新數(shù)據(jù)”,在工具欄中,點擊,TextBox,,然后在窗體上點擊,然后調(diào)節(jié)其大小到合適大小,將其,Text,屬性的內(nèi)容刪除,將其,Name,屬性修改為,txtNewData,在工具欄中,點擊,Butto
14、n,,然后在窗體上點擊,然后調(diào)節(jié)其大小到合適大小,將其,Text,屬性該為,”,增加”,將其,Name,屬性修改為,btnAdd,在工具欄中,點擊,Button,,然后在窗體上點擊,然后調(diào)節(jié)其大小到合適大小,將其,Text,屬性該為,”,排序”,將其,Name,屬性修改為,btnSort,在工具欄中,點擊,Button,,然后在窗體上點擊,然后調(diào)節(jié)其大小到合適大小,將其,Text,屬性該為,”,打印”,將其,Name,屬性修改為,btnPrint,在工具欄中,點擊,RichTextBox,,然后在窗體上點擊,然后調(diào)節(jié)其大小到合適大小,將其,Text,屬性中內(nèi)容刪除,設(shè)計線形表類,選擇“文件”,
15、”,添加新項”,”,類”,將類名修改為,ArrayLineList,設(shè)計線形表類,ArrayLineList,類,public class,ArrayLineList,int,data;,int,length,volume,;,public,ArrayLineList(int,n),volume=n;,length=0;,data=new,intn,;,public void,append(int,newData,),datalength,+=,newData,;,public,int,getLength,(),return length;,public,int,getValueAt(int,
16、i),return,datai,;,public void sort(),for(,int,i=0;ilength-1;i+),for(,int,j=i+1;j,dataj,),int,temp=,datai,;,datai,=,dataj,;,dataj,=temp;,在主窗體對象中定義線性表對象,如何使用自己定義的類,點擊,Form1.cs,設(shè)計,找到,public class Form1,段落,在類的構(gòu)造函數(shù)前增加一行。,private,ArrayLineList,al;,找到,MainForm,的構(gòu)造函數(shù)方法,在其里面增加一行,al=new ArrayLineList(100);,“增加”按鈕的,Click,方法設(shè)計,Windows,程序是事件驅(qū)動的程序,event driven,點擊,Form1.cs,設(shè)計窗口,找到窗體,用鼠標雙擊“增加”按鈕,系統(tǒng)自動產(chǎn)生,private void,add_Click(object,sender,System.EventArgs,e),上面是一個類的私有方法。對應(yīng)按鈕鼠標點擊,在其里面增加如下代碼,(,在,之間增加,),int,data=I