版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、網(wǎng)絡(luò)與通信程序設(shè)計(C#)課程簡介與目標(biāo)課程簡介本課程學(xué)習(xí)和討論基于.NET架構(gòu),選用C#語言進(jìn)行計算機網(wǎng)絡(luò)通信程序以及計算機接口間信息交換程序開發(fā)的原理和方法。課程目標(biāo)了解.NET架構(gòu)掌握C#的語法、編程方法以及相關(guān)工具的使用了解網(wǎng)絡(luò)通信、接口通信編程的基本原理掌握網(wǎng)絡(luò)應(yīng)用程序、通信應(yīng)用程序設(shè)計開發(fā)技術(shù)了解軟件工程管理的基本知識課程教學(xué)與考核學(xué)習(xí)方法理論學(xué)習(xí)+編程實踐網(wǎng)絡(luò)學(xué)習(xí)(MSDN、CSDN、搜索引擎)實踐,實踐,實踐考核方式平時考勤、實驗、綜合設(shè)計卷面考試教材與教參教材金華. C#網(wǎng)絡(luò)編程技術(shù)教程M. 人民郵電出版社參考書目馬駿. C#程序設(shè)計教程M. 人民郵電出版社張曉明. C#網(wǎng)絡(luò)
2、通信程序設(shè)計M. 清華大學(xué)出版社劉瑞新. C#網(wǎng)絡(luò)編程及應(yīng)用M. 機械工業(yè)出版社吳晨. C#網(wǎng)絡(luò)與通信程序設(shè)計案例精講M. 清華大學(xué)出版社鄭阿奇. C#網(wǎng)絡(luò)編程M. 電子工業(yè)出版社美Michael McMillan. 數(shù)據(jù)結(jié)構(gòu)與算法(C#語言描述)M. 人民郵電出版社美Colin Campbell. 設(shè)計模式-.NET并行編程M. 清華大學(xué)出版社包善東. 更鋒利的C#代碼M. 清華大學(xué)出版社李江全. Visual C#.NET 串口通信及測控應(yīng)用典型實例M. 電子工業(yè)出版社Wei-Meng Lee. Practical .Net 2.0 Networking ProjectsM. Apress
3、教學(xué)安排第一章 .NET平臺及C#簡介.NET平臺 .NET是微軟公司推出的一個全新概念的技術(shù),它代表了一個集合、一個環(huán)境和一個可以作為平臺支持下一代Internet的可編程結(jié)構(gòu)。計算機與程序語言1957前,插拔、開關(guān)、紙帶、機器語言、匯編1957,IBM,F(xiàn)ORTRAN,科學(xué)與工程計算1969,湯普森,Unix;里奇,為Unix開發(fā)出C1970,阿倫凱,Smalltalk語言,一切皆對象(萬能細(xì)胞)1975,微軟商化M.BASIC,發(fā)家1983,C+面世,”帶類的C”,適用于編寫大型程序1985,Windows投放市場,1991年成為贏家,推出VB1992,高斯林,Oak語言,在C+基礎(chǔ)上吸
4、收Smalltalk思想1995,高斯林,Oak改名為Java,互聯(lián)網(wǎng)編程(跨系統(tǒng),跨平臺)2001,微軟輸?shù)鬔ava官司,推出C#C的一家CSmalltalkC+JavaC#C#語言簡介 C#的背景:從C和C+演變而來的,結(jié)合了C/C+的強大功能、Java的面向?qū)ο筇匦院蚔isual Basic的易用性,從而成為一種簡單的類型安全、面向?qū)ο蟮木幊陶Z言,是.NET公共語言運行環(huán)境的內(nèi)置語言。C#的特點:語法簡潔面向?qū)ο笤O(shè)計與Web緊密結(jié)合完整的安全性和錯誤處理版本控制兼容性,靈活性 C#與C+的比較編譯目標(biāo):C+代碼直接編譯為本地可執(zhí)行代碼,C#默認(rèn)編譯為中間語言(IL)代碼,執(zhí)行時再通過Ju
5、st-In-Time將需要的模塊臨時編譯成本地代碼。內(nèi)存管理:C+需要顯式地刪除動態(tài)分配給堆的內(nèi)存,而C#不需要這么做,C#采用垃圾回收機制自動在合適的時機回收不再使用的內(nèi)存。指針:C+中大量地使用指針,而C#使用對類實例的引用,如果確實想在C#中使用指針,必須聲明該內(nèi)容是非安全的。字符串處理:在C#中,字符串是作為一種基本數(shù)據(jù)類型來對待的,因此比C+中對字符串的處理要簡單得多。庫:C+依賴于以繼承和模板為基礎(chǔ)的標(biāo)準(zhǔn)庫,C#則依賴于.NET基庫。類繼承:C+允許類的多繼承,而C#只允許類的單繼承,通過接口才能實現(xiàn)多繼承。 C#和Java的比較C#與Java的相同之處。兩者都編譯成跨平臺的、跨語
6、言的代碼,并且代碼只能在一個受控制的環(huán)境中運行。自動收集垃圾內(nèi)存,并且取消了指針。在C#中可以使用指針,不過必須注明unsafe關(guān)鍵字。都不需要頭文件,所有的代碼都被“包(package)”限制在某個范圍內(nèi),并且因為沒有頭文件,所以消除了類定義的循環(huán)依賴。C#與Java的區(qū)別C#面向?qū)ο蟮某潭缺菾ava高。C#具有比Java更強大的功能。C#的速度比Java快。Visual Studio 2008 集成開發(fā)環(huán)境Visual Studio 2013 集成開發(fā)環(huán)境Visual C# 的應(yīng)用程序類型控制臺應(yīng)用程序WinForm,Windows窗體應(yīng)用程序Windows服務(wù)應(yīng)用程序WebForm,We
7、b窗體應(yīng)用程序WPF應(yīng)用程序(Windows Presentation Foundation) 新一代圖形系統(tǒng),集成WebForm/WinFormWCF服務(wù)應(yīng)用程序(Windows Communication Foundation) 數(shù)據(jù)通信接口初識C#程序(控制臺應(yīng)用程序)新建項目控制臺應(yīng)用程序程序文件Program.cs:using System;/引用命名空間(注釋)using System.Text;/自定義命名空間namespace ConsoleApplication1 class Program/類 /Main方法(程序入口) static void Main(string ar
8、gs) Console.Write(Hello World); 初識C#程序(窗體應(yīng)用程序)C#項目的組織解決方案項目項:文件(文件夾)命名空間與類的層次引用指令:using關(guān)鍵字Main方法Main可以放在任何類中,規(guī)范做法則是放在Program.cs中代碼注釋/單行注釋/*/塊注釋/XML注釋程序文件控制臺程序:Program.cs窗體程序:Program.cs、Form1.cs、Form1.Designer.cs任務(wù)1:熟悉Visual Studio開發(fā)環(huán)境安裝 Visual C# 2008 或者 Visual Studio 2008熟悉各種菜單、工具窗口新建并保存控制臺應(yīng)用程序工程(選
9、擇C#語言)在Main方法中,輸入語句:Console.Write(Hello World); 啟動程序,查看運行結(jié)果新建并保存窗體應(yīng)用程序工程(選擇C#語言)新建一個窗體,并設(shè)置窗體標(biāo)題、大小等相關(guān)信息在該窗體中插入一個標(biāo)簽控件,顯示“Hello World!”發(fā)布成應(yīng)用程序,安裝試用第二章 C#基本語法與編程2.1 標(biāo)識符與關(guān)鍵字關(guān)鍵字(保留字,系統(tǒng)標(biāo)識符):C#中有特殊含義的標(biāo)識符標(biāo)識符:唯一標(biāo)識代碼中的各種程序元素,一般指用戶標(biāo)識符標(biāo)識符的命名規(guī)則字符集遵循Unicode3.0標(biāo)準(zhǔn)只能使用字母、數(shù)字和個別特殊符號(大小寫敏感)必須以字母或者下劃線開頭以“”符號開始時,允許使用關(guān)鍵字作為
10、標(biāo)識符標(biāo)識符必須“先定義后使用”2.2 數(shù)據(jù)類型值類型引用類型數(shù) 據(jù) 類 型描述取值范圍sbyte有符號 8 位整數(shù)128127byte無符號 8 位整數(shù)0255short有符號 16 位整數(shù)3276832767ushort無符號 16 位整數(shù)065535int有符號 32 位整數(shù)21474836482147483647uint無符號 32 位整數(shù)04294967295long有符號 64 位整數(shù)92233720368547758089223372036854775807ulong無符號 64 位整數(shù)0184467440737095516151.整數(shù)類形: C#定義了8種整數(shù)類型。它們在內(nèi)存中
11、占據(jù)的內(nèi)存大小各不相同,取值范圍也各不相同。值類型類型大致取值范圍描述精度float1.510453.4103832位浮點數(shù)7位double5.0103241.71030864位浮點數(shù)1516位decimal1.010287.91028128位數(shù)據(jù)類型2829位有效位2.布爾類形:表示“真”或“假”的數(shù)據(jù)類型,取值為“true”或“false”,主要用于進(jìn)行邏輯判斷,類型標(biāo)識符為bool。3.實數(shù)(浮點數(shù))類型:單精度(float)、雙精度(double)、財務(wù)及貨幣(decimal)值類型轉(zhuǎn)義字符描 述轉(zhuǎn)義字符描 述轉(zhuǎn)義字符描 述n換行符f換頁符0空字符t水平制表符Tab反斜杠字符 v垂直制
12、表符Tabr回車符單引號a感嘆號b退格符雙引號4.字符類型:C#使用字符類型(char)來處理ASCII字符和Unicode字符Unicode是16位字符,可以表示世界上多數(shù)已知的書面語言C#中的字符常量使用單引號將字符括起來C#使用轉(zhuǎn)義字符來處理特殊字符,以“”開頭char類型可以隱式轉(zhuǎn)換為ushort、int、uint、long、ulong、float、double或decimal類型。值類型值類型5.枚舉類型用一種便于記憶的標(biāo)識符來表示有限個常數(shù)的集合 enum Days Mon, Tue, Wed, Thu, Fri, Sat, Sun;/Mon的值為0,其余的值依次遞增enum Da
13、ys Mon=1, Tue, Wed, Thu, Fri, Sat, Sun=0; /Mon后面的枚舉 元素的值依次遞增從enum類型到基本類型的轉(zhuǎn)換需要用顯式類型轉(zhuǎn)換來完成6.結(jié)構(gòu)類型:復(fù)合數(shù)據(jù)類型struct 結(jié)構(gòu)名成員聲明列表(訪問權(quán)限 數(shù)據(jù)類型 成員);;struct Student public int ID; /學(xué)號 public string Name; /姓名 public float Score; /成績;引用類型引用類型:不存儲實際數(shù)據(jù),存儲數(shù)據(jù)的引用(地址)包括類類型、字符串類型、數(shù)組類型、接口類型、委托類型數(shù)組數(shù)組定義后,在使用前必須初始化,也可以在定義的同時初始化數(shù)組
14、:數(shù)據(jù)類型 數(shù)組名;int num = new int31,2,5;多維數(shù)組:數(shù)據(jù)類型 , 多維數(shù)組名;int, num = new int2,3 1,2,3,4,5,6;交錯數(shù)組(數(shù)組的數(shù)組/不規(guī)則數(shù)組):數(shù)據(jù)類型 數(shù)組名;int array = new int2 new int2 1,2 , new int33,4,5;常量與變量常量在程序運行期間值保持不變的量,只能賦一次值習(xí)慣上將常量所使用的標(biāo)識符全部大寫const int NUM = 10;變量在程序運行中可以改變的量int x,y;int a,b=3,c=20,d;數(shù)據(jù)類型的轉(zhuǎn)換C#是一種強類型語言,通常不允許一種類型替換另一種類型
15、隱式轉(zhuǎn)換:當(dāng)被轉(zhuǎn)換的類型的取值范圍完全包含在轉(zhuǎn)換到的類型的取值范圍之內(nèi)時才能執(zhí)行隱式轉(zhuǎn)換char c1=Y;int s1;s1 = c1;顯式轉(zhuǎn)換(強制類型轉(zhuǎn)換):明確要求編譯器將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型顯式類型轉(zhuǎn)換過程中可能導(dǎo)致數(shù)據(jù)精度損失或者引發(fā)異常short s1;int x1=13;s1 = (short)x1;s1 = Convert.ToInt16(x1); / .NET框架的類型轉(zhuǎn)換類裝箱與拆箱裝箱與拆箱機制:C#語言中引入了讓值類型在需要時轉(zhuǎn)化為引用類型,以及讓引用類型在需要時轉(zhuǎn)換為值類型的機制。裝箱是指將一個值類型隱式轉(zhuǎn)換為一個object類型的過程int x = 1
16、5;object obj = x; /利用隱式轉(zhuǎn)換實現(xiàn)裝箱object obj = (object) x; /利用顯式轉(zhuǎn)換實現(xiàn)裝箱拆箱是指將一個object類型顯式轉(zhuǎn)換成一個值類型的過程int val = 100; object obj = val; /裝箱int num = (int) obj; /拆箱2.3 常用運算符類型運算符描述算術(shù)運算符+、*、/、%實現(xiàn)數(shù)學(xué)上的基本算術(shù)運算功能邏輯運算符 &、|、!與布爾類型操作數(shù)組成邏輯表達(dá)式位運算符&、|、用于修改一個變量的二進(jìn)制格式數(shù)據(jù)中單獨的位字符串連接運算符+實現(xiàn)字符串串聯(lián)增量和減量運算符+、自增自減運算,分為前綴和后綴運算移位運算符 根據(jù)
17、表達(dá)式規(guī)定的位數(shù)進(jìn)行左移或右移,并將結(jié)果賦給操作數(shù)變量比較運算符 =、!=、=實現(xiàn)兩個操作數(shù)的比較操作賦值運算符 =、+=、=、*=、/=、%=、&=、|=、=、=包括簡單賦值和復(fù)合賦值運算,且左操作數(shù)必須是一個變量成員訪問運算符 .用于對象和結(jié)構(gòu)成員的訪問索引運算符 用于數(shù)組和索引器數(shù)據(jù)類型轉(zhuǎn)換運算符 ()用于實現(xiàn)顯式類型轉(zhuǎn)換條件運算符 ?:三元運算符對象創(chuàng)建運算符new用于動態(tài)創(chuàng)建對象和調(diào)用構(gòu)造函數(shù)類型信息運算符 sizeof、is、typeof、assizeof只用于不安全的代碼溢出異??刂七\算符 checked、unchecked2.4 流程控制順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)跳轉(zhuǎn)語句選擇結(jié)構(gòu)
18、if-else語句if(表達(dá)式)elseswich語句swich(表達(dá)式)case 常量表達(dá)式1:語句;break;default:語句;break;循環(huán)結(jié)構(gòu)Whileint i=0,sum=0;while(i=100)i+;sum+=i;do-whileForint sum = 0; for (int i = 1; i = 100; i+)sum += i;Foreachchar A = 1,2,3,4,5; foreach (char t in A)Console.WriteLine(t);跳轉(zhuǎn)語句break語句:跳出swich結(jié)構(gòu),嵌套時只能跳出一層continue語句:跳出本次循環(huán)中尚
19、未執(zhí)行的語句return語句:退出類的方法,返回調(diào)用者,可返回值異常類型描述Exception 所有異常的基類SystemException 所有運行時生成的錯誤的基類IndexOutOfRangeException 僅當(dāng)錯誤地對數(shù)組進(jìn)行索引時,才由運行庫引發(fā)NullReferenceException 僅當(dāng)引用空對象時,才由運行庫引發(fā)AccessViolationException 僅在訪問無效內(nèi)存時由運行庫引發(fā)InvalidOperationException 當(dāng)處于無效狀態(tài)時,由方法引發(fā)ArgumentException 所有參數(shù)異常的基類ArgumentNullException 由不
20、允許參數(shù)為空的方法引發(fā)ArgumentOutOfRangeException 由驗證參數(shù)是否位于給定范圍內(nèi)的方法引發(fā)ExternalException 在運行庫的外部環(huán)境中發(fā)生或針對這類環(huán)境的異常的基類COMException 封裝 COM HRESULT 信息的異常SEHException 封裝 Win32 結(jié)構(gòu)化異常處理信息的異常 C#中的異常處理提供了一種處理系統(tǒng)級錯誤和應(yīng)用程序級錯誤的結(jié)構(gòu)化的、統(tǒng)一的、類型安全的方法。程序運行過程中所產(chǎn)生的異常一般可以分為兩種類型:用戶程序產(chǎn)生的異常和系統(tǒng)產(chǎn)生的異常。2.5 異常處理try-catch-finally語句tryConsole.Write
21、Line(try);catch(Exception e)Console.WriteLine(“catch);finallyConsole.WriteLine(finally);第三章 類和對象基本概念將客觀世界中的對象模型化,形成一種計算機化的表示,并以此為基礎(chǔ)來分析和解決問題便形成了面向?qū)ο蠹夹g(shù)。對象對象是對客觀事物的抽象對象由屬性和方法組成。屬性反映了對象的信息特征,而方法則定義改變屬性狀態(tài)的各種操作。類具有相同屬性和方法的對象可歸納成類,對象是類的一個實例,而對象的抽象是類。繼承類有一定的結(jié)構(gòu),可以派生出子類,子類除了繼承父類的屬性和方法外還可以有自己的屬性和方法。類是C#中最基礎(chǔ)的類型
22、。類是一個數(shù)據(jù)結(jié)構(gòu),將數(shù)據(jù)成員(狀態(tài))和功能成員(行為)組合在一個單元中,進(jìn)而體現(xiàn)了面向?qū)ο蠹夹g(shù)的封裝性。定義格式:Attribute 類修飾符 class 類名 :基類和實現(xiàn)的接口列表 類成員定義類的定義修飾符描述none、internal類只能在當(dāng)前項目中訪問public類可以在任何地方訪問abstract、internal abstract類只能在當(dāng)前項目中訪問,且不能實例化,只能繼承public abstract 類可以在任何地方訪問,且不能實例化,只能繼承sealed、internal sealed類只能在當(dāng)前項目中訪問,且只能實例化,不能繼承public sealed類可以在任何地
23、方訪問,且只能實例化,不能繼承類成員的可訪問性可訪問性描述public訪問不受限制,定義的成員可以在類的外部訪問protected訪問僅限于包含類或從包含類派生的類internal訪問僅限于當(dāng)前程序集(包)protected internal訪問僅限于從包含類派生的當(dāng)前程序集(包)或類private訪問僅限于包含類類的成員類的成員分為數(shù)據(jù)成員和功能成員數(shù)據(jù)成員包括:成員常量,代表與類相關(guān)的常數(shù)數(shù)據(jù);字段,類的變量。功能成員包括:方法,即類中的成員函數(shù);屬性,定義了命名的屬性以及讀寫屬性的相關(guān)的行為;索引,允許類的實例通過與數(shù)組相同的方法來索引;操作符,定義了可以用于類的實例上的表達(dá)式操作;事件
24、,定義了由類產(chǎn)生的事件公告;構(gòu)造函數(shù),對類的實例進(jìn)行初始化的操作;析構(gòu)函數(shù),在類的實例銷毀前執(zhí)行與資源釋放相關(guān)的操作。封裝 encapsulation 什么是封裝?封裝把對象的所有組成部分組合在一起,封裝定義程序如何引用對象的數(shù)據(jù)封裝實際上使用方法將類的數(shù)據(jù)隱藏起來,控制用戶對類的修改和訪問數(shù)據(jù)的程度。私有數(shù)據(jù)方法方法數(shù)據(jù)對象A對象B公有數(shù)據(jù)靜態(tài)成員和非靜態(tài)成員 類的成員可以是靜態(tài)成員,也可以是非靜態(tài)成員。靜態(tài)成員用關(guān)鍵字static修飾,它們屬于類。沒有用static修飾的類成員稱為非靜態(tài)成員,它們屬于對象。靜態(tài)成員的特征:一個靜態(tài)字段對應(yīng)一個存儲位置靜態(tài)成員屬于類,因此可以在包含類的實例之
25、間共享它們靜態(tài)成員一般通過類來訪問(非靜態(tài)成員通過包含類的實例來訪問)注意:區(qū)別理解“類”以及“類的實例(即對象)”構(gòu)造函數(shù)與析構(gòu)函數(shù)構(gòu)造函數(shù)的名稱與類名相同,沒有返回類型。類在實例化的時候,調(diào)用構(gòu)造函數(shù)析構(gòu)函數(shù)在類析構(gòu)時被調(diào)用(不能顯式調(diào)用)成員字段,即類的變量,類中的數(shù)據(jù)成員,用來存儲類所需的數(shù)據(jù)信息。class CalendarDate public readonly int month; /只讀字段,實例創(chuàng)建后不能對其賦值 public int day; public static int year=2005; /靜態(tài)字段,屬于類的成員屬性是對對象或類的字段進(jìn)行特定訪問的成員,是字段的
26、自然擴展,訪問屬性和字段的語法相同。public string NameListTile /讀寫屬性 get return namelisttile; set namelisttile = value; 索引一種使對象能夠用與數(shù)組相同的方式進(jìn)行索引的成員。繼承與多態(tài)在C#中,派生類只能從一個基類中繼承修飾符 class 派生類名 :基類名派生類成員派生類能從它的直接基類中繼承的成員包括方法、字段、屬性、事件、索引(除了構(gòu)造函數(shù)和析構(gòu)函數(shù))在派生類中聲明與基類的同名成員,可以實現(xiàn)覆蓋C#的多態(tài)性基類的虛擬方法與派生類的重載方法(abstact)抽象類與抽象方法;(sealed)密封類與密封方法類
27、設(shè)計原則對真實世界系統(tǒng)建模將數(shù)據(jù)和行為封裝到對象中,類能夠?qū)φ鎸崒ο笠约芭c其它對象之間如何交互進(jìn)行建模明確公共接口最小公共接口;隱藏實現(xiàn);設(shè)計健壯的構(gòu)造函數(shù)(和析構(gòu)函數(shù))應(yīng)當(dāng)將對象置于一種安全的初始狀態(tài)在類中設(shè)計錯誤處理以合作為出發(fā)點,“任何類都不可能是孤島”考慮重用和可擴展性移出不可移植的代碼;讓作用域盡可能??;提供復(fù)制和比較對象的方法;類要對自己負(fù)責(zé)第四章 Windows編程及多文檔窗體Windows窗體應(yīng)用程序模型窗體Form類是在應(yīng)用程序中顯示的任何窗口的表示形式。當(dāng)為應(yīng)用程序設(shè)計用戶界面時,首先創(chuàng)建一個從Form派生的類。然后添加控件、設(shè)置屬性、創(chuàng)建事件處理程序以及向窗體添加編程邏輯
28、??丶砑拥酱绑w中的每個組件稱為控件。事件Windows窗體編程模型基于事件。事件(Event)“事件”是當(dāng)對象發(fā)生某些事情時,向其他對象提供通知的一種方法。在C#中是通過委托(delegate)實現(xiàn)的。事件有兩個角色:事件發(fā)送方,指觸發(fā)事件的對象事件接收方,指注冊想在某種事件發(fā)生時被通知的對象Windows窗體的常用屬性屬性說明Name設(shè)置控件的名稱AcceptButton設(shè)置當(dāng)用戶按Enter鍵時所單擊的窗體上的按鈕ActiveMdiChild獲取當(dāng)前活動的多文檔界面(MDI)子窗體BackgroudImage設(shè)置在控件中顯示的背景圖像CancelButton設(shè)置當(dāng)用戶按Esc鍵時所單擊的
29、窗體上的按鈕ContextMenu設(shè)置與控件關(guān)聯(lián)的快捷菜單Cursor設(shè)置當(dāng)鼠標(biāo)指針位于控件上時顯示的光標(biāo)HelpButton設(shè)置是否在窗體的標(biāo)題欄中顯示“幫助”按鈕Icon設(shè)置窗體的顯示圖標(biāo)IsMdiChild設(shè)置窗體是否為多文檔界面(MDI)子窗體IsMdiContainer設(shè)置窗體是否為多文檔界面(MDI)子窗體的容器MaximizeBox設(shè)置是否在窗體的標(biāo)題欄中顯示最大化按鈕MinimumSize設(shè)置是否在窗體的標(biāo)題欄中顯示最小化按鈕Text設(shè)置窗體顯示的標(biāo)題Windows控件(Button)的常用事件名稱說明Click在單擊 Button 時發(fā)生。 GotFocus在此元素獲得邏輯焦
30、點時發(fā)生。 Initialized初始化此 FrameworkElement 時發(fā)生。 IsEnabledChanged在此元素的 IsEnabled 屬性值更改時發(fā)生。 IsVisibleChanged在此元素的 IsVisible 屬性值更改時發(fā)生。 KeyDown在焦點位于此元素上并且用戶按下鍵時發(fā)生。 KeyUp在焦點位于此元素上并且用戶釋放鍵時發(fā)生。 LostFocus在此元素丟失邏輯焦點時發(fā)生。 MouseDown在指針位于此元素上并且按下任意鼠標(biāo)按鈕時發(fā)生。 MouseEnter在鼠標(biāo)指針進(jìn)入此元素的邊界時發(fā)生。 MouseLeave在鼠標(biāo)指針離開此元素的邊界時發(fā)生。 Mouse
31、LeftButtonDown在鼠標(biāo)指針位于此元素上并且按下鼠標(biāo)左鍵時發(fā)生。 MouseRightButtonDown在鼠標(biāo)指針位于此元素上并且按下鼠標(biāo)右鍵時發(fā)生。 MouseUp在鼠標(biāo)指針位于此元素上并且松開任意鼠標(biāo)按鈕時發(fā)生。 MouseWheel在鼠標(biāo)指針位于此元素上并且用戶滾動鼠標(biāo)滾輪時發(fā)生。 TextInput在此元素以設(shè)備無關(guān)模式獲取文本時發(fā)生。 TouchDown當(dāng)懸停在此元素上方的手指觸摸屏幕時發(fā)生。 TouchEnter在觸摸屏輸入從此元素邊界外部移動到其內(nèi)部時發(fā)生。 TouchLeave在觸摸屏輸入從此元素邊界內(nèi)部移動到其外部時發(fā)生。 常用控件標(biāo)簽控件(Label)為控件提供
32、運行時信息或說明性文字,通常用于顯示靜態(tài)文本。 文本框控件(TextBox)用于接收用戶的輸入或者顯示文本。常用的事件是TextChanged事件,當(dāng)框中的內(nèi)容發(fā)生改變時觸發(fā)列表框控件(ListBox)用于顯示供用戶選擇的選項列表,用戶可以從中選擇一項或多項SelectedIndexChanged事件和SelectedValueChanged事件。組合框控件(ComboBox)結(jié)合了文本框控件和列表框控件的功能,同時具有這兩類控件的功能命令按鈕控件(Button)命令按鈕控件允許用戶通過單擊來響應(yīng)各種操作常用的事件是Click事件窗體切換與參數(shù)傳遞窗體的打開與關(guān)閉Form frm1=new Form();frm1.ShowDialog();/模態(tài)方式顯示,有返回值frm1.Show();/非模態(tài)方
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版舞蹈師資培訓(xùn)中心教師聘用協(xié)議3篇
- 委托制作標(biāo)書保密協(xié)議
- 二零二五年度個人房貸利率調(diào)整協(xié)議3篇
- 二零二五合伙企業(yè)股份分割與代持協(xié)議4篇
- 勞務(wù)中介介紹費合同
- 鶴壁農(nóng)房抗震加固施工方案
- 龍崗廚房防水施工方案
- 借條補充協(xié)議
- 重慶無塵室工程施工方案
- 合同范本之循環(huán)額度借款合同
- 子宮畸形的超聲診斷
- 2024年1月高考適應(yīng)性測試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- (正式版)JBT 11270-2024 立體倉庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- DB11∕T 2035-2022 供暖民用建筑室溫?zé)o線采集系統(tǒng)技術(shù)要求
- EPC項目采購階段質(zhì)量保證措施
- T-NAHIEM 101-2023 急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)
- 《復(fù)旦大學(xué)》課件
- 針灸與按摩綜合療法
- 四川2024年專業(yè)技術(shù)人員公需科目“數(shù)字經(jīng)濟與驅(qū)動發(fā)展”參考答案(通用版)
- 《我的家族史》課件
- 煤炭裝卸服務(wù)合同
評論
0/150
提交評論