Visual C#程序设计教程课件_第1页
Visual C#程序设计教程课件_第2页
Visual C#程序设计教程课件_第3页
Visual C#程序设计教程课件_第4页
Visual C#程序设计教程课件_第5页
已阅读5页,还剩370页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

下一頁VisualC#程式設計教程

上一頁第1章程式設計語言與程式設計方法1.1程式設計語言人們使用電腦處理問題時,與電腦交換資訊所使用的語言叫電腦語言,也就是程式設計語言。它是人為地設計而成的約定資訊。章節目錄上一頁下一頁1.1.1機器語言機器語言是電腦能執行的指令代碼,這種語言是由若干0和1的序列組成的指令,也就是人們常說的二進位代碼。用機器語言設計的程式,稱為機器語言程式。這是一種最低級的電腦語言程式。章節目錄上一頁下一頁1.1.2組合語言

使用一種比較直觀、便於記憶的指令符號來代替二進位數字的機器指令代碼,這就是組合語言。組合語言的每條指令通常使用英文單詞的縮寫形式表示,也叫助記符。組合語言需用一個專門的程式將其轉換為機器指令代碼,這個負責轉換的程式叫組合語言程式。章節目錄上一頁下一頁1.1.3高級語言

高級語言接近人們熟悉的自然語言,高級語言與具體的電腦指令系統沒有直接關係,因此用高級語言設計的程式可以在各種類型的電腦上運行。

必須將高級語言程式轉換為機器語言程式,才能在電腦上得以執行,這種轉換的過程叫“翻譯”。翻譯分解釋和編譯,在“翻譯”過程中會自動檢查根源程式中的語法錯誤。章節目錄上一頁下一頁1.2演算法

1.2.1演算法的概念

所謂演算法,是指為解決一個問題而採取的方法和步驟,或者說是解題步驟的精確描述。廣義地說,處理任何問題都有一個“演算法”問題。電腦演算法,即電腦能執行的演算法。

電腦的演算法可分為兩大類:數值運算演算法和非數值運算演算法。

章節目錄上一頁下一頁1.2.2演算法的表示

1.用自然語言表示演算法

可以用人們日常生活中使用的語言即自然語言來表示演算法,用自然語言表示演算法的好處是人人都懂,人人都會。

但是,自然語言表示的演算法容易非常冗長,有時會產生“二義性”。

章節目錄上一頁下一頁2.用流程圖表示演算法

起止框判斷框處理框輸入輸出框流程線連接點圖1-1流程圖符號用流程線將各種操作圖符號連接在一起就構成了一個完整的演算法流程圖。這種流程圖稱為傳統流程圖。

章節目錄上一頁下一頁N-S流程圖中,完全去掉了流程線。全部演算法寫在一個大矩形框中,在某一矩形框中還可以包含一些屬於它的小矩形框。這種流程圖又稱為盒圖。

章節目錄上一頁下一頁章節目錄上一頁下一頁

傳統流程圖

N-S流程圖1.3程式設計方法

1.3.1結構化程式設計方法

結構化程式設計方法是一種傳統的程式設計方法。結構化程式設計方法從編程思想上要求自頂向下,逐步求精,從程式的具體結構上要求程式是模組化,要求程式語言中有直接實現順序結構、選擇結構和迴圈結構這三種基本結構的語句,要求程式代碼由三種基本結構組成,複雜的結構應該由基本結構進行組合嵌套來實現,整個程式或程式中的模組或控制結構只有一個入口和一個出口。

章節目錄上一頁下一頁1.順序結構

章節目錄上一頁下一頁ABAB2.選擇結構

章節目錄上一頁下一頁3.迴圈結構

章節目錄上一頁下一頁當P為真(是)

A1.3.2面向對象程式設計方法

在程式的設計中,演算法總是與特定的數據結構密切相關的,演算法含有對數據結構的訪問,特定的演算法只適用於特定的數據結構,因此演算法與數據結構在編程中應該是一個密不可分的整體,這個整體叫對象。面向對象的程式設計通過類、對象、繼承、多態等機制形成一個完善的編程體系。面向對象的程式設計多採用可視化的方式。章節目錄上一頁下一頁1.類和對象可以把類比作一種藍圖,而對象則是根據藍圖所創建的實例,可以把類比作生產模具,而對象則是由這種模具產生的實例(產品)。所以人們又把對象叫做類的實例。類是對事物的定義,而對象則是該事物本身。章節目錄上一頁下一頁2.對象的屬性、事件和方法(1)對象的屬性

C#中的對象屬性可以看作是表現對象特徵的數據的擴展。在面向對象的編程中,控件對象的常見屬性有文本(Text)、背景色(BackColor)、字體大小(Font)、是否可見(Visible)等。

(2)對象的事件

所謂事件(Event),是預先定義好的、能夠被對象識別的動作。如單擊(Click)事件。章節目錄上一頁下一頁

章節目錄上一頁下一頁

2.Microsoft中間語言(MSIL)和JIT即時編譯

在VisualStudio.NET環境中,各種編程語言編譯器負責完成編譯工作的第一步,即把源代碼轉換為一種中間代碼(MicrosoftIntermediateLanguage,MSIL)。

MSIL是一種非常接近機器語言的代碼,但還不能在電腦上運行,還要通過第二步編譯工作將MSIL變為真正的機器語言,這個工作由即時編譯器(Just-In_time,JIT)完成。

章節目錄上一頁下一頁2.1VisualStdio.Net簡介

2.2.1起始頁

1.專案

2.聯機資源

(1)開始 (5)聯機搜索

(2)新增功能 (6)下載

(3)網上社區 (7)XMLWebservices(4)標題新聞 (8)Web宿主

章節目錄上一頁下一頁

2.2.2設計器視圖與代碼視圖設計器視圖與代碼視圖是程式設計最常用的兩個子窗口。設計器視圖用來設計Windows窗體或Web窗體,代碼視圖用於設計程式源代碼。在設計器視圖中可以為Windows或Web介面添加控件。代碼視圖實質上是一個純文本編輯器,在該視圖中可以進行通常的文本編輯操作,如選定、複製、移動、撤銷、恢復等。

章節目錄上一頁下一頁

2.2.3解決方案資源管理器與類視圖

1.解決方案資源管理器

使用VisualStudio.NET開發的每一個應用程式叫解決方案,每一個解決方案可以包含一個或多個專案。一個專案通常是一個完整的程式模組,一個專案可以有多個項。“解決方案資源管理器”子窗口顯示VisualStudio.NET解決方案的樹型結構。在“解決方案資源管理器”中可以流覽組成解決方案的所有專案和每個專案中的檔,可以對解決方案的各元素進行組織和編輯。

章節目錄上一頁下一頁

2.類視圖“類視圖”以樹型結構顯示VisualStudio.NET當前專案中的類和類型的層次資訊。在“類視圖”中,可以對類的層次結構流覽、組織和編輯。如果雙擊“類視圖”中的某一個類名稱,將打開該類定義的代碼視圖,並定位在該類定義的開始處,如果雙擊類中的某一成員,將打開該類定義的代碼視圖,並定位在該成員聲明處。

章節目錄上一頁下一頁

2.2.4屬性與動態幫助

1.屬性“屬性”子窗口用於設置解決方案中各個子項的屬性,當選擇設計器視圖、解決方案、類視圖中的某一子項時,“屬性”子窗口將以兩列表格的形式顯示該子項的所有屬性。單擊“事件”按鈕,窗口將顯示被選擇窗體或控件的事件列表,

章節目錄上一頁下一頁

2.動態幫助“動態幫助”對用戶當前操作提供相關的幫助主題列表。當用戶在VisualStudio.NET環境中進行某一項操作時,“動態幫助”將搜索MSDN庫(MicrosoftDeveloperNetwork),查找與該操作相關的幫助主題並把它認為可能最有用的主題列在第一位。單擊一個鏈接後,默認情況下此主題將會顯示在VisualStudio.NET窗口中。當在代碼窗口中編輯源代碼時,“動態幫助”窗口會顯示正在輸入的關鍵字和類的幫助主題。

章節目錄上一頁下一頁

2.2.5工具箱與伺服器資源管理器

1.工具箱“工具箱”用於向Windows應用程式或Web應用程式添加控件。“工具箱”使用選項卡分類管理其中的控件,打開“工具箱”將顯示VisualStudio專案中使用的各個不同的控件列表。根據當前正在使用的設計器或編輯器,“工具箱”中可用的選項卡和控件會有所變化。

章節目錄上一頁下一頁

2.伺服器資源管理器“伺服器資源管理器”是VisualStudio.NET的伺服器管理控制臺。使用伺服器資源管理器可以打開數據連接,登錄伺服器,流覽它們的資料庫和系統服務。可以將管理器中的對象從伺服器資源管理器拖放到VisualStudio.NET設計器上。這將創建新的數據組件,這些組件預配置為引用所拖放的對象。

章節目錄上一頁下一頁

2.2.6子窗口的操作

在主區域顯示的窗口,以選項卡的形式疊放在一起。用右上角關閉按鈕關閉當前窗口。主區域周圍的窗口,有停靠與浮動兩種情況,停靠又有隱藏與固定顯示兩種狀態,這兩種狀態通過圖釘按鈕控制。

章節目錄上一頁下一頁

2.2.7使用VisualStudio.NET的幫助

1.MSDN幫助

(1)目錄

(2)索引

(3)搜索

(4)收藏夾2.智能感知

動態顯示成員列表

動態顯示該方法功能和不同用法

章節目錄上一頁下一頁

2.3窗體對象與控件對象

2.3.1窗體對象

1.窗體的結構

2.窗體的屬性

Name(名稱)BackColor(背景色)BackgroundImage(背景圖像)Enabled(可用)Font(字體)

章節目錄上一頁下一頁ForeColor(前景色)Location(位置)Locked(鎖定)MaximizeBox(最大化按鈕)MinimizeBox(最小化按鈕)Opacity(透明)Size(尺寸)Text(文本)WindowState(窗口狀態)

章節目錄上一頁下一頁3.窗體的方法CenterToScreen()方法Close()方法Hide()方法Show()方法調用方法的一般格式:對象名.方法名(參數列表);靜態方法調用的一般格式:類名.靜態方法名(參數列表);

章節目錄上一頁下一頁

4.窗體事件Activated事件Click事件Closed事件GotFocus事件Load事件

章節目錄上一頁下一頁2.3.2幾種常用控件

1.添加與編輯控件

(1)添加控件

(2)選擇控件(3)調整控件的位置與大小

(4)控件佈局

章節目錄上一頁下一頁

2.按鈕按鈕(Button)控件是應用程式中使用最多的控件對象之一,常用來接收用戶的操作資訊,激發相應的事件。按鈕是用戶與程式交互的最簡便的方法。

3.標籤標籤(Label)控件主要功能是輸出資訊,可以用來標識其他無法顯示標題的控件,也可以向用戶顯示相關資訊。

章節目錄上一頁下一頁4.文本框

文本框中的Text屬性不象窗體對象與標籤對象那樣是控件對象的標題,而是文本框中的內容。

(1)特有屬性HideSelection(隱藏選擇)Lines(行)MaxLength(最大長度)Multiline(多行)

章節目錄上一頁下一頁

PasswordChar(密碼字元)ReadOnly(只讀)SelectedText(選定的文本)SelectionLength(選擇長度)TextLength(文本框長度)WordWrap(文本換行)

章節目錄上一頁下一頁

(2)操作文本的方法

AppendText(追加文本)方法Clear(清除)方法Copy(拷貝)方法Cut(剪切)方法Paste(粘貼)方法SelectAll(全選)方法

章節目錄上一頁下一頁

2.4應用程式開發的一般步驟

2.4.1創建控制臺應用程式1.新建專案2.編寫代碼3.運行調試程式4.保存程式

章節目錄上一頁下一頁

2.4.2創建Windows應用程式

1.新建專案2.添加控件和設置控件屬性(1)添加控件(2)修改屬性

3.編寫代碼

4.運行調試程式

5.保存程式

章節目錄上一頁下一頁2.5VisualStudio2005簡介

介面

窗體設計章節目錄上一頁下一章代碼設計章節目錄上一頁下一章工具欄章節目錄上一頁下一章

章節目錄上一頁下一頁2.命名空間命名空間既是VisualStudio.NET提供系統資源的分層組織方式,也是分層組織程式的方式。因此,命名空間有兩種,一種是系統命名空間,一種是用戶自定義命名空間。系統命名空間使用using關鍵字導入,System是VisualStudio.NET中的最基本的命名空間,在創建專案時,VisualStudio.NET平臺都會自動生成導入該命名空間,並且放在程式代碼的起始處。

章節目錄上一頁下一頁3.類和方法C#中,必須用類來組織程式的變數與方法。C#要求每個程式必須且只能有一個“Main”方法。“Main”方法必須放在某一個類中。“Main”方法是應用程式的入口。4.語句語句就是C#應用程式中執行操作的指令。C#中的語句必須用分號“;”結束。可以在一行中書寫多條語句,也可以將一條語句書寫在多行上。

章節目錄上一頁下一頁5.大括弧在C#中,括弧“{”和“}”是一種範圍標誌,是組織代碼的一種方式,用於標識應用程式中邏輯上有緊密聯繫的一段代碼的開始與結束。大括弧可以嵌套,以表示應用程式中的不同層次。

章節目錄上一頁下一頁3.1.2C#程式的格式

1.縮進與空格縮進用於表示代碼的結構層次,這在程式中不是必須的,但是縮進可以清晰地表示程式的結構層次,在程式設計中應該使用統一的縮進格式書寫代碼。空格有兩種作用,一種是語法要求,必須遵守,一種是為使語句不至於太擁擠。例如:intia=3;

章節目錄上一頁下一頁2.字母大小寫C#中的字母可以大小寫混合,但是必須注意的是,C#把同一字母的大小寫當作兩個不同的字元對待,如,大寫“A”與小寫“a”對C#來說,是兩個不同的字元。3.注釋C#中的注釋基本有兩種,一是單行注釋,一是多行注釋。單行注釋以雙斜線“//”開始,不能換行。多行注釋以“/*”開始,以“*/”結束,可以換行。

章節目錄上一頁下一頁3.2基本數據類型

3.2.1數值類型

1.整數類型整數類型又有有符號整數與無符號整數。有符號整數可以帶正負號,無符號整數不需帶正負號,默認為正數。有符號整數包括sbyte(符號位元組型)、short(短整型)、int(整型)、long(長整型)。無符號整數包括byte(位元組型)、ushort(無符號短整型)、uint(無符號整型)、ulong(無符號長整型)。

章節目錄上一頁下一頁2.實數類型實數類型包括float(單精確度浮點型)、double(雙精度浮點型)、decimal(十進位型)。3.2.2字元類型1.Unicode字元集Unicode是一種重要的通用字元編碼標準是繼ASCII字元碼後的一種新字元編碼,如UTF-16允許用16位字元組合為一百萬或更多的字元。C#支持Unicode字元集。

章節目錄上一頁下一頁2.char(字元型)char(字元型):數據範圍是0~65535之間的Unicode字元集中的單個字元,佔用2個位元組。char(字元型)表示無符號16位整數,char(字元型)的可能值集與Unicode字元集相對應。3.string(字串型)string(字串型):指任意長度的Unicode字元序列,佔用位元組根據字元多少而定。string(字串型)表示包括數字與空格在內的若干個字元序列,允許只包含一個字元的字串,甚至可以是不包含字元的空字元串。

章節目錄上一頁下一頁3.2.3布爾類型和對象類型bool(布爾型):表示布爾邏輯量。bool(布爾型)數據範圍是“true”(真)和“false”(假)。bool(布爾型)佔用一個位元組。bool(布爾型)的值“true”(真)和“false”是關鍵字。object(對象型):可以表示任何類型的值,其佔用位元組視具體表示的數據類型而定。object(對象型)是所有其他類型的最終基類。C#中的每種類型都是直接或間接從object類型派生的。

章節目錄上一頁下一頁3.3變數與常量

3.3.1變數

1.變數命名規則在C#中,變數命名規則如下:①

變數名的第一個字元必須是字母(包括漢字)或下劃線,其餘字元必須是字母(包括漢字)、數字或下劃線。②

變數名不能是C#的關鍵字或庫函數名。例如,sum,_S,都是合法的變數名,而int,2A,NumberOfStudent是非法變數名。章節目錄上一頁下一頁2.聲明變數聲明變數最簡單的格式為:數據類型名稱變數名列表;例如:intnumber;//聲明一個整型變數boolopen;//聲明一個布爾型變數decimalbankBlance;//聲明一個十進位變數可以一次聲明多個變數,例如:sbytea,b;//聲明兩個有符號位元組型變數如果一次聲明多個變數,變數名之間用逗號分隔。

章節目錄上一頁下一頁3.變數賦值C#規定,變數必須賦值後才能引用。為變數賦值需使用賦值號“=”。例如:intnumber;number=32;//為變數賦值32也可以使用變數為變數賦值,例如:boolclose;close=open;//為變數賦值true(假設open為已聲明的bool型變數,其值為true)章節目錄上一頁下一頁可以為幾個變數一同賦值,例如:inta,b,c;a=b=c=32;可以在聲明變數的同時為變數賦值,相當於將聲明語句與賦值語句合二為一。例如:doublearea,radius=16;章節目錄上一頁下一頁3.3.2常量1.直接常量(1)整型常量整型常量即整數,整型常量有三種形式:十進位形式,即通常意義上的整數,如,123,48910等。八進制形式,輸入八進制整型常量,需要在數字前面加“0”,如,0123,038等。十六進制形式,輸入十六進制整型常量,需要在數字前面加“0x”或“0X”,如,0x123,0X48910等。

章節目錄上一頁下一頁(2)實型常量實型常量即帶小數的數值,實型常量有兩種表示形式:小數形式,即人們通常的書寫形式,如0.123,12.3,.123等等。指數形式,也叫科學記數,由底數加大寫的E或小寫的e加指數組成,例如,123e5或123E5都表示123×105。章節目錄上一頁下一頁(3)字元常量字元常量表示單個的Unicode字元集中的一個字元,通常包括數字、各種字母、標點、符號和漢字等。字元常量用一對英文單引號界定,如,'A','a','+','漢'等等。在C#中,有些字元不能直接放在單引號中作為字元常量,這時需要使用轉義符來表示這些字元常量,轉義符由反斜杠“\”加字元組成,如

'\n'。

章節目錄上一頁下一頁(4)字串常量字串常量是由一對雙引號界定的字元序列,例如:"歡迎使用C#!""Iamastudent."需要注意的是,即使由雙引號界定的一個字元,也是字串常量,不能當做字元常量看待,例如,'A'與"A",前者是字元常量,後者是字串常量。

(5)布爾常量布爾常量即布爾值本身,如前所述,布爾值true(真)和false(假)是C#的兩個關鍵字。

章節目錄上一頁下一頁2.符號常量符號常量使用const關鍵字定義,格式為:

const類型名稱常量名=常量運算式;常量定義中,“常量運算式”的意義在於該運算式不能包含變數及函數等值會發生變化的內容。常量運算式中可以包含其他已定義常量。

由於符號常量代表的是一個不變的值,所以符號常量不能出現在賦值號的左邊。如果在程式中非常頻繁地使用某一常量,可以將其定義為符號常量。

章節目錄上一頁下一頁3.3.3類型轉換數據類型的轉換有隱式轉換與顯式轉換兩種。1.隱式轉換隱式轉換是系統自動執行的數據類型轉換。隱式轉換的基本原則是允許數值範圍小的類型向數值範圍大的類型轉換,允許無符號整數類型向有符號整數類型轉換。

2.顯式轉換顯式轉換也叫強制轉換,是在代碼中明確指示將某一類型的數據轉換為另一種類型。顯式轉換的一般格式為:

(數據類型名稱)數據例如:intx=600;shortz=(short)x;顯式轉換中可能導致數據的丟失,例如:decimald=234.55M;intx=(int)d;章節目錄上一頁下一頁

章節目錄上一頁下一頁3.使用方法進行數據類型的轉換(1)Parse方法Parse方法可以將特定格式的字串轉換為數值。Parse方法的使用格式為:數值類型名稱.Parse(字串型運算式)例如:intx=int.Parse("123");(2)ToString方法ToString方法可將其他數據類型的變數值轉換為字串類型。ToString方法的使用格式為:變數名稱.ToString()例如:intx=123;strings=x.ToString();

章節目錄上一頁下一頁

3.4運算符與運算式

3.4.1運算符與運算式類型1.算術運算符與算術運算式算術運算符有一元運算符與二元運算符。①

一元運算符:-(取負)、+(取正)、++(增量)、--(減量)。②

二元運算符:+(加)、-(減)、*(乘)、/(除)、%(求餘)。由算術運算符與運算元構成的運算式叫算術運算式。

章節目錄上一頁下一頁“-”與“+”只能放在運算元的左邊。增量與減量量符只能用於變數。二元運算符的意義與數學意義相同,其中%(求餘)運算符是以除法的餘數作為運算結果,求餘運算也叫求模。例如:intx=6,y=2,z;z=x%y;//x除以y的結果不是3(商),而是0(餘數)要注意數據類型。例如:inta,b=39;a=b/2;//a的值為18

章節目錄上一頁下一頁2.字串運算符與字串運算式字串運算符只有一個,即“+”運算符,表示將兩個字串連接起來。例如:stringconnec="abcd"+"ef";//connec的值為“abcdef”“+”運算符還可以將字元型數據與字串型數據或多個字元型數據連接在一起,例如:stringconnec="abcd"+'e'+'f';//connec的值為“abcdef”

章節目錄上一頁下一頁3.關係運算符與關係運算式>,<,>=,<=,==,!=。依次為大於,小於,大於等於,小於等於,等於,不等於。用於字串的關係運算符只有相等“==”與不等“!=”運算符。4.邏輯運算符與邏輯運算式在C#中,最常用的邏輯運算符是!(非)、&&與、||(或)。

章節目錄上一頁下一頁例如:boolb1=!true;//b1的值為falseboolb2=5>3&&1>2;//b2的值為falseboolb3=5>3||1>2//b3的值為true5.條件運算符與條件運算式條件運算符是C#中唯一的三元運算符,條件運算符由符號“?”與“:”組成,通過操作三個運算元完成運算,其一般格式為:布爾類型運算式?運算式1:運算式2

章節目錄上一頁下一頁6.賦值運算符與賦值運算式在賦值運算式中,賦值運算符左邊的運算元叫左運算元,賦值運算符右邊的運算元叫右運算元。左運算元通常是一個變數。複合賦值運算符,如“*=”、“/=”、“%=”、“+=”、“-=”等。

3.4.2運算符的優先順序與結合性

1.優先順序

①一元運算符的優先順序高於二元和三元運算符。②不同種類運算符的優先順序有高低之分,算術運算符的優先順序高於關係運算符,關係運算符的優先順序高於邏輯運算符,邏輯運算符的優先順序高於條件運算符,條件運算符的優先順序高於賦值運算符。③有些同類運算符優先順序也有高低之分,在算術運算符中,乘、除、求餘的優先順序高於加、減;在關係運算符中,小於、大於、小於等於、大於等於的優先順序高於相等與不等;邏輯運算符的優先順序按從高到低排列為非、與、或。章節目錄上一頁下一頁

章節目錄上一頁下一頁可以使用圓括號明確運算順序。例如:strings=x>y?"greaterthan":x==y?"equalto":"lessthan";strings=x>y?"greaterthan":(x==y?"equalto":"lessthan");括弧還可以改變運算式的運算順序

:b*c+db*(c+d),

章節目錄上一頁下一頁4.1.2複合賦值語句與連續賦值語句

1.複合賦值語句

複合賦值語句是使用+=、-=、*=、/=等運算符構成的賦值語句,這種語句首先需要完成特定的運算然後再進行賦值運算操作。例如:intx=5;x+=6;strings="abcd";s+="efjh";

章節目錄上一頁下一頁2.連續賦值語句連續賦值語句是在一條語句中使用多個賦值運算符進行賦值的語句,這種語句可以一次為多個變數賦予相同的值。例如:intx,y,z;x=y=z=6;strings1,s2,s3;s1=s2=s3="efjh";

章節目錄上一頁下一頁

4.2輸入與輸出4.2.1控制臺應用程式的輸入與輸出方法1.輸方入法Read與ReadLine方法的功能是接受從鍵盤上輸入的數據

例如:charc=(char)Console.Read();strings=Console.ReadLine();inti=int.Parse(Console.ReadLine());

章節目錄上一頁下一頁2.輸出方法Write與WriteLineConsole.Write("abcd");Console.WriteLine("abcd");格式化輸出。例如:

Console.WriteLine("{0};{1};{2}",10,20,30);Console.WriteLine("{0}{1},{2}","這兩個數是:",10,20);

章節目錄上一頁下一頁4.2.2Windows應用程式的輸入與輸出

1.焦點與Tab鍵順序

焦點是控件接收用戶滑鼠或鍵盤輸入的能力。

GotFocus或LostFocus事件。獲得焦點的語法格式為:對象名稱.Focus();

章節目錄上一頁下一頁

所謂Tab鍵序指的是在用戶按下〈Tab〉鍵時,焦點在控件間移動的順序。通過設置TabIndex屬性來改變一個控件的Tab鍵順序。控件的TabIndex屬性決定了它在Tab鍵順序中的位置。按照缺省規定,第一個建立的控件其TabIndex值為0,第二個的TabIndex值為1,以此類推。將控件的TabStop屬性設為false,便可將此控件從鍵序中排除,但仍然保持它在實際Tab鍵序中的位置,只不過在按〈Tab〉鍵時這個控件將被跳過。

章節目錄上一頁下一頁2.使用標籤與文本框實現輸入與輸出從使用程式的用戶的角度看,文本框和標籤控件的主要區別在於標籤控件是一個只能向用戶顯示輸出數據的控件,而文本框控件既可以讓用戶在其中輸入數據,也可以向用戶顯示輸出數據。3.使用鏈接標籤

LinkColor設置控件中未被單擊過的文字顏色VisiteLinkColor設置控件中被單擊過的文字顏色ActiveLinkColor單擊滑鼠時文字的顏色

章節目錄上一頁下一頁LinkVisited超鏈接是否被訪問過,False表示未被訪問過(默認值)Links控件中所有鏈接的集合,屬於類LinkLabel.LinkConnectionLinkArea設置Text值(字串)的鏈接子串LinkClicked用戶單擊LinkLabel控件時觸發的事件

章節目錄上一頁下一頁4.3使用圖片框與圖片列表控件4.3.1使用圖片框(PictureBox)圖片框控件PictureBox用來在窗體上顯示一個圖片。

圖片框的BorderStyle屬性可設置其邊框樣式:值None表示沒有邊框;FixedSingle表示單線邊框;Fixed3D表示立體邊框。

章節目錄上一頁下一頁SizeMode屬性值及說明

AutoSize:PictureBox控件調整自身大小,使圖片能正好顯示其中CenterImage:若控件大於圖片則圖片居中;若圖片大於控件則圖片居中,超出控件的部分被剪切掉Normal:圖片顯示在控件左上角,若圖片大於控件則超出部分被剪切掉StretchImage:若圖片與控件大小不等,則圖片被拉伸或縮小以適應控件

章節目錄上一頁下一頁5.1選擇結構程式的設計在C#中,提供兩種選擇語句實現流程的改變:if語句,用於判斷特定的條件能否滿足,用於單分支選擇,也可以通過嵌套實現多分支選擇。switch語句,用於多分支選擇。

章節目錄上一頁下一頁5.2單分支選擇結構(if語句)

if語句是程式設計中基本的選擇語句,它根據條件運算式的值選擇要執行的後面的內嵌語句序列。一般用於簡單選擇,即選擇項中有一個或兩個分支,語句執行的過程中根據不同的情況進行選擇其中一個分支執行。格式為:

if(布爾條件運算式)

內嵌語句序列1;else

內嵌語句序列2;圖5-1if語句的流程圖條件運算式內嵌語句序列1內嵌語句序列2TrueFalse圖5-1if語句的流程圖

章節目錄上一頁下一頁說明:①若布爾運算式的值為真時,程式執行內嵌語句序列1,否則執行內嵌語句序列2。②ifelse語句中,內嵌語句序列1和內嵌語句序列2可以是簡單語句,也可以是複合語句。如果內嵌語句序列中為多個執行語句要使用花括弧({…})組合為一個語句塊。③也可以省去else和內嵌語句序列2,即當程式滿足布爾運算式的值為真時,執行語句序列1。該結構的流程圖如圖5-1所示。

章節目錄上一頁下一頁5.2.1if…else語句根據布爾條件運算式的值進行判斷,當該值為真時執行if語句後的語句序列,當為假時,執行else語句後的語句序列。該結構一般用於兩種分支的選擇。下麵結合實例介紹if…else語句的使用方法。【例5-1】某商店為了吸引顧客,採取以下優惠活動:所購商品在1000元以下的,打9折優惠;所購商品多於1000元的,打8折優惠。試采用if語句實現該優惠。

章節目錄上一頁下一頁分析:該問題屬於數學分段函數問題,當所購商品總額<1000元時,打折後的商品總額為(所購商品總額*0.9);當所購商品總額>1000時,打折後的商品總額為(所購商品總額*0.8)。(1)建立專案在VisualStudio.NET中,打開“檔”菜單,依次選擇“新建→專案”命令,打開“新建專案”對話框,選擇“VisualC#專案”,選擇“Windows應用程式”輸入專案的名稱和存放位置。

圖5-2實現打折優惠

章節目錄上一頁下一頁(2)設計窗體單擊工作區左側的“工具箱”或單擊工具欄上工具箱圖示,工具箱將顯示在工作區左側。添加相應的控件。(3)編輯代碼選中按鈕控件,單擊滑鼠右鍵,在彈出的菜單中選擇“查看代碼”命令,或通過“視圖”菜單中的“代碼”命令,切換到代碼視圖。也可以雙擊控件直接在事件中添加代碼。代碼為:

章節目錄上一頁下一頁privatevoidbutton1_Click(objectsender,System.EventArgse){doublek,m;k=double.Parse(tCost.Text);if(k<1000){m=k*0.9;}else{m=k*0.8;}pCost.Text=m.ToString();}

章節目錄上一頁下一頁(4)編譯、運行程式單擊工具欄上的啟動按鈕,或按〈F5〉鍵執行程式,顯示Windows窗體。在“請輸入所購商品的總金額”文本框中輸入相關金額,單擊【打折】按鈕,完成相應的功能。【例5-2】編輯框的PasswordChar屬性可以隱蔽用戶通過鍵盤輸入的字元,常用來編寫檢查用戶口令的程式。使用選擇語句實現該操作。

分析:本題使用編輯框實現命令接受工作,使用if語句實現判斷。採用基本的控件實現如圖5-4所示。圖5-4口令驗證

章節目錄上一頁下一頁代碼如下。privatevoidbutton1_Click(objectsender,System.EventArgse){if(textBox1.Text=="abc")//設口令為“abc”label2.Text="歡迎使用本系統!";//如果輸入正確,顯示"歡迎使用本系統!"else//如果輸入不正確

label2.Text="對不起,您的口令有誤,您無權使用該系統!";}

章節目錄上一頁下一頁5.2.2if…else…if語句

if…else語句也可以用於多種分支的選擇結構,這種情況也就是if語句嵌套結構。if語句中,內嵌語句可以是複合語句,也就是說,內嵌語句中可以包含選擇語句、迴圈語句等。那麼,if語句可以嵌套,但應注意if…else的配對問題。在默認情況下,else語句總是和最近的if語句配對。下麵通過【例5-3】瞭解if語句的嵌套方法。

章節目錄上一頁下一頁【例5-3】將百分制成績轉換為五分制成績。轉換標準如下:90分以上為“優秀”,80分以上為“良”,70分以上為“中”,60分以上為“及格”,60分以下為“不及格”。程式運行結果如圖5-5左圖所示。

圖5-5成績轉換設計

章節目錄上一頁下一頁程式運行時,單擊【轉換】按鈕執行的代碼如下:privatevoidbutton1_Click(objectsender,System.EventArgse)

{intk=int.Parse(textBox2.Text);if(k>90)textBox1.Text="優";elseif(k>80)textBox1.Text="良";

章節目錄上一頁下一頁elseif(k>70)textBox1.Text="中";elseif(k>60)textBox1.Text="及格";elseif(k<60)//此指令可省略

textBox1.Text="不及格";}上例中使用了if語句的嵌套實現,其中因為條件判斷後只用一個語句,如“textBox1.Text="良";”,所以,可以省略{},當存在多條語句時,要使用{}表示為一個語句塊。

1.break語句break語句用於停止貫穿語句的執行。即在switch語句結構中,break語句用於選擇分支的語句運行。也可使用goto語句實現語句轉移,但是,應儘量避免使用這種方法。2.default標籤在switch語句中,常常用到default標籤來處理不滿足case語句的值,定義default標籤可以增強處理相應的異常章節目錄上一頁下一頁【例5-5】某航空公司規定在旅遊的旺季7~9月份,如果訂票數超過20張,票價優惠15%,20張以下,優惠5%;在旅遊的淡季1~5月份、10月份、11月份,如果訂票數超過20張,票價優惠30%,20張以下,優惠20%;其他情況一律優惠10%設計程式,根據月份和訂票張數決定票價的優惠率(如圖5-8)

章節目錄上一頁下一頁圖5-8計算優惠價該問題屬於多分支選擇問題。該問題中旅遊的淡季1~5月份、10月份、11月份的優惠率一樣,在switch語句中,這幾種情況可以使用同一種操作;旅遊的旺季7~9月份的優惠率一樣,可以使用同一種操作。“計算優惠率”按鈕實現代碼如下。privatevoidbutton1_Click(objectsender,System.EventArgse){ intmon; intsum;mon=Convert.ToInt32(textBox1.Text);sum=Convert.ToInt32(textBox2.Text);章節目錄上一頁下一頁

switch(mon){case1:case2:case3:case4:case5:case10:case11:if(sum>20)label3.Text="優惠率為30%";elselabel3.Text="優惠率為20%";break;case7:

章節目錄上一頁下一頁case8:case9:if(sum>20)label3.Text="優惠率為15%";elselabel3.Text="優惠率為5%";break;default:label3.Text="優惠率為10%";break;

}}章節目錄上一頁下一頁5.4使用單選按鈕與複選框控件5.4.1單選按鈕(RadioButton)單選按鈕也叫選項按鈕,為用戶提供從多個選項中選擇一個選項的功能,因此單選按鈕顧名思義是一種“多選一”的控件。【例5-6】設計Windows應用程式,單擊【顯示】按鈕,根據對單選按鈕的選擇,分別顯示日期或時間。程式運行結果如圖5-11和圖5-12所示。章節目錄上一頁下一頁1.break語句break語句用於停止貫穿語句的執行。即在switch語句結構中,break語句用於選擇分支的語句運行。也可使用goto語句實現語句轉移,但是,應儘量避免使用這種方法。章節目錄上一頁下一頁(1)設計窗體和設置屬性章節目錄上一頁下一頁圖5-11顯示日期圖5-12顯示時間(2)設計代碼privatevoidbutton1_Click(objectsender,System.EventArgse){if(ShowDate.Checked)//顯示日期

lblDateTime.Text=DateTime.Now.Year+"年"+DateTime.Now.Month+"月"+DateTime.Now.Day+"日";if(ShowTime.Checked)//顯示時間

lblDateTime.Text=DateTime.Now.Hour+"時"+DateTime.Now.Minute+"分"+DateTime.Now.Second+"秒";}章節目錄上一頁下一頁

在編寫程式過程中,往往出現相同類型操作需要重複出現,如實現1+2+…+100,則需要做99次加法,這類問題使用迴圈語句解決,可以使問題變得簡單。即迴圈語句用於實現語句塊的重複執行。根據問題的具體情況,C#中提供了四種不同的迴圈機制:for迴圈、while迴圈、do…while迴圈和foreach迴圈。這裏介紹前三種迴圈機制,foreach迴圈將在數組仲介紹。6.1for迴圈語句

for迴圈常常用於已知迴圈次數的情況,使用該迴圈時,測試是否滿足某個條件,如果滿足條件,則進入下一次迴圈,否則,退出該迴圈。章節目錄上一頁下一頁6.1.1for語句的語法格式for迴圈語句格式為:for(運算式1;運算式2;運算式3){迴圈語句序列;}其中運算式1用於參與迴圈條件變數的初始化,該運算式僅執行一次;運算式2為條件判斷運算式,即每次循環體開始之前,判斷該運算式是否成立,如果成立,進入下一次迴圈,否則,迴圈結束;運算式3用於參與迴圈條件變數的運算,一般為遞增或遞減的迴圈計數器。迴圈語句序列用於描述重複執行的語句,當語句序列中僅含有一條語句時,花括弧可以省略。章節目錄上一頁下一頁流程圖如圖6-1所示。該結構中,運算式1、運算式2、運算式3是可選的,但應該注意死迴圈的發生。如運算式2省略,並且不采用轉移語句,會導致死迴圈的發生。可以在循環體中的任何位置放置break語句來強制終止for迴圈——隨時跳出for迴圈。break語句通常包含於if語句中。章節目錄上一頁下一頁圖6-1for迴圈流程圖6.1.2for迴圈語句的使用根據下麵的實例,瞭解for語句的工作流程及實現方法。【例6-1】計算1+2+3+…100。使用for語句實現。分析:該問題屬於重複執行加法的問題,並且參與運算的兩個運算元不斷的按規律增加。該類問題可以通過迴圈進行解決。(1)建立專案(2)設計窗體(3)設計代碼章節目錄上一頁下一頁在窗體設計圖上,雙擊按鈕button1編寫【計算】按鈕的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){intsum;sum=0;for(intk=1;k<=100;k=k+1){sum=sum+k;}label1.Text="從1加到100值為"+sum.ToString();}章節目錄上一頁下一頁

程式的運行結果如圖6-2所示的左圖,單擊“計算”按鈕,將在標籤上顯示運行結果。章節目錄上一頁下一頁圖6-2程式運行結果【例6-2】計算n!,假設n=10。分析:該例實現階乘的運算,可以使用改變乘數的值進行實現,使用迴圈可以方便的實現該類問題。程式的運行結果如圖6-3左圖所示。章節目錄上一頁下一頁圖6-3計算n!編寫【計算】按鈕的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){intsum,k;sum=1;for(k=1;k<=10;k++){sum=sum*k;}textBox1.Text=sum.ToString();}章節目錄上一頁下一頁6.2while迴圈語句與for迴圈語句比較,while語句使用的頻率要低一些,它可以用於不知道迴圈次數的情況;用於在迴圈時判斷是否滿足某個條件。每一次在迴圈的頂部進行檢測迴圈是否繼續,當迴圈的條件為假時,退出迴圈。6.2.1while迴圈語句的語法格式while迴圈語句的格式為:while(布爾條件運算式){語句序列;}布爾條件運算式是每次迴圈開始前進行判斷的條件,當條件運算式的值為真時,執行迴圈;否則,退出迴圈。該語句結構的流程圖如圖6-4所示。章節目錄上一頁下一頁說明如下:①布爾條件運算式是一個具有boolean值的條件運算式,為迴圈的條件。②作為循環體的語句序列可以是簡單語句、複合語句和其他結構語句。③while迴圈的執行過程:首先計算條件運算式的值,如果為真(True),則執行後面的循環體,執行完後,再開始一個新的迴圈;如果為假(False),則終止迴圈,執行循環體後面的語句。章節目錄上一頁下一頁④可以在循環體中的任何位置放置break語句來強制終止while迴圈——隨時跳出while迴圈。break語句通常包含於if語句中。⑤可以在循環體中的任何位置放置continue語句,在整個循環體沒有執行完就重新判斷條件,以決定是否開始新的迴圈。continue語句通常包含於if語句中。章節目錄上一頁下一頁圖6-4while程式流程圖6.2.2while迴圈語句的使用【例6-3】設有一張厚為xmm,面積足夠大的紙,將它不斷地對折。試問對折多少次後,其厚度可達珠穆朗瑪峰的高度(8844.43m)。設對折後紙的厚度為hmm,計數器為n。在沒有對折時,紙厚為xmm,每對折一次,其厚度是上一次的2倍,在未到達8844.43m時,重複對折。在程式中,紙的厚度就是對折後紙的厚度,所以用一個變數h。章節目錄上一頁下一頁建立應用程式用戶介面與設置對象屬性,如圖6-5所示。章節目錄上一頁下一頁圖6-5用戶介面及程式運行結果章節目錄上一頁下一頁【計算】按鈕的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){intn=0;floath;h=float.Parse(textBox1.Text);while(h<8844430){n=n+1;h=2*h;}textBox2.Text=n.ToString();}程式運行結果如圖6-5所示。章節目錄上一頁下一頁6.3do…while迴圈do…while迴圈非常類似於while迴圈。一般情況下,可以相互轉換使用。它們之間的差別在於while迴圈的測試條件在每一次迴圈開始時執行,而do…while迴圈的測試條件在每一次循環體結束時進行判斷。同樣的,do…while可以解決一些迴圈問題,但使用的頻率較少。6.3.1do…while的語法格式do…while語法的一般格式為:do{語句序列;}while(布爾條件運算式)章節目錄上一頁下一頁6.3.2do…while的使用【例6-4】使用do…while語句實現1+2+3+…100。窗體及控件的屬性設計見【例6-1】。【計算】按鈕的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){intsum;sum=0;intk=1;

章節目錄上一頁下一頁do{sum=sum+k;k=k+1;}while(k<=100);label1.Text="從1加到100值為"+sum.ToString();//將sum顯式轉換為字串}章節目錄上一頁下一頁6.5迴圈的嵌套當一個迴圈(稱為“外迴圈”)的迴圈語句序列內包含另一個迴圈(稱為“內迴圈”),稱為迴圈的嵌套,這種語句結構稱為多重迴圈結構。內迴圈中還以包含迴圈,形成多層迴圈(迴圈嵌套的層數理論上無限制)。三種迴圈(while迴圈、do…while迴圈、for迴圈)可以互相嵌套。在多重迴圈中,需要注意的是迴圈語句所在迴圈的層數。如以下代碼:intsum=0;for(inti=1;i<=10;i=i+1)for(intk=1;k<=i;k=k+1)sum=sum+k;章節目錄上一頁下一頁【例6-6】編程實現九九乘法表。分析:本例中實現每一個一位數i顯示從1乘到i,對於i的取值要從取到9,所以可以使用兩重迴圈實現,程式設計如圖6-8所示。使用label1控件實現乘法表的顯示。章節目錄上一頁下一頁圖6-8九九乘法表本例的介面設計如圖6-8右圖,使用label1控件實現乘法表的顯示。本例使用兩重迴圈實現,其中外層迴圈實現乘法表中第二乘數i取值範圍為1到9,內層迴圈在外層迴圈的基礎上計算第一個乘數k的取值範圍為1到i,其乘積以及運算式在label控件中顯示。運行結果如圖6-8左圖所示。【九九乘法表】按鈕的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){label1.Text="";strings="";intsum;

章節目錄上一頁下一頁for(inti=1;i<10;i=i+1){s="";for(intk=1;k<=i;k=k+1){sum=k*i;s=s+k.ToString()+"×"+i.ToString()+"="+sum.ToString()+";";}label1.Text+=s+"\n";//顯示並換行

}}章節目錄上一頁下一頁6.4跳轉語句使用跳轉語句,可以使程式執行跳轉到程式中其他部分。C#中提供四種轉移語句:goto語句、break語句、continue語句、return語句。1.goto語句

goto語句可以將程式控制直接轉移給標籤制定的語句。但由於goto語句改變了程式的正常流程,使得程式特別容易出錯,所以儘量不要用。而且,用goto語句實現的迴圈完全可以用迴圈語句實現,因此,goto語句很少使用。章節目錄上一頁下一頁2.break語句在第5章仲介紹了break在switch中的用法,break語句也可以用於退出所在的最近迴圈,使用break語句時,將結束迴圈,執行後面的語句。break不能放在迴圈語句或switch語句後,否則發生錯誤。3.continue語句continue語句用於迴圈語句中,類似於break語句,但僅從當前的迴圈迭代中退出,然後執行下一次迭代迴圈。【例6-10】使用計數器迴圈語句瞭解continue語句的使用,要求輸出大於5的數章節目錄上一頁下一頁本例使用控制臺程式實現。【計算】按鈕的Click(單擊)事件代碼為:staticvoidMain(string[]args){for(inti=1;i<=10;i=i+1){if(i<5)continue;Console.WriteLine(i);}Console.ReadLine();}章節目錄上一頁下一頁本程式的運行結果為5678910該例中當i<5時通過continue退出本次迴圈,所以運行結果中不顯示1、2、3、4數字。章節目錄上一頁下一頁6.5列表框和組合框6.5.1列表框(ListBox)ListBox控件為用戶提供了選項的列表,用戶可以從列表中進行選擇輸入。如果專案數目超過列表框可顯示的數目,控件上將自動出現滾動條,它是一種規範輸入的好工具。1.列表框的常用屬性、方法和事件2.列表框應用實例【例6-11】計算並輸出從sum=1+…+(k-1)+k。滿足sum>1000是退出迴圈。章節目錄上一頁下一頁分析:該例屬於迴圈中語句轉移的情況,本例中使用listBox控件用於顯示sum的值,使用button控件實現該事件。程式設計如圖6-12所示。章節目錄上一頁下一頁圖6-12計算sum的值【計算】按鈕的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){intk=1;intsum=0;while(k<100){sum=sum+k;listBox1.Items.Add("0+…"+k.ToString()+"="+sum.ToString());k=k+1;if(sum>1000)break;}}章節目錄上一頁下一頁6.5.2組合框(ComboBox)組合框是一個文本框和一個列表框的組合。與列表框不同的是列表框只能在給定的列表項中選擇,而組合框除了可在給定的列表項中選擇還可以直接在文本框中輸入(DropDownStyle屬性被設置DropDownList時除外)。1.ComboBox常用屬性和事件2.ComboBox應用實例章節目錄上一頁下一頁【例6-12】要求單擊【開始】按鈕,將兩個組合框中指定的年份範圍內的所有閏年輸出到列表框中。圖6-14為顯示1955~2005年之間的所有閏年的結果。章節目錄上一頁下一頁

圖6-14程式運行結果(1)設計程式介面。(2)設置對象屬性。(3)編寫程式代碼。privatevoidbtnStart_Click(objectsender,System.EventArgse){//如果任一組合框中沒有選定年份,則不執行任何操作

if(cboStart.SelectedIndex==-1||cboEnd.SelectedIndex==-1){return;}章節目錄上一頁下一頁intyearStart=int.Parse(cboStart.SelectedItem.ToString());intyearEnd=int.Parse(cboEnd.SelectedItem.ToString());if(yearStart>yearEnd)return;lstOut.Items.Clear();//清除上次判斷顯示的內容

for(inti=yearStart;i<=yearEnd;i=i+1)if(i%4==0&&i%100!=0||i%400==0)lstOut.Items.Add(i);//將閏年的年份追加到列表框}章節目錄上一頁下一頁【清除】按鈕被單擊時執行的事件代碼如下:privatevoidbtnClear_Click(objectsender,System.EventArgse){lstOut.Items.Clear();//清空列表}章節目錄上一頁下一頁6.6使用計時器控件(Timer)計時器(Timer)控件在工具箱的圖示為,它是一種無需用戶干預,按一定時間間隔週期性地自動觸發事件的控件。一般用來檢查系統時間,判斷是否該執行某項任務,也可以用於後臺處理。Timer控件在程式運行時是不可見的,所以將其添加到窗體後顯示在窗體設計器下方的組件窗格中。6.6.1計時器控件的屬性、方法和事件Timer控件的主要屬性、方法和事件見表6-4。在計時器的Tick事件中設計的程式代碼,會在該事件不斷被觸發的過程中,重複執行,從這一點看,計時器具有迴圈語句的功能。章節目錄上一頁下一頁(2)設置對象屬性。章節目錄上一頁下一頁

圖6-19運行結果添加代碼以保證窗口被啟動時txtNumber控件獲得焦點,代碼如下:privatevoidForm1_Activated(objectsender,System.EventArgse){txtNumber.Focus();//輸入文本框獲得焦點}章節目錄上一頁下一頁用上面同樣方法,選中txtNumber(textBox3)控件,在如圖6-24所示的窗口中雙擊KeyPress,為控件txtNumber添加KeyPress(鍵盤事件)代碼如下:privatevoidtxtNumber_KeyPress(objectsender,System.Windows.Forms.KeyPressEventArgse){if(e.KeyChar=='\r')//按〈Enter〉鍵則執行下麵的代碼(開始倒計時)

{if(txtNumber.Text=="")章節目錄上一頁下一頁return;remainder=Convert.ToUInt32(txtNumber.Text)*60;//將分鐘換算為秒

timer2.Enabled=false;//第2個計時器終止工作

timer1.Enabled=true;//第1個計時器開始工作

lblTimeEnd.Visible=true;//顯示控件

txtTimeEnd.Visible=true;//顯示控件

lblTimeStart.Text="開始時間:";//更換標籤標題

}}章節目錄上一頁下一頁雙擊控件timer2添加事件代碼如下:privatevoidtimer2_Tick(objectsender,System.EventArgse){//在txtTimeStart文本框中顯示時間

txtTim

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论