第4章窗體應(yīng)用程序設(shè)計(jì)_第1頁(yè)
第4章窗體應(yīng)用程序設(shè)計(jì)_第2頁(yè)
第4章窗體應(yīng)用程序設(shè)計(jì)_第3頁(yè)
第4章窗體應(yīng)用程序設(shè)計(jì)_第4頁(yè)
第4章窗體應(yīng)用程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第四章窗體應(yīng)用程序設(shè)計(jì)C#面向?qū)ο蟪绦蛟O(shè)計(jì)C#面向?qū)ο蟪绦蛟O(shè)計(jì)第1章編寫C#程序第2章面向?qū)ο缶幊谭椒ǖ?章異常處理第4章窗體應(yīng)用程序設(shè)計(jì)第5章數(shù)據(jù)庫(kù)開發(fā)技術(shù)第6章數(shù)據(jù)綁定第7章文件數(shù)據(jù)存儲(chǔ)第8章XML第9章線程和同步第10章ActiveX控件和自定義組件的開發(fā)第11章綜合實(shí)例本章導(dǎo)讀創(chuàng)建Windows窗體程序常用控件常用組件菜單和工具欄設(shè)計(jì)實(shí)驗(yàn)4.1創(chuàng)建Windows窗體程序4.1.1創(chuàng)建Windows窗體程序圖4-2Windows窗體應(yīng)用程序設(shè)計(jì)界面4.1創(chuàng)建Windows窗體程序【例4.1】Hello

World

1、窗體設(shè)計(jì):點(diǎn)擊打開“工具箱”,在“所有Windows窗體”中選擇“Label”標(biāo)簽控件,雙擊或者直接拖拽到Form1窗體中相應(yīng)的位置上,如圖4-3所示。

2、屬性修改:將鼠標(biāo)放在窗體中的“Label”標(biāo)簽控件上,單擊右鍵,選擇“屬性”,當(dāng)屬性窗口出現(xiàn)后,將其Text屬性的值修改為“HelloWorld!”,通過修改Font字體的屬性值,將文字修改為合適的字體和大小,如圖4-4和圖4-5所示。

3、運(yùn)行程序:在菜單欄選擇“調(diào)試—>啟動(dòng)調(diào)試”或者按F5快捷鍵或者單擊工具欄上的按鈕均可;也可以在菜單欄選擇“調(diào)試—>開始執(zhí)行(不調(diào)試)”或者按“Ctrl+F5”快捷鍵執(zhí)行Windows窗體應(yīng)用程序。程序的運(yùn)行結(jié)果如圖4-6所示。

4、程序停止:當(dāng)窗體運(yùn)行后,可以通過窗體關(guān)閉按鈕直接關(guān)閉,也可以單擊工具欄上中的停止按鈕或者在菜單欄選擇“調(diào)試—>停止調(diào)試”還可以按“Shift+F5”快捷鍵終止程序運(yùn)行。4.1創(chuàng)建Windows窗體程序圖4-3“Label”標(biāo)簽控件圖4-4打開“Label”標(biāo)簽控件的屬性窗口4.1創(chuàng)建Windows窗體程序圖4-5修改“Label”標(biāo)簽控件的相關(guān)屬性圖4-6窗體程序運(yùn)行結(jié)果4.1創(chuàng)建Windows窗體程序4.1.2程序結(jié)構(gòu)解析【例4.2】

在圖4-6中添加一個(gè)按鈕,當(dāng)單擊此按鈕時(shí),“HelloWorld”的字體會(huì)發(fā)生變化。具體步驟如下:

1、窗體設(shè)計(jì):與上例相同部分的步驟省略。對(duì)“Label”標(biāo)簽控件的相關(guān)基本屬性修改完后,在窗體右下角拖入“button”按鈕控件,并將其Text屬性值設(shè)置為“改變字體”。

2、編寫程序:在窗體設(shè)計(jì)窗口上雙擊“改變字體”按鈕,打開Form1.cs文件,如圖4-7所示。此文件為程序文件,用戶將編寫的代碼存儲(chǔ)在此文件中。將下列代碼插入圖4-7中的指定位置。

label1.Font=newFont("方正舒體",30);button1.Enabled=false;3、運(yùn)行程序:運(yùn)行程序,結(jié)果如圖4-8所示。單擊“改變字體”按鈕,結(jié)果如圖4-9所示。4.1創(chuàng)建Windows窗體程序圖4-7Form1.cs文件4.1創(chuàng)建Windows窗體程序圖4-8運(yùn)行結(jié)果圖4-9點(diǎn)擊按鈕后的運(yùn)行結(jié)果4.1創(chuàng)建Windows窗體程序引用語句:可以看到程序的最開始,有這樣一段代碼:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;

這些代碼由兩個(gè)部分組成:using+命名空間的名稱。Using是一個(gè)C#關(guān)鍵字,主要用于引入命名空間。每個(gè)命名空間中間可以包含多個(gè)類,默認(rèn)情況下,系統(tǒng)會(huì)默認(rèn)導(dǎo)入上述8個(gè)命名空間,這些命名空間提供了常用的類。若程序設(shè)計(jì)者需要實(shí)現(xiàn)其它非默認(rèn)功能,也可以手工導(dǎo)入相應(yīng)的系統(tǒng)命名空間。4.1創(chuàng)建Windows窗體程序類聲明:C#應(yīng)用程序的相關(guān)程序代碼都必須寫在類中,如下:namespaceHello_World{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){label1.Font=newFont("方正舒體",30);button1.Enabled=false;}}}4.1創(chuàng)建Windows窗體程序4.2

常用控件

控件是包含在窗體上的對(duì)象,是用戶界面的基本組成元素,也是C#可視化編程的重要工具。在Windows應(yīng)用程序開發(fā)中通過使用控件可以減少程序設(shè)計(jì)中大量的重復(fù)工作,提高代碼編寫效率。4.2.1按鈕類控件1、Button按鈕控件表4-1Button按鈕控件的部分屬性屬性名稱功能描述TabIndex在Web頁(yè)面中用Tab鍵切換控件時(shí),控件順序的編號(hào)。DialogResult獲取或設(shè)置一個(gè)值,該值在單擊按鈕時(shí)返回到父窗體。Image獲取或設(shè)置顯示在按鈕控件上的圖片。FlatStyle獲取或設(shè)置按鈕控件的平面樣式外觀。2、RadioButton單選按鈕控件該控件的作用是為用戶提供選擇,但是在一組單選按鈕中,用戶只能選擇其中的一個(gè)。3、CheckBox復(fù)選框控件該控件與RadioButton單選按鈕控件控件一樣也是為用戶提供選擇,不同的是,在一組復(fù)選框中,用戶可以同時(shí)選擇多個(gè)。

名稱功能描述Checked屬性表示控件的狀態(tài)。當(dāng)其屬性值為true時(shí),表明該控件被選中;當(dāng)其屬性值為false時(shí),表明該控件未被選中。Click事件單擊控件時(shí),把按鈕的Checked屬性值置為true,同時(shí)發(fā)生Click事件。CheckedChanged事件當(dāng)Checked屬性值更改時(shí),觸發(fā)該事件。4.2

常用控件【例4.3】圖4-10窗體設(shè)計(jì)4.2

常用控件圖4-11回答錯(cuò)誤圖4-12回答正確4.2

常用控件4.2.2文本類控件1、Label標(biāo)簽控件該控件在Windows應(yīng)用程序設(shè)計(jì)中應(yīng)用的非常頻繁,它的作用是在窗體上顯示文本。Lable標(biāo)簽的屬性很多,其中最常用的就是Text屬性。該控件的主要作用是用戶用其進(jìn)行文本的輸入。它的常見屬性如表4-3所示。4.2

常用控件屬性名稱功能描述RightMargin用來設(shè)置或獲取右側(cè)空白的大小,單位是像素。通過該屬性可以設(shè)置右側(cè)空白。Rtf用來獲取或設(shè)置RichTextBox控件中的文本,包括所有RTF格式代碼??梢允褂么藢傩詫TF格式文本放到控件中以進(jìn)行顯示,或提取控件中的RTF格式文本。SelectedRtf用來獲取或設(shè)置控件中當(dāng)前選定的RTF格式的格式文本。此屬性使用戶得以獲取控件中的選定文本,包括RTF格式代碼。如果當(dāng)前未選定任何文本,給該屬性賦值將把所賦的文本插入到插入點(diǎn)處。如果選定了文本,則給該屬性所賦的文本值將替換掉選定文本。SelectionColor用來獲取或設(shè)置當(dāng)前選定文本或插入點(diǎn)處的文本顏色。SelectionFont用來獲取或設(shè)置當(dāng)前選定文本或插入點(diǎn)處的字體。CanRedo當(dāng)其值設(shè)為true時(shí),表明上一個(gè)被撤銷的操作可以使用Redo重復(fù)。CanUndo當(dāng)其值設(shè)為true時(shí),可以撤銷上一個(gè)操作。4.2

常用控件方法名稱功能描述Redo用來重做上次被撤銷的操作。Find用來從RichTextBox控件中查找指定的字符串。SaveFile用來把RichTextBox中的信息保存到指定的文件中。LoadFile使用LoadFile方法可以將文本文件、RTF文件裝入RichTextBox控件。Clear將富文本框中的文本內(nèi)容清空。4.2

常用控件【例4.4】Label標(biāo)簽控件與TextBox文本框控件的使用。圖4-13簡(jiǎn)易登錄界面的設(shè)計(jì)

雙擊Button按鈕控件,進(jìn)入到代碼編寫界面,在button1_Click按鈕單擊事件中添加如下代碼:

stringname="張三";stringpassword="123";if(textBox1.Text==name&&textBox2.Text==password){MessageBox.Show(textBox1.Text+",歡迎登錄!");}elseMessageBox.Show("用戶名或密碼錯(cuò)誤!請(qǐng)重新登錄");4.2

常用控件圖4-14登錄不成功圖4-15登錄成功4.2

常用控件【例4.5】RichTextBox富文本框控件的使用。①在D盤根目錄下用寫字板創(chuàng)建一個(gè)文件,將文件中的文本設(shè)置為不同的字體或顏色,并將其保存為.rft富文件格式,如圖4-16所示。4.2

常用控件②設(shè)計(jì)窗體界面,在窗體上放置一個(gè)RichTextBox富文本框控件,并調(diào)整至合適的大小,如圖4-17所示。圖4-17界面設(shè)計(jì)4.2

常用控件③雙擊窗體,進(jìn)入代碼編輯界面,在自動(dòng)生成的Form1_Load窗體加載事件中寫入如下代碼:richTextBox1.LoadFile("d:\\富文件.rtf",RichTextBoxStreamType.RichText);④運(yùn)行程序,可以看到,之前編寫的富文件被順利加載在窗體中,如圖4-18示。4.2

常用控件4.2

常用控件屬性名稱功能描述Items用于存放列表框中的列表項(xiàng),是一個(gè)集合。通過該屬性,可以添加列表項(xiàng)、移除列表項(xiàng)和獲得列表項(xiàng)的數(shù)目。MultiColumn用來獲取或設(shè)置一個(gè)值,該值指示ListBox是否支持多列。ColumnWidth用來獲取或設(shè)置多列ListBox控件中列的寬度。SelectionMode用來獲取或設(shè)置在ListBox控件中選擇列表項(xiàng)的方法。SelectedIndex用來獲取或設(shè)置ListBox控件中當(dāng)前選定項(xiàng)的從零開始的索引。如果未選定任何項(xiàng),則返回值為1。SelectedIndices該屬性用來獲取一個(gè)集合,該集合包含ListBox控件中所有選定項(xiàng)的從零開始的索引。SelectedItem獲取或設(shè)置ListBox中的當(dāng)前選定項(xiàng)。SelectedItems獲取ListBox控件中選定項(xiàng)的集合。Sorted獲取或設(shè)置一個(gè)值,該值指示ListBox控件中的列表項(xiàng)是否按字母順序排序。Text該屬性用來獲取或搜索ListBox控件中當(dāng)前選定項(xiàng)的文本。ItemsCount該屬性用來返回列表項(xiàng)的數(shù)目。表4-7ListBox列表框控件的常用方法方法名稱功能描述FindString查找列表項(xiàng)中以指定字符串開始的第一個(gè)項(xiàng)。SetSelected選中某一項(xiàng)或取消對(duì)某一項(xiàng)的選擇。Items.Add向列表框中增添一個(gè)列表項(xiàng)。Items.Insert在列表框中指定位置插入一個(gè)列表項(xiàng)。Items.Remove從列表框中刪除一個(gè)列表項(xiàng)。Items.Clear用來清除列表框中的所有項(xiàng)。4.2

常用控件2、CheckedListBox帶復(fù)選框的列表框控件屬性名稱功能描述CheckOnClick獲取或設(shè)置一個(gè)值,該值指示當(dāng)某項(xiàng)被選定時(shí)是否應(yīng)切換左側(cè)的復(fù)選框。CheckedItems該屬性是復(fù)選列表框中選中項(xiàng)的集合,只代表處于CheckState.Checked或CheckState.Indeterminate狀態(tài)的那些項(xiàng)。該集合中的索引按升序排列。CheckedIndices該屬性代表選中項(xiàng)(處于選中狀態(tài)或中間狀態(tài)的那些項(xiàng))索引的集合。4.2

常用控件3、ComboBox組合框控件屬性值功能描述Simple文本框與下拉框?yàn)檎归_狀態(tài),允許在文本框輸入和在下拉框中選擇。DropDown默認(rèn)不顯示下拉框,支持在文本框輸入,也支持在下拉框中選擇。DropDownList默認(rèn)不顯示下拉框,只能進(jìn)行選擇,不能輸入文本。4.2

常用控件

組合框的這三種樣式如圖4-19所示。圖4-19組合框的三種樣式4.2

常用控件【例4.6】學(xué)生信息錄入界面

設(shè)計(jì)窗體界面,如圖4-20所示。在窗體中適當(dāng)?shù)奈恢蒙戏謩e拖入ListBox列表框控件、CheckedListBox帶復(fù)選框的列表框控件以及ComboBox組合框控件。Label標(biāo)簽控件、button、TextBox文本框控件及按鈕控件的設(shè)置方法這里不再贅述。4.2

常用控件圖4-21程序運(yùn)行界面

圖4-22錄入學(xué)生信息圖4-23運(yùn)行結(jié)果4.2

常用控件4、ListView列表視圖控件屬性名稱功能描述Items獲取包含控件中所有項(xiàng)的集合。CheckBoxes獲取或設(shè)置一個(gè)值,用來指示控件中各項(xiàng)的旁邊是否顯示復(fù)選框。FullRowSelect獲取或設(shè)置一個(gè)值,該值表示當(dāng)單擊某項(xiàng)是否會(huì)選擇其所有子項(xiàng)。MultiSelect獲取或設(shè)置一個(gè)值,該值表示是否可以選擇多個(gè)項(xiàng)。SelectedItems獲取在控件中選定的項(xiàng)。LargeImageList獲取或設(shè)置ImageList,當(dāng)該項(xiàng)在控件中顯示為大圖標(biāo)時(shí)使用。SmallImageList獲取或設(shè)置ImageList,當(dāng)該項(xiàng)在控件中顯示為小圖標(biāo)時(shí)使用。Sorting獲取或設(shè)置控件中項(xiàng)目的排列順序。4.2

常用控件表4-11ListView列表視圖控件常用事件事件名稱功能描述ColumnClick當(dāng)單擊控件中的一個(gè)列時(shí)發(fā)生。ItemActivate當(dāng)激活一個(gè)選項(xiàng)時(shí)發(fā)生。ItemChecked當(dāng)某項(xiàng)的選中狀態(tài)發(fā)生變化時(shí)發(fā)生。ItemSelectionChanged當(dāng)某項(xiàng)的選定狀態(tài)發(fā)生變化時(shí)發(fā)生。BeforeLabelEdit在編輯標(biāo)簽前發(fā)生。AfterLabelEdit在編輯了標(biāo)簽后發(fā)生。4.2

常用控件表4-12ListView列表視圖控件常用方法方法名稱功能描述Clear刪除列表中的所有選項(xiàng)和列。BeginUpdate告知列表視圖停止更新,直到調(diào)用EndUpdate為止。EndUpdate用在BeginUpdate之后,列表視圖會(huì)顯示出所有選項(xiàng)。4.2

常用控件5、TreeView樹形視圖控件屬性名稱功能描述ImageList指定各節(jié)點(diǎn)可以使用的圖標(biāo)集合。ImageIndex控件中各節(jié)點(diǎn)的默認(rèn)圖標(biāo)在指定ImageList中的索引。Nodes獲取控件中根節(jié)點(diǎn)的集合。ShowPlusMinus設(shè)置是否在父節(jié)點(diǎn)處顯示加減號(hào),即是否可以通過點(diǎn)擊+或者-展開或收縮子節(jié)點(diǎn),默認(rèn)值為true。ShowRootLines設(shè)置是否顯示各根節(jié)點(diǎn)之間的連接線,默認(rèn)值為true。SelectedNode獲取或設(shè)置控件中被選中的節(jié)點(diǎn)。Sorted設(shè)置是否對(duì)根節(jié)點(diǎn)進(jìn)行排序,默認(rèn)為false。4.2

常用控件4.3.1打開文件對(duì)話框組件屬性名稱功能描述Title用來獲取或設(shè)置對(duì)話框標(biāo)題,默認(rèn)值為空字符串。Filter用來獲取或設(shè)置當(dāng)前文件名篩選器字符串,該字符串決定對(duì)話框的“另存為文件類型”或“文件類型”框中出現(xiàn)的選擇內(nèi)容。對(duì)于每個(gè)篩選選項(xiàng),篩選器字符串都包含篩選器說明、垂直線條(|)和篩選器模式。不同篩選選項(xiàng)的字符串由垂直線條隔開,例如:“文本文件(*.txt)|*.txt|所有文件(*.*)|*.*”

。FilterIndex用來獲取或設(shè)置文件對(duì)話框中當(dāng)前選定篩選器的索引。FileName用來獲取在打開文件對(duì)話框中選定的文件名的字符串。InitialDirectory用來獲取或設(shè)置文件對(duì)話框顯示的初始目錄,默認(rèn)值為空字符串。ShowReadOnly用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否包含只讀復(fù)選框。ReadOnlyChecked用來獲取或設(shè)置一個(gè)值,該值指示是否選定只讀復(fù)選框。Multiselect用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否允許選擇多個(gè)文件。FileNames用來獲取對(duì)話框中所有選定文件的文件名。每個(gè)文件名都既包含文件路徑又包含文件擴(kuò)展名。RestoreDirectory用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框在關(guān)閉前是否還原當(dāng)前目錄。4.3

常用組件4.3.2保存文件對(duì)話框組件4.3.3字體和顏色對(duì)話框組件屬性名稱功能描述Font用來設(shè)置或獲取字體信息。Color用來設(shè)置或獲取字符的顏色。MaxSize用來獲取或設(shè)置用戶可選擇的最大磅值。MinSize用來獲取或設(shè)置用戶可選擇的最小磅值。ShowColor用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否顯示顏色選擇框。ShowEffects用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否包含允許用戶指定刪除線、下劃線和文本顏色選項(xiàng)的控件。ShowApply用來設(shè)置“字體”對(duì)話框是否顯示“應(yīng)用”按鈕,默認(rèn)為Flase。4.3

常用組件表4-16ColorDialog顏色對(duì)話框組件常用屬性屬性名稱功能描述AllowFullOpen用來獲取或設(shè)置一個(gè)值,該值指示用戶是否可以使用該對(duì)話框定義自定義顏色。FullOpen用來獲取或設(shè)置一個(gè)值,該值指示用于創(chuàng)建自定義顏色的控件在對(duì)話框打開時(shí)是否可見。AnyColor用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否顯示基本顏色集中可用的所有顏色。Color用來獲取或設(shè)置用戶選定的顏色。ShowHelp用來設(shè)置“顏色”對(duì)話框是否顯示“幫助”按鈕,默認(rèn)為False。4.3

常用組件【例4.7】簡(jiǎn)易文本編輯器

設(shè)計(jì)窗體界面,如圖4-24所示。在窗體中適當(dāng)位置拖入5個(gè)button控件并修改其Text屬性,再拖入1個(gè)richTextBox控件,然后分別拖入OpenFileDialog組件、SaveFileDialog組件、FontDialog組件及ColorDialog組件,可以看見,這4個(gè)組件并沒有像之前拖入的控件那樣顯示在窗體中,而是顯示在窗體下方,等到程序運(yùn)行的時(shí)候,它們將會(huì)被隱藏起來。4.3

常用組件圖4-25打開文件圖4-26加載文件4.3

常用組件圖4-27修改字體圖4-28字體修改后4.3

常用組件圖4-28修改選中區(qū)域顏色圖4-29保存文件4.3

常用組件4.3.4文件夾瀏覽對(duì)話框組件【例4.8】文件夾瀏覽對(duì)話框測(cè)試

設(shè)計(jì)窗體界面,如圖4-30所示。在窗體上拖入button按鈕,再拖入folderBrowserDialog組件,我們可以看見,該組件并不在窗體中顯示。圖4-30設(shè)計(jì)窗體界面4.3

常用組件圖4-31選擇文件夾圖4-32顯示文件夾所在路徑4.3

常用組件4.3.5模式對(duì)話框和非模式對(duì)話框4.3.6基于MessageBox類的消息對(duì)話框枚舉值功能描述AbortRetryIgnore在消息框?qū)υ捒蛑刑峁敖K止”、“重試”和“忽略”三個(gè)按鈕。OK在消息框?qū)υ捒蛑刑峁按_定”按鈕。OKCancel在消息框?qū)υ捒蛑刑峁按_定”和“取消”兩個(gè)按鈕。RetryCancel在消息框?qū)υ捒蛑刑峁爸卦嚒焙汀叭∠眱蓚€(gè)按鈕。YesNo在消息框?qū)υ捒蛑刑峁笆恰焙汀胺瘛眱蓚€(gè)按鈕。YesNoCancel在消息框?qū)υ捒蛑刑峁笆?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。