国产精品chinese,色综合天天综合精品网国产在线,成午夜免费视频在线观看,清纯女学生被强行糟蹋小说

    <td id="ojr13"><tr id="ojr13"><label id="ojr13"></label></tr></td>
        • <source id="ojr13"></source>
            <td id="ojr13"><ins id="ojr13"><label id="ojr13"></label></ins></td>

            Article / 文章中心

            WinForm控件屬性大全

            發(fā)布時(shí)間:2021-11-18 點(diǎn)擊數(shù):895

            C#控件及常用設(shè)計(jì)整

             

            1、窗體... 1

             

            2、Label 控件... 3

             

            3、TextBox 控件... 4

             

            4、RichTextBox控件... 5

             

            5NumericUpDown 控件... 7

             

            6、Button 控件... 7

             

            7GroupBox 控件... 7

             

            8、RadioButton控件... 8

             

            9、CheckBox 控件... 8

             

            10ListBox 控件... 9

             

            11、ComboBox 控件... 10

             

            12、CheckedListBox 控件... 10

             

            13PictureBox 控件的使用... 11

             

            14、Timer 控件... 11

             

            15、ProgressBar控件和 TrackBar控件... 12

             

            16、HScrollBar 控件和 VScrollBar控件的使用... 13

             

            17、OpenFileDialog 控件... 13

             

            18SaveFileDialog 控件... 14

             

            19、FontDialog 控件... 14

             

            20、ColorDialog控件... 14

             

            21、PrintDialog控件和 PrintDocument 控件... 15

             

            22、用戶(hù)自定義對(duì)話框... 15

             

            23、菜單控件... 15

             

            25、MDI 應(yīng)用程序設(shè)計(jì)... 16

             

            26、鍵盤(pán)事件處理... 17

             

            27、鼠標(biāo)事件處理... 18

             

            28、排列窗體上的控件... 18

             

             

             

             

             

                                                                                                                                                                         

             

                                                                                                                               

             

            1、窗體

            1、常用屬性

             

            1Name屬性:用來(lái)獲取或設(shè)置窗體的名稱(chēng),在應(yīng)用程序中可通過(guò)Name屬性來(lái)引用窗體。

             

            2WindowState屬性: 用來(lái)獲取或設(shè)置窗體的窗口狀態(tài)。 取值有三種: Normal (窗體正常顯示)、 Minimized

             

            (窗體以最小化形式顯示)和 Maximized(窗體以最大化形式顯示)。

             

            3StartPosition屬性:用來(lái)獲取或設(shè)置運(yùn)行時(shí)窗體的起始位置。其取值及含義如表9-1 所示。默認(rèn)的起

             

            始位置是WindowsDefaultLocation。

             

             

            4Text屬性:該屬性是一個(gè)字符串屬性,用來(lái)設(shè)置或返回在窗口標(biāo)題欄中顯示的文字。

             

            5Width屬性:用來(lái)獲取或設(shè)置窗體的寬度。

             

            6Height屬性:用來(lái)獲取或設(shè)置窗體的高度。

             

            7Left屬性:用來(lái)獲取或設(shè)置窗體的左邊緣的x坐標(biāo)(以像素為單位)。

             

            8Top屬性:用來(lái)獲取或設(shè)置窗體的上邊緣的y坐標(biāo)(以像素為單位)。

             

            9ControlBox屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示在該窗體的標(biāo)題欄中是否顯示控制框。值為true

             

            時(shí)將顯示控制框,值為false時(shí)不顯示控制框。

             

            10MaximizeBox屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示是否在窗體的標(biāo)題欄中顯示最大化按鈕。值

             

            true時(shí)顯示最大化按鈕,值為false時(shí)不顯示最大化按鈕。

             

            11MinimizeBox 屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示是否在窗體的標(biāo)題欄中顯示最小化按鈕。值

             

            true時(shí)顯示最小化按鈕,值為false時(shí)不顯示最小化按鈕。

             

            12AcceptButton 屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值是一個(gè)按鈕的名稱(chēng),當(dāng)按 Enter 鍵時(shí)就相

             

            當(dāng)于單擊了窗體上的該按鈕。

             

            13CancelButton 屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值是一個(gè)按鈕的名稱(chēng),當(dāng)按 Esc 鍵時(shí)就相當(dāng)

             

            于單擊了窗體上的該按鈕。

             

            14Modal 屬性:該屬性用來(lái)設(shè)置窗體是否為有模式顯示窗體。如果有模式地顯示該窗體,該屬性值為

             

            true;否則為 false。當(dāng)有模式地顯示窗體時(shí),只能對(duì)模式窗體上的對(duì)象進(jìn)行輸入。必須隱藏或關(guān)閉模式窗

             

            體(通常是響應(yīng)某個(gè)用戶(hù)操作),然后才能對(duì)另一窗體進(jìn)行輸入。有模式顯示的窗體通常用做應(yīng)用程序中

             

            的對(duì)話框。

             

            15ActiveControl屬性:用來(lái)獲取或設(shè)置容器控件中的活動(dòng)控件。窗體也是一種容器控件。

             

            16ActiveMdiChild屬性:用來(lái)獲取多文檔界面(MDI)的當(dāng)前活動(dòng)子窗口。

             

            17AutoScroll 屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示窗體是否實(shí)現(xiàn)自動(dòng)滾動(dòng)。如果此屬性值設(shè)置為

             

            true,則當(dāng)任何控件位于窗體工作區(qū)之外時(shí),會(huì)在該窗體上顯示滾動(dòng)條。另外,當(dāng)自動(dòng)滾動(dòng)打開(kāi)時(shí),窗體

             

            的工作區(qū)自動(dòng)滾動(dòng),以使具有輸入焦點(diǎn)的控件可見(jiàn)。

             

            18BackColor屬性:用來(lái)獲取或設(shè)置窗體的背景色。

             

            19BackgroundImage屬性:用來(lái)獲取或設(shè)置窗體的背景圖像。

             

            20Enabled 屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示控件是否可以對(duì)用戶(hù)交互作出響應(yīng)。如果控件可- 3 -

             

             

            以對(duì)用戶(hù)交互作出響應(yīng),則為 true;否則為false。默認(rèn)值為true。

             

            21Font屬性:用來(lái)獲取或設(shè)置控件顯示的文本的字體。

             

            22ForeColor屬性:用來(lái)獲取或設(shè)置控件的前景色。

             

            23IsMdiChild屬性:獲取一個(gè)值,該值指示該窗體是否為多文檔界面(MDI)子窗體。值為 true時(shí),

             

            是子窗體,值為false時(shí),不是子窗體。

             

            24IsMdiContainer 屬性:獲取或設(shè)置一個(gè)值,該值指示窗體是否為多文檔界面(MDI)中的子窗體的容器。值為true時(shí),是子窗體的容器,值為false時(shí),不是子窗體的容器。

             

            25KeyPreview屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示在將按鍵事件傳遞到具有焦點(diǎn)的控件前,窗體是否將接收該事件。值為true時(shí),窗體將接收按鍵事件,值為false時(shí),窗體不接收按鍵事件。

             

            26MdiChildren屬性:數(shù)組屬性。數(shù)組中的每個(gè)元素表示以此窗體作為父級(jí)的多文檔界面(MDI)子窗體。

             

            27MdiParent屬性:用來(lái)獲取或設(shè)置此窗體的當(dāng)前多文檔界面(MDI)父窗體。

             

            28ShowInTaskbar屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示是否在Windows任務(wù)欄中顯示窗體。

             

            29Visible屬性:用于獲取或設(shè)置一個(gè)值,該值指示是否顯示該窗體或控件。值為true

             

            時(shí)顯示窗體或控件,為 false時(shí)不顯示。

             

            30Capture屬性:如果該屬性值為true,則鼠標(biāo)就會(huì)被限定只由此控件響應(yīng),不管鼠標(biāo)是否在此控件的范圍內(nèi)。

             

            2、常用方法

             

            下面介紹一些窗體的最常用方法。

             

            1Show方法:該方法的作用是讓窗體顯示出來(lái),其調(diào)用格式為:窗體名.Show();

             

            其中窗體名是要顯示的窗體名稱(chēng)。

             

            2Hide方法:該方法的作用是把窗體隱藏出來(lái),其調(diào)用格式為: 窗體名.Hide();

             

            其中窗體名是要隱藏的窗體名稱(chēng)。

             

            3Refresh方法:該方法的作用是刷新并重畫(huà)窗體,其調(diào)用格式為: 窗體名.Refresh();

             

            其中窗體名是要刷新的窗體名稱(chēng)。

             

            4Activate方法:該方法的作用是激活窗體并給予它焦點(diǎn)。其調(diào)用格式為: 窗體名.Activate(); 其中窗體名是要激活的窗體名稱(chēng)。

             

            5Close方法:該方法的作用是關(guān)閉窗體。其調(diào)用格式為: 窗體名.Close();

             

            其中窗體名是要關(guān)閉的窗體名稱(chēng)。

             

            6ShowDialog方法:該方法的作用是將窗體顯示為模式對(duì)話框。其調(diào)用格式為:

             

            窗體名.ShowDialog();

             

            3.常用事件

             

            1Load事件:該事件在窗體加載到內(nèi)存時(shí)發(fā)生,即在第一次顯示窗體前發(fā)生。

             

            2Activated事件:該事件在窗體激活時(shí)發(fā)生。

             

            3Deactivate事件:該事件在窗體失去焦點(diǎn)成為不活動(dòng)窗體時(shí)發(fā)生。

             

            4Resize事件:該事件在改變窗體大小時(shí)發(fā)生。

             

            5Paint事件:該事件在重繪窗體時(shí)發(fā)生。

             

            6Click事件:該事件在用戶(hù)單擊窗體時(shí)發(fā)生。 - 4 -  

             

            7DoubleClick事件:該事件在用戶(hù)雙擊窗體時(shí)發(fā)生。

             

            8Closed事件:該事件在關(guān)閉窗體時(shí)發(fā)生。

             

            文本框類(lèi)控件

             

            2、Label 控件

            1、常用屬性:

             

            1Text屬性:用來(lái)設(shè)置或返回標(biāo)簽控件中顯示的文本信息。

             

            2AutoSize 屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示是否自動(dòng)調(diào)整控件的大小以完整顯示其內(nèi)容。取值為 true時(shí),控件將自動(dòng)調(diào)整到剛好能容納文本時(shí)的大小,取值為false時(shí),控件的大小為設(shè)計(jì)時(shí)的大小。默認(rèn)值為false。

             

            3Anchor 屬性:用來(lái)確定此控件與其容器控件的固定關(guān)系的。所謂容器控件指的是這樣一種情況:往往在控件之中還有一個(gè)控件,例如最典型的就是窗體控件中會(huì)包含很多的控件,像標(biāo)簽控件、文本框等。

             

            這時(shí)稱(chēng)包含控件的控件為容器控件或父控件,而父控件稱(chēng)為子控件。這時(shí)將遇到一個(gè)問(wèn)題,即子控件與父控件的位置關(guān)系問(wèn)題,即當(dāng)父控件的位置、大小變化時(shí),子控件按照什么樣的原則改變其位置、大小。Anchor屬性就規(guī)定了這個(gè)原則。 對(duì)于 Anchor 屬性,可以設(shè)定 TopBottom、RightLeft 中的任意幾種,設(shè)置的方法是在屬性窗口中單擊Anchor屬性右邊的箭頭,將會(huì)出現(xiàn)如圖 9-6 的窗口,通過(guò)它可設(shè)置 Anchor 屬性值。圖 9-6 中選中變黑的方位即為設(shè)定的方位控制,即圖中所示的為 Left、Right、Bottom。此時(shí),如果父窗口變化,子窗口將保證其左邊緣與容器左邊的距離、上邊緣與容器上邊的距離、底邊與容器底邊的距離等不變,效果如圖9-7 所示。 可見(jiàn)隨著窗體的大小變化, Label控件也會(huì)隨著

             

            。 而 不 變 的 則 是Archor中所規(guī)定的邊 緣與相應(yīng)的父控件邊緣的距離。

             

            4BackColor屬性:

             

            用來(lái)獲取或設(shè)置控件的背景色。當(dāng)該屬性值設(shè)置為 Color.Transparent 時(shí),標(biāo)簽將透明顯示,即背景色不再顯示出來(lái)。

             

            5BorderStyle 屬性:用來(lái)設(shè)置或返回邊框。有三種選擇:BorderStyle.None 為無(wú)邊框(默認(rèn)),BorderStyle.FixedSingle 為固定單邊框,BorderStyle.Fixed3D 為三維邊框。邊框效果如圖 9-8 所示。

             

            6TabIndex屬性:用來(lái)設(shè)置或返回對(duì)象的Tab鍵順序。

             

            7Enabled 屬性:用來(lái)設(shè)置或返回控件的狀態(tài)。值為 true 時(shí)允許使用控件,值為 false 時(shí)禁止使用控件,此時(shí)標(biāo)簽呈暗淡色,一般在代碼中設(shè)置。圖9-8 邊框效果圖 另外,標(biāo)簽還具有VisibleForeColor、Font等屬性,具體含義請(qǐng)參考窗體的相應(yīng)屬性。

             

             

             

            3、TextBox 控件

            1、主要屬性:

             

            1Text屬性:Text屬性是文本框最重要的屬性,因?yàn)橐@示的文本就包含在Text屬性中。默認(rèn)情況下,最多可在一個(gè)文本框中輸入2048個(gè)字符。如果將MultiLine屬性設(shè)置為true,則最多可輸入32KB 的文本。Text屬性可以在設(shè)計(jì)時(shí)使用【屬性】窗口設(shè)置,也可以在運(yùn)行時(shí)用代碼設(shè)置或者通過(guò)用戶(hù)輸入來(lái)設(shè)置??梢栽谶\(yùn)行時(shí)通過(guò)讀取Text屬性來(lái)獲得文本框的當(dāng)前內(nèi)容。

             

            2MaxLength 屬性:用來(lái)設(shè)置文本框允許輸入字符的最大長(zhǎng)度,該屬性值為 0 時(shí),不限制輸入的字符數(shù)。

             

            3MultiLine 屬性:用來(lái)設(shè)置文本框中的文本是否可以輸入多行并以多行顯示。值為 true 時(shí),允許多行顯示。值為false時(shí)不允許多行顯示,一旦文本超過(guò)文本框?qū)挾葧r(shí),超過(guò)部分不顯示。

             

            4HideSelection屬性:用來(lái)決定當(dāng)焦點(diǎn)離開(kāi)文本框后,選中的文本是否還以選中的方式顯示,值為true,則不以選中的方式顯示,值為 false將依舊以選中的方式顯示。

             

            5ReadOnly屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示文本框中的文本是否為只讀。值為 true時(shí)為只讀,值為 false時(shí)可讀可寫(xiě)。

             

            6PasswordChar 屬性:是一個(gè)字符串類(lèi)型,允許設(shè)置一個(gè)字符,運(yùn)行程序時(shí),將輸入到 Text 的內(nèi)容全部顯示為該屬性值,從而起到保密作用,通常用來(lái)輸入口令或密碼。

             

            7ScrollBars屬性: 用來(lái)設(shè)置滾動(dòng)條模式, 有四種選擇: ScrollBars.None (無(wú)滾動(dòng)條), ScrollBars.Horizontal(水平滾動(dòng)條),ScrollBars.Vertical(垂直滾動(dòng)條),ScrollBars.Both(水平和垂直滾動(dòng)條)。

             

            注意:只有當(dāng)MultiLine屬性為true時(shí),該屬性值才有效。在WordWrap屬性值為true時(shí),

             

            水平滾動(dòng)條將不起作用

             

            8SelectionLength屬性:用來(lái)獲取或設(shè)置文本框中選定的字符數(shù)。只能在代碼中使用,值為0 時(shí),表示未選中任何字符。

             

            9SelectionStart屬性:用來(lái)獲取或設(shè)置文本框中選定的文本起始點(diǎn)。只能在代碼中使用,第一個(gè)字符的位置為0,第二個(gè)字符的位置為1,依此類(lèi)推。

             

            10SelectedText 屬性:用來(lái)獲取或設(shè)置一個(gè)字符串,該字符串指示控件中當(dāng)前選定的文本。只能在代碼中使用。

             

            11Lines:該屬性是一個(gè)數(shù)組屬性,用來(lái)獲取或設(shè)置文本框控件中的文本行。即文本框中的每一行存放在 Lines數(shù)組的一個(gè)元素中。

             

            12Modified:用來(lái)獲取或設(shè)置一個(gè)值,該值指示自創(chuàng)建文本框控件或上次設(shè)置該控件的內(nèi)容后,用戶(hù)是否修改了該控件的內(nèi)容。值為true表示修改過(guò),值為 false表示沒(méi)有修改過(guò)。

             

            13TextLength屬性:用來(lái)獲取控件中文本的長(zhǎng)度。

             

            14WordWrap:用來(lái)指示多行文本框控件在輸入的字符超過(guò)一行寬度時(shí)是否自動(dòng)換行到下一行的開(kāi)始,值為 true,表示自動(dòng)換到下一行的開(kāi)始,值為false表示不自動(dòng)換到下一行的開(kāi)始。

             

            2、常用方法:

             

            1AppendText方法:把一個(gè)字符串添加到文件框中文本的后面,調(diào)用的一般格式如下:

             

            文本框?qū)ο?/span>.AppendText(str)

             

            參數(shù) str是要添加的字符串。

             

            2Clear方法:從文本框控件中清除所有文本。調(diào)用的一般格式如下:

             

            文本框?qū)ο?/span>.Clear()該方法無(wú)參數(shù)。

             

            3Focus方法:是為文本框設(shè)置焦點(diǎn)。如果焦點(diǎn)設(shè)置成功,值為 true,否則為false。調(diào)用的一般格式如

             

            下:

             

            文本框?qū)ο?/span>.Focus()該方法無(wú)參數(shù)。 - 6 -

             

             

            4Copy方法:將文本框中的當(dāng)前選定內(nèi)容復(fù)制到剪貼板上。調(diào)用的一般格式如下:

             

            文本框?qū)ο?/span>.Copy()該方法無(wú)參數(shù)。

             

            5Cut方法:將文本框中的當(dāng)前選定內(nèi)容移動(dòng)到剪貼板上。調(diào)用的一般格式如下:

             

            文本框?qū)ο?/span>.Cut()該方法無(wú)參數(shù)。

             

            6Paste方法:用剪貼板的內(nèi)容替換文本框中的當(dāng)前選定內(nèi)容。調(diào)用的一般格式如下:

             

            文本框?qū)ο?/span>.Paste()該方法無(wú)參數(shù)。

             

            7Undo 方法:撤銷(xiāo)文本框中的上一個(gè)編輯操作。調(diào)用的一般格式如下:

             

            文本框?qū)ο?/span>.Undo()該方法無(wú)參數(shù)。

             

            8ClearUndo方法:從該文本框的撤銷(xiāo)緩沖區(qū)中清除關(guān)于最近操作的信息,根據(jù)應(yīng)用

             

            程序的狀態(tài),可以使用此方法防止重復(fù)執(zhí)行撤銷(xiāo)操作。調(diào)用的一般格式如下:

             

            文本框?qū)ο?/span>.ClearUndo()該方法無(wú)參數(shù)。

             

            9Select方法:用來(lái)在文本框中設(shè)置選定文本。調(diào)用的一般格式如下:

             

            文本框?qū)ο?/span>.Select(start,length)

             

            該方法有兩個(gè)參數(shù),第一個(gè)參數(shù)start用來(lái)設(shè)定文本框中當(dāng)前選定文本的第一個(gè)字符的位

             

            置,第二個(gè)參數(shù)length用來(lái)設(shè)定要選擇的字符數(shù)。

             

            10SelectAll方法:用來(lái)選定文本框中的所有文本。調(diào)用的一般格式如下:

             

            文本框?qū)ο?/span>.SelectAll()該方法無(wú)參數(shù)。

             

            3、常用事件:

             

            1GotFocus事件:該事件在文本框接收焦點(diǎn)時(shí)發(fā)生。

             

            2LostFocus事件:該事件在文本框失去焦點(diǎn)時(shí)發(fā)生。

             

            3TextChanged事件:該事件在Text屬性值更改時(shí)發(fā)生。無(wú)論是通過(guò)編程修改還是用戶(hù)交互更改文本框的 Text屬性值,均會(huì)引發(fā)此事件。

             

             

            4、RichTextBox控件

            RichTextBox是一種既可以輸入文本、 又可以編輯文本的文字處理控件, 與TextBox控件相比, RichTextBox控件的文字處理功能更加豐富, 不僅可以設(shè)定文字的顏色、 字體, 還具有字符串檢索功能。 另外, RichTextBox控件還可以打開(kāi)、編輯和存儲(chǔ).rtf格式文件、ASCII文本格式文件及Unicode編碼格式的文件。

             

            1、常用屬性

             

            上面介紹的 TextBox 控件所具有的屬性,RichTextBox 控件基本上都具有,除此之外,該控件還具有一些其他屬性。

             

            1RightMargin屬性:用來(lái)設(shè)置或獲取右側(cè)空白的大小,單位是像素。通過(guò)該屬性可以設(shè)置右側(cè)空白,如希望右側(cè)空白為50像素,可使用如下語(yǔ)句:

             

            RichTextBox1.RightMargin=RichTextBox1.Width-50;

             

            2Rtf屬性:用來(lái)獲取或設(shè)置RichTextBox控件中的文本,包括所有RTF格式代碼??梢允褂么藢傩詫?/span>RTF格式文本放到控件中以進(jìn)行顯示,或提取控件中的RTF格式文本。此屬性通常用于在RichTextBox控件和其他RTF源(如 MicrosoftWordWindows寫(xiě)字板)之間交換信息。

             

            3SelectedRtf 屬性:用來(lái)獲取或設(shè)置控件中當(dāng)前選定的 RTF 格式的格式文本。此屬性使用戶(hù)得以獲取控件中的選定文本,包括RTF格式代碼。如果當(dāng)前未選定任何文本,給該屬性賦值將把所賦的文本插入到插入點(diǎn)處。如果選定了文本,則給該屬性所賦的文本值將替換掉選定文本。

             

            4SelectionColor屬性:用來(lái)獲取或設(shè)置當(dāng)前選定文本或插入點(diǎn)處的文本顏色。

             

            5SelectionFont屬性:用來(lái)獲取或設(shè)置當(dāng)前選定文本或插入點(diǎn)處的字體。

             

            2、常用方法 - 7 -

             

             

            前面介紹的 TextBox 控件所具有的方法,RichTextBox 控件基本上都具有,除此之外,該控件還具有一些其他方法。

             

            1Redo方法:用來(lái)重做上次被撤銷(xiāo)的操作。調(diào)用的一般格式如下:

             

            RichTextBox對(duì)象.Redo() 該方法無(wú)參數(shù)。

             

            2Find方法:用來(lái)從RichTextBox控件中查找指定的字符串。經(jīng)常使用的調(diào)用格式如下:

             

            [格式1]

             

            RichTextBox對(duì)象.Find(str)

             

            [功能]:在指定的“RichTextBox”控件中查找文本,并返回搜索文本的第一個(gè)字符在控件內(nèi)的位置。如果未找到搜索字符串或者str參數(shù)指定的搜索字符串為空,則返回值為1

             

            [格式2]

             

            RichTextBox對(duì)象.Find(str,RichTextBoxFinds)

             

            [功能]:在“RichTextBox 對(duì)象指定的文本框中搜索 str 參數(shù)中指定的文本,并返回文本的第一個(gè)字符在控件內(nèi)的位置。如果返回負(fù)值,則未找到所搜索的文本字符串。還可以使用此方法搜索特定格式的文本。參數(shù)RichTextBoxFinds指定如何在控件中執(zhí)行文本搜索,其取值及其含義如表9-4 所示。

             

            [格式3]

             

            RichTextBox對(duì)象.Find(str,start,RichTextBoxFinds)

             

            [功能]:這里Find方法與前面的格式2 基本類(lèi)似,不同的只是通過(guò)設(shè)置控件文本內(nèi)的搜索起始位置來(lái)縮小文本搜索范圍,start參數(shù)表示開(kāi)始搜索的位置。此功能使用戶(hù)得以避開(kāi)可能已搜索過(guò)的文本或已經(jīng)知道不包含要搜索的特定文本的文本。如果在options參數(shù)中指定了RichTextBoxFinds.Reverse值,則 start參數(shù)的值將指示反向搜索結(jié)束的位置,因?yàn)樗阉魇菑奈臋n底部開(kāi)始的。

             

            3SaveFile方法:用來(lái)把RichTextBox中的信息保存到指定的文件中,調(diào)用格式有以下三種。

             

            [格式1]RichTextBox對(duì)象名.SaveFile(文件名);

             

            [功能]:將 RichTextBox控件中的內(nèi)容保存為RTF格式文件中。

             

            [格式2]RichTextBox對(duì)象名.SaveFile(文件名,文件類(lèi)型);

             

            [功能]:將 RichTextBox控件中的內(nèi)容保存為文件類(lèi)型指定的格式文件中。

             

            [格式3]RichTextBox對(duì)象名.SaveFile(數(shù)據(jù)流,數(shù)據(jù)流類(lèi)型);

             

            [功能]:將 RichTextBox控件中的內(nèi)容保存為數(shù)據(jù)流類(lèi)型指定的數(shù)據(jù)流類(lèi)型文件中。

             

            其中,文件類(lèi)型或數(shù)據(jù)流類(lèi)型的取值及含義如表9-5所示。

             

            4LoadFile方法:使用LoadFile方法可以將文本文件、RTF文件裝入RichTextBox控件。主要的調(diào)用格式有以下三種。

             

            [格式1]RichTextBox對(duì)象名.LoadFile(文件名); - 8 –

             

            [功能]:將RTF格式文件或標(biāo)準(zhǔn)ASCII文本文件加載到RichTextBox控件中。

             

            [格式2]RichTextBox對(duì)象名.LoadFile(數(shù)據(jù)流,數(shù)據(jù)流類(lèi)型);

             

            [功能]:將現(xiàn)有數(shù)據(jù)流的內(nèi)容加載到RichTextBox控件中。

             

            [格式3]RichTextBox對(duì)象名.LoadFile(文件名,文件類(lèi)型);

             

            [功能]:將特定類(lèi)型的文件加載到RichTextBox控件中。

             

            注意:文件類(lèi)型和數(shù)據(jù)流格式見(jiàn)表9-5。

             

            5NumericUpDown 控件

            Windows 窗體】控件組中的 NumericUpDown 控件看起來(lái)像是一個(gè)文本框與一對(duì)用戶(hù)可單擊以調(diào)整值的

             

            箭頭的組合??梢酝ㄟ^(guò)單擊向上和向下按鈕、按向上和向下箭頭鍵來(lái)增大和減小數(shù)字,也可以直接輸入數(shù)

             

            字。單擊向上箭頭鍵時(shí),值向最大值方向增加;單擊向下箭頭鍵時(shí),值

             

            向最小值方向減少。該控件在工具箱中的圖標(biāo)為 。

             

            該控件的樣式如圖9-13所示。

             

            1、常用屬性:

             

            1DecimalPlaces:獲取或設(shè)置該控件中顯示的小數(shù)位數(shù)。

             

            2Hexadecimal:獲取或設(shè)置一個(gè)值,該值指示該控件是否以十六進(jìn)制格式顯示所包

             

            含的值。

             

            3Increment:獲取或設(shè)置單擊向上或向下按鈕時(shí),該控件遞增或遞減的值。

             

            4Maximum:獲取或設(shè)置該控件的最大值。

             

            5Minimum:獲取或設(shè)置該控件的最小值。

             

            6Value:獲取或設(shè)置該控件的當(dāng)前值。

             

            TextBox控件一樣,NumericUpDown控件的常用事件有:ValueChanged、GotFocus、LostFocus等。

             

            按鈕類(lèi)控件

             

            6、Button 控件

            Button控件又稱(chēng)按鈕控件,是 Windows應(yīng)用程序中最常用的控件之一,通常用它來(lái)執(zhí)行命令。如果按鈕具有焦點(diǎn),就可以使用鼠標(biāo)左鍵、Enter鍵或空格鍵觸發(fā)該按鈕的Click事件。通過(guò)設(shè)置窗體的AcceptButton

             

            CancelButton 屬性,無(wú)論該按鈕是否有焦點(diǎn),都可以使用戶(hù)通過(guò)按 Enter Esc 鍵來(lái)觸發(fā)按鈕的 Click事件。一般不使用 Button 控件的方法。Button 控件也具有許多如 Text、ForeColor 等的常規(guī)屬性,此處不再介紹,只介紹該控件有特色的屬性。以后介紹的控件也采用同樣的方法來(lái)處理。

             

            1、常用屬性  

             

            1DialogResult屬性:當(dāng)使用ShowDialog方法顯示窗體時(shí),可以使用該屬性設(shè)置當(dāng)用戶(hù)按了該按鈕后,

             

            ShowDialog方法的返回值。值有:OKCancel、Abort、RetryIgnore、Yes、No等。

             

            2Image屬性:用來(lái)設(shè)置顯示在按鈕上的圖像。

             

            3FlatStyle屬性:用來(lái)設(shè)置按鈕的外觀。其取值及含義如表9-7 所示。

             

             

            2、常用事件:

             

            1Click事件:當(dāng)用戶(hù)用鼠標(biāo)左鍵單擊按鈕控件時(shí),將發(fā)生該事件。

             

            2MouseDown事件:當(dāng)用戶(hù)在按鈕控件上按下鼠標(biāo)按鈕時(shí),將發(fā)生該事件。

             

            3MouseUp事件:當(dāng)用戶(hù)在按鈕控件上釋放鼠標(biāo)按鈕時(shí),將發(fā)生該事件。

             

            7GroupBox 控件

            GroupBox控件又稱(chēng)為分組框,它在工具箱中的圖標(biāo)是 。該控件常用于為其他控件提供可識(shí)別的分組,其典型的用法之一就是給RadioButton控件分組??梢酝ㄟ^(guò)分組框的Text屬性為分組框中的控件向用戶(hù)提供提示信息,如圖 9-14 所示。設(shè)計(jì)時(shí),向GroupBox 控件中添加控件的方法有兩種:一是直接在分組框中繪制控件;二是把某一個(gè)已存在的控件復(fù)制到剪貼板上,然后選中分組框,再執(zhí)行粘貼操作即可。位于分組框中的所有控件隨著分組框的移動(dòng)而一起移動(dòng),隨著分組框的刪除而全部刪除,分組框的Visible屬性和Enabled屬性也會(huì)影響到分組框中的所有控件。分組框的最常用的屬性是Text,一般用來(lái)給出分組提示。

             

            8RadioButton控件

            RadioButton又稱(chēng)單選按鈕,其在工具箱中的圖標(biāo)為 ,單選按鈕通常成組出現(xiàn),用于提供

             

            兩個(gè)或多個(gè)互斥選項(xiàng),即在一組單選鈕中只能選擇一個(gè),如圖9-14所示。

             

            1、常用屬性:

             

            1Checked屬性:用來(lái)設(shè)置或返回單選按鈕是否被選中,選中時(shí)值為true,沒(méi)有選中時(shí)值為false。

             

            2AutoCheck 屬性:如果 AutoCheck 屬性被設(shè)置為 true(默認(rèn)),那么當(dāng)選擇該單選按鈕時(shí),將自動(dòng)清除該組中所有其他單選按鈕。對(duì)一般用戶(hù)來(lái)說(shuō),不需改變?cè)搶傩?,采用默認(rèn)值(true)即可。

             

            3Appearance 屬性:用來(lái)獲取或設(shè)置單選按鈕控件的外觀。當(dāng)其取值為 Appearance.Button 時(shí),將使單選按鈕的外觀像命令按鈕一樣:當(dāng)選定它時(shí),它看似已被按下。當(dāng)取值為 Appearance.Normal 時(shí),就是默認(rèn)的單選按鈕的外觀。

             

            4Text屬性:用來(lái)設(shè)置或返回單選按鈕控件內(nèi)顯示的文本,該屬性也可以包含訪問(wèn)鍵,即前面帶有“&”

             

            符號(hào)的字母,這樣用戶(hù)就可以通過(guò)同時(shí)按Alt鍵和訪問(wèn)鍵來(lái)選中控件。

             

            2、常用事件:

             

            1Click事件:當(dāng)單擊單選按鈕時(shí),將把單選按鈕的Checked屬性值設(shè)置為true,同時(shí)發(fā)生Click事件。

             

            2CheckedChanged事件:當(dāng)Checked屬性值更改時(shí),將觸發(fā)CheckedChanged事件。

             

             

            9CheckBox 控件

            CheckBox控件的常用屬性如下。

             

            1TextAlign屬性:用來(lái)設(shè)置控件中文字的對(duì)齊方式,有9種選擇,如圖9-16 所示。

             

            從上到下、從左至右分別是:ContentAlignment.TopLeftContentAlignment.TopCenter、

             

            ContentAlignment.TopRightContentAlignment.MiddleLeft、ContentAlignment.MiddleCenter

             

            ContentAlignment.MiddleRight、ContentAlignment.BottomLeftContentAlignment.BottomCenter

             

            ContentAlignment.BottomRight。該屬性的默認(rèn)值為ContentAlignment.MiddleLeft,即文字左 對(duì)齊、居控件垂直方向中央。

             

            2ThreeState屬性:用來(lái)返回或設(shè)置復(fù)選框是否能表示三種狀態(tài),如果屬性值為true時(shí),表示可以表示

             

            三種狀態(tài)選中、沒(méi)選中和中間態(tài)(CheckState.CheckedCheckState.Unchecked

             

            CheckState.Indeterminate),屬性值為false時(shí),只能表示兩種狀

             

            態(tài)——選中和沒(méi)選中。

             

            3Checked屬性:用來(lái)設(shè)置或返回復(fù)選框是否被選中,值為true時(shí),表示復(fù)選框被選中,值為false時(shí),

             

            表示復(fù)選框沒(méi)被選中。當(dāng)ThreeState屬性值為true時(shí),中間態(tài)也表示選中。

             

            4CheckState 屬性:用來(lái)設(shè)置或返回復(fù)選框的狀態(tài)。在 ThreeState 屬性值為 false 時(shí),取值有

             

            CheckState.CheckedCheckState.Unchecked。在ThreeState屬性值被設(shè)置為True時(shí),CheckState還可以取

             

            CheckState.Indeterminate,在此時(shí),復(fù)選框顯示為淺灰色選中狀態(tài),該狀態(tài)通常表示該選項(xiàng)下的多個(gè)子

             

            選項(xiàng)未完全選中。

             

            CheckBox控件的常用事件有ClickCheckedChanged等,其含義及觸發(fā)時(shí)機(jī)與單選按鈕

             

            完成一致。

             

            列表類(lèi)控件

             

            10、ListBox 控件

            ListBox 控件又稱(chēng)列表框,它在工具箱中的圖標(biāo)為,它顯示一個(gè)項(xiàng)目列表供用戶(hù)選擇。在列表框中,用戶(hù)一次可以選擇一項(xiàng),也可以選擇多項(xiàng)。

             

            1、常用屬性:

             

            1Items屬性: 用于存放列表框中的列表項(xiàng),是一個(gè)集合。通過(guò)該屬性,可以添加列表項(xiàng)、移除列表項(xiàng)和獲得列表項(xiàng)的數(shù)目。

             

            2MultiColumn 屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示ListBox是否支持多列。值

             

            true 時(shí)表示支持多列,值為 false 時(shí)不支持多列。當(dāng)使用多列模式時(shí),可以使控件得以顯示更多可見(jiàn)項(xiàng),如圖9-19 所示。

             

            3ColumnWidth 屬性:用來(lái)獲取或設(shè)置多列 ListBox控件中列的寬度。

             

            4SelectionMode屬性:用來(lái)獲取或設(shè)置在ListBox控件中選擇列表項(xiàng)的方法。當(dāng) SelectionMode屬性設(shè)置為 SelectionMode.MultiExtended 時(shí),按下 Shift 鍵的同時(shí)單擊鼠標(biāo)或者同時(shí)按 Shift 鍵和箭頭鍵之一(上箭頭鍵、下箭頭鍵、左箭頭鍵和右箭頭鍵),會(huì)將選定內(nèi)容從前一選定項(xiàng)擴(kuò)展到當(dāng)前項(xiàng)。按 Ctrl 鍵的同時(shí)單擊鼠標(biāo)將選擇或撤銷(xiāo)選擇列表中的某項(xiàng);當(dāng)該屬性設(shè)置為 SelectionMode.MultiSimple 時(shí),鼠標(biāo)單擊或按空格鍵將選擇或撤銷(xiāo)選擇列表中的某項(xiàng);該屬性的默認(rèn)值為SelectionMode.One,則只能選擇一項(xiàng)。

             

            5SelectedIndex屬性:用來(lái)獲取或設(shè)置ListBox控件中當(dāng)前選定項(xiàng)的從零開(kāi)始的索引。如果未選定任何項(xiàng),則返回值為1。對(duì)于只能選擇一項(xiàng)的ListBox控件,可使用此屬性確定ListBox中選定的項(xiàng)的索引。如果 ListBox 控件的 SelectionMode 屬性設(shè)置為 SelectionMode.MultiSimple SelectionMode.MultiExtended,并在該列表中選定多個(gè)項(xiàng),此時(shí)應(yīng)用SelectedIndices來(lái)獲取選定項(xiàng)的索引。

             

            6SelectedIndices。該屬性用來(lái)獲取一個(gè)集合,該集合包含 ListBox 控件中所有選定項(xiàng)的從零開(kāi)始的索引。

             

            7SelectedItem屬性:獲取或設(shè)置ListBox中的當(dāng)前選定項(xiàng)。

             

            8SelectedItems屬性:獲取 ListBox控件中選定項(xiàng)的集合,通常在ListBox控件的SelectionMode屬性值設(shè)置為SelectionMode.MultiSimpleSelectionMode.MultiExtended(它指示多重選擇ListBox)時(shí)使用。

             

            9Sorted屬性:獲取或設(shè)置一個(gè)值,該值指示ListBox控件中的列表項(xiàng)是否按字母順序排序。如果列表項(xiàng)按字母排序,該屬性值為true;如果列表項(xiàng)不按字母排序,該屬性值為false。默認(rèn)值為false。在向已排序的 ListBox控件中添加項(xiàng)時(shí),這些項(xiàng)會(huì)移動(dòng)到排序列表中適當(dāng)?shù)奈恢谩?/span>

             

            10Text 屬性:該屬性用來(lái)獲取或搜索 ListBox 控件中當(dāng)前選定項(xiàng)的文本。當(dāng)把此屬性值設(shè)置為字符串值時(shí),ListBox 控件將在列表內(nèi)搜索與指定文本匹配的項(xiàng)并選擇該項(xiàng)。若在列表中選擇了一項(xiàng)或多項(xiàng),該屬性將返回第一個(gè)選定項(xiàng)的文本。

             

            11ItemsCount屬性:該屬性用來(lái)返回列表項(xiàng)的數(shù)目。

             

            2、常用方法:

             

            1FindString方法:用來(lái)查找列表項(xiàng)中以指定字符串開(kāi)始的第一個(gè)項(xiàng),有兩種調(diào)用格式。

             

            [格式1]ListBox對(duì)象.FindString(s);

             

            [功能]:在“ListBox 對(duì)象指定的列表框中查找字符串 s,如果找到則返回該項(xiàng)從零開(kāi)始的索引;如果找不到匹配項(xiàng),則返回ListBox.NoMatches。

             

            [格式2]ListBox對(duì)象.FindString(s,n);

             

            [功能]:在 ListBox 對(duì)象指定的列表框中查找字符串 s,查找的起始項(xiàng)為n+1,即 n 為開(kāi)始查找的前一項(xiàng)的索引。如果找到則返回該項(xiàng)從零開(kāi)始的索引;如果找不到匹配項(xiàng),則返回ListBox.NoMatches。

             

            注意:FindString 方式只是詞語(yǔ)部分匹配,即要查找的字符串在列表項(xiàng)的開(kāi)頭,便認(rèn)為是匹配的,如果要

             

            精確匹配,即只有在列表項(xiàng)與查找字符串完全一致時(shí)才認(rèn)為匹配,可使用FindStringExact方法,調(diào)用格式與功能與FindString基本一致。

             

            2SetSelected方法:用來(lái)選中某一項(xiàng)或取消對(duì)某一項(xiàng)的選擇,調(diào)用格式及功能如下。

             

            [格式]ListBox對(duì)象.SetSelected(n,l);

             

            [功能]:如果參數(shù) l 的值是 true,則在 ListBox 對(duì)象指定的列表框中選中索引為 n 的列表項(xiàng),如果參數(shù)l 的值是 false,則索引為n 的列表項(xiàng)未被選中。

             

            3Items.Add方法:用來(lái)向列表框中增添一個(gè)列表項(xiàng),調(diào)用格式及功能如下。

             

            [格式]ListBox對(duì)象.Items.Add(s);

             

            [功能]:把參數(shù)s添加到“l(fā)istBox對(duì)象指定的列表框的列表項(xiàng)中。

             

            4Items.Insert方法:用來(lái)在列表框中指定位置插入一個(gè)列表項(xiàng),調(diào)用格式及功能如下。

             

            [格式]ListBox對(duì)象.Items.Insert(n,s);

             

            [功能]:參數(shù)n代表要插入的項(xiàng)的位置索引,參數(shù) s代表要插入的項(xiàng),其功能是把s插入到“l(fā)istBox對(duì)象

             

            指定的列表框的索引為n的位置處。

             

            5Items.Remove方法:用來(lái)從列表框中刪除一個(gè)列表項(xiàng),調(diào)用格式及功能如下。

             

            [格式]ListBox對(duì)象.Items.Remove(k);

             

             [功能]:從 ListBox對(duì)象指定的列表框中刪除列表項(xiàng)s。

             

            6Items.Clear方法:用來(lái)清除列表框中的所有項(xiàng)。其調(diào)用格式如下: ListBox對(duì)象.Items.Clear();

             

            該方法無(wú)參數(shù)。

             

            7BeginUpdate方法和EndUpdate方法:這兩個(gè)方法均無(wú)參數(shù),調(diào)用格式分別如下:

             

            ListBox對(duì)象.BeginUpdate(); ListBox對(duì)象.EndUpdate();

             

            這兩個(gè)方法的作用是保證使用 Items.Add 方法向列表框中添加列表項(xiàng)時(shí),不重繪列表框。即在向列表框添加項(xiàng)之前,調(diào)用BeginUpdate方法,以防止每次向列表框中添加項(xiàng)時(shí)都重新 繪制 ListBox 控件。完成向列表框中添加項(xiàng)的任務(wù)后,再調(diào)用 EndUpdate 方法使 ListBox 控件重新繪制。

             

            當(dāng)向列表框中添加大量的列表項(xiàng)時(shí),使用這種方法添加項(xiàng)可以防止在繪制 ListBox 時(shí)的閃爍現(xiàn)象。一個(gè)例

             

            子程序如下:

             

            publicvoidAddToMyListBox()

             

            {

            listBox1.BeginUpdate();

             

            for(intx=1;x<5000;x++)

             

            {

            listBox1.Items.Add("Item"+x.ToString());

             

            }

             

            listBox1.EndUpdate();

             

            }

             

            ListBox控件常用事件有ClickSelectedIndexChangedSelectedIndexChanged事件在列表框中改變選中項(xiàng)時(shí)發(fā)生。

             

            11、ComboBox 控件

            ComboBox 控件又稱(chēng)組合框,在工具箱中的圖標(biāo)為。默認(rèn)情況下,組合框分兩個(gè)部分顯示:頂部是一個(gè)允許輸入文本的文本框,下面的列表框則顯示列表項(xiàng)??梢哉J(rèn)為ComboBox就是文本框與列表框的組合,與文本框和列表框的功能基本一致。與列表框相比,組合框不能多選,它無(wú) SelectionMode 屬性。但組合框有一個(gè)名為DropDownStyle的屬性,該屬性用來(lái)設(shè)置或獲取組合框的樣式,其取值及含義如表9-10所示。  

             

            組合框的各種樣式如圖9-22 所示, 左邊的組合框能夠通過(guò)文本框輸入文本, 中間的組合框則不能輸入文本,只能選擇列表項(xiàng)。

             

            12、CheckedListBox 控件

            CheckedListBox控件又稱(chēng)復(fù)選列表框,它擴(kuò)展了ListBox控件,它幾乎能完成列表框可以完成的所有任務(wù),并且還可以在列表項(xiàng)旁邊顯示復(fù)選標(biāo)記。兩種控件間的其他差異在于,復(fù)選列表框只支持- 13 -

             

             

            DrawMode.Normal,并且復(fù)選列表框只能有一項(xiàng)選定或沒(méi)有任何選定。此處需要注意一點(diǎn):選定的項(xiàng)是指

             

            窗體上突出顯示的項(xiàng),已選中的項(xiàng)是指左邊的復(fù)選框被選中的項(xiàng)。復(fù)選列表框的樣式如圖9-23所示。

             

            除具有列表框的全部屬性外,它還具有以下屬性。

             

            1CheckOnClick屬性:獲取或設(shè)置一個(gè)值,該值指示當(dāng)某項(xiàng)被選定時(shí)是否應(yīng)切換左側(cè)的復(fù)選框。如果立即切換選中標(biāo)記,則該屬性值為true;否則為false。默認(rèn)值為false。

             

            2CheckedItems 屬性:該屬性是復(fù)選列表框中選中項(xiàng)的集合,只代表處于CheckState. CheckedCheckState.Indeterminate狀態(tài)的那些項(xiàng)。 該集合中的索引按升序排列。

             

            3CheckedIndices 屬性:該屬性代表選中項(xiàng)(處于選中狀態(tài)或中間狀態(tài)的那些項(xiàng))索引的集合。

             

            13PictureBox 控件的使用

            PictureBox 控件又稱(chēng)圖片框,常用于圖形設(shè)計(jì)和圖像處理應(yīng)用程序,在該控件中可以加載的圖像文件格式有:位圖文件(.Bmp)、圖標(biāo)文件(.ICO)、圖元文件(.wmf)、.JPEG .GIF 文件。下而僅介紹該控件的常用屬性和事件。

             

            1、常用屬性:

             

            1Image屬性:用來(lái)設(shè)置控件要顯示的圖像。把文件中的圖像加載到圖片框通常采用以下三種方式。

             

            設(shè)計(jì)時(shí)單擊Image屬性,在其后將出現(xiàn)【】按鈕,單擊該按鈕將出現(xiàn)一個(gè)【打開(kāi)】對(duì)話框,在該對(duì)話框中找到相應(yīng)的圖形文件后單擊【確定】按鈕。產(chǎn)生一個(gè)Bitmap類(lèi)的實(shí)例并賦值給Image屬性。形式如下:

             

            Bitmapp=newBitmap(圖像文件名);

             

            pictureBox對(duì)象名.Image=p;

             

            通過(guò) Image.FromFile方法直接從文件中加載。形式如下:

             

            pictureBox對(duì)象名.Image=Image.FromFile(圖像文件名);

             

            2SizeMode屬性:用來(lái)決定圖像的顯示模式。其取值有四種情況,取值及含義如表9-11所示。各種模式下的圖片顯示樣式如圖9-24所示。

             

             

            14、Timer 控件

            Timer 控件又稱(chēng)定時(shí)器控件或計(jì)時(shí)器控件,在工具箱中的圖標(biāo)是 ,該控件的主要作用是按一定的時(shí)間間隔周期性地觸發(fā)一個(gè)名為Tick的事件, 因此在該事件的代碼中可以放置一些需要每隔一段時(shí)間重復(fù)執(zhí)行的程序段。在程序運(yùn)行時(shí),定時(shí)器控件是不可見(jiàn)的。

             

            1、常用屬性:

             

            1Enabled 屬性:用來(lái)設(shè)置定時(shí)器是否正在運(yùn)行。值為 true 時(shí),定時(shí)器正在運(yùn)行,值為 false 時(shí),定時(shí)器不在運(yùn)行。

             

            2Interval屬性:用來(lái)設(shè)置定時(shí)器兩次Tick事件發(fā)生的時(shí)間間隔,以毫秒為單位。如它的值設(shè)置為500,則將每隔0.5秒發(fā)生一個(gè)Tick事件。

             

            2、常用方法:

             

            1Start方法:用來(lái)啟動(dòng)定時(shí)器。調(diào)用的一般格式如下:

             

            Timer控件名.start(); 該方法無(wú)參數(shù)。

             

            2Stop方法:用來(lái)停止定時(shí)器。調(diào)用的一般格式如下:

             

            Timer控件名.stop(); 該方法無(wú)參數(shù)。

             

            3、常用事件:

             

            定義器控件響應(yīng)的事件只有Tick,每隔Interval時(shí)間后將觸發(fā)一次該事件。

             

            15、ProgressBar控件和 TrackBar控件

            1ProgressBar控件

             

            ProgressBar 控件又稱(chēng)進(jìn)度條控件,它在工具欄中的圖標(biāo)為 ,該控件在水平欄中顯示適當(dāng)長(zhǎng)度的矩形來(lái)指示進(jìn)程的進(jìn)度。當(dāng)執(zhí)行進(jìn)程時(shí),進(jìn)度條用系統(tǒng)突出顯示顏色在水平欄中從左向右進(jìn)行填充。進(jìn)程完成時(shí),進(jìn)度欄被填滿(mǎn)。當(dāng)某進(jìn)程運(yùn)行時(shí)間較長(zhǎng)時(shí),如果沒(méi)有視覺(jué)提示,用戶(hù)可能會(huì)認(rèn)為應(yīng)用程序不響應(yīng),通過(guò)在應(yīng)用程序中使用進(jìn)度條,就可以告訴用戶(hù)應(yīng)用程序正在執(zhí)行冗長(zhǎng)的任務(wù)且應(yīng)用程序仍在響應(yīng)。

             

            ProgressBar控件的常用屬性如下。

             

            1Maximum屬性:用來(lái)設(shè)置或返回進(jìn)度條能夠顯示的最大值,默認(rèn)值為100。

             

            2Minimum屬性:用來(lái)設(shè)置或返回進(jìn)度條能夠顯示的最小值,默認(rèn)值為0。

             

            3Value屬性:用來(lái)設(shè)置或返回進(jìn)度條的當(dāng)前位置。

             

            4Step屬性:用來(lái)設(shè)置或返回一個(gè)值,該值用來(lái)決定每次調(diào)用PerformStep 方法時(shí),  Value屬性增加的幅度。例如,如果要復(fù)制一組文件,則可將 Step 屬性的值設(shè)置為 1,并將 Maximum 屬性的值設(shè)置為要復(fù)制的文件總數(shù)。在復(fù)制每個(gè)文件時(shí),可以調(diào)用PerformStep方法按Step屬性的值增加進(jìn)度欄。

             

            ProgressBar控件的常用方法如下。

             

            1Increment方法:用來(lái)按指定的數(shù)量增加進(jìn)度條的值,調(diào)用的一般格式如下:

             

            progressBar對(duì)象.Increment(n);

             

            其功能是把“progressBar對(duì)象指定的進(jìn)度條對(duì)象的Value屬性值增加n,n為整數(shù)。調(diào)用該方法之后,若Value屬性大于Maximum屬性的值,則 Value屬性值就是Maximum值,若Value屬性小于Minimum屬性值,則 Value屬性值就是Minimum值。

             

            2PerformStep方法:用來(lái)按step屬性值來(lái)增加進(jìn)度條的Value屬性值,調(diào)用的一般格式如下:

             

            progressBar對(duì)象.PerformStep(); 該方法無(wú)參數(shù)。例如,下列程序段是一個(gè)顯示復(fù)制多個(gè)文件的進(jìn)度的進(jìn)度條使用方法。

             

            privatevoidCopyWithProgress(string[]filenames)

             

            {     pBar1.Visible=true;

             

            pBar1.Minimum=1;

             

            pBar1.Maximum=filenames.Length;

             

            pBar1.Value=1;

             

            pBar1.Step=1;

             

            for(intx=1;x<=filenames.Length;x++)

             

            {     if(CopyFile(filenames[x-1])==true)

             

            {

            pBar1.PerformStep();

             

            }  

             

            }

             

            }

             

            ProgressBar控件能響應(yīng)很多事件,但一般很少使用。

             

            2TrackBar控件

             

            TrackBar 控件又稱(chēng)滑塊控件、跟蹤條控件,它在工具箱中的圖標(biāo)是“ ” 。該控件主要用于在大量信息中進(jìn)行瀏覽,或用于以可視形式調(diào)整數(shù)字設(shè)置。TrackBar控件有兩部分:縮略圖(也稱(chēng)為滑塊)和刻度線??s略圖是可以調(diào)整的部分,其位置與 Value 屬性相對(duì)應(yīng)。刻度線是按規(guī)則間隔分隔的可視化指示符。跟蹤條控件可以按指定的增量移動(dòng),并且可以水平或者垂直排列。

             

            TrackBar控件的常用屬性如下。

             

            1Maximum屬性:用來(lái)獲取或設(shè)置TrackBar控件可表示的范圍上限,即最大值。

             

            2Minimum屬性:用來(lái)獲取或設(shè)置TrackBar控件可表示的范圍下限,即最小值。

             

            3Orientation屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示跟蹤條是在水平方向還是在垂

             

            直方向。

             

            4LargeChange屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示當(dāng)滑塊長(zhǎng)距離移動(dòng)時(shí)應(yīng)為Value屬性中加上或

             

            減去的值。

             

            5SmallChange屬性:用來(lái)獲取或設(shè)置當(dāng)滑塊短距離移動(dòng)時(shí)對(duì)Value屬性進(jìn)行增減的值。

             

            6Value屬性:用來(lái)獲取或設(shè)置滑塊在跟蹤條控件上的當(dāng)前位置的值。

             

            7TickFrequency屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指定控件上繪制的刻度之間的增量。

             

            8TickStyle 屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示如何顯示跟蹤條上的刻度線。該屬性的取值及含義如表9-12 所示。

             

            TrackBar控件的常用事件是ValueChanged,該事件在TrackBar控件的Value屬性值改變時(shí)發(fā)生。

             

            16HScrollBar 控件和 VScrollBar控件的使用

            滾動(dòng)條(ScrollBar)是大部分Windows應(yīng)用程序中都具有的控件,是 Windows界面的

             

            一種常見(jiàn)元素,通常分為水平滾動(dòng)條(HscrollBar)和垂直滾動(dòng)條(VscrollBar)。HScrollBar

             

            在工具箱中的圖標(biāo)是,VScrollBar控件在工具箱中的圖標(biāo)是。這兩

             

            個(gè)控件主要用于在應(yīng)用程序或控件中水平或垂直滾動(dòng),以方便在較長(zhǎng)的列表中或大量信息中

             

            轉(zhuǎn)移。

             

            1、常用屬性:

             

            1MinimumMaximum屬性:與TrackBar控件的同名屬性基本相同。

             

            2Value屬性:用于設(shè)置或返回滑塊在滾動(dòng)條中所處的位置,其默認(rèn)值為0。當(dāng)滑塊的位置值為最小值時(shí),滑塊移到水平滾動(dòng)條的最左端位置,或移到垂直滾動(dòng)條的頂端位置。當(dāng)滑塊的位置值為最大值時(shí),滑塊移到水平滾動(dòng)條的最右端位置或垂直滾動(dòng)條的底端位置。

             

            3SmallChangeLargeChange屬性:這兩個(gè)屬性主要用于調(diào)整滑塊移動(dòng)的距離。其

             

            SmallChange屬性用于控制當(dāng)鼠標(biāo)單擊滾動(dòng)條兩邊的箭頭時(shí),滑塊滾動(dòng)的值,即 Value屬性增加或減小的值。而LargeChange屬性則控制當(dāng)用鼠標(biāo)直接單擊滾動(dòng)條時(shí)滑塊滾動(dòng)的值。當(dāng)用戶(hù)按下PageUp鍵或PageDown鍵或者在滑塊的任何一邊單擊滾動(dòng)條軌跡時(shí),Value屬性將按照 LargeChange屬性中設(shè)置的值進(jìn)行增加或減小。

             

            2、常用事件:

             

            1Scroll事件:該事件在用戶(hù)通過(guò)鼠標(biāo)或鍵盤(pán)移動(dòng)滑塊后發(fā)生。

             

            2ValueChanged事件:該事件在滾動(dòng)條控件的Value屬性值改變時(shí)發(fā)生。滾動(dòng)條的使用方法與TrackBar控件基本一致,此處不再贅述。  

             

            對(duì)話框類(lèi)控件

             

            17OpenFileDialog 控件

            OpenFileDialog控件又稱(chēng)打開(kāi)文件對(duì)話框,主要用來(lái)彈出Windows中標(biāo)準(zhǔn)的【打開(kāi)文件】

             

            對(duì)話框。該控件在工具箱中的圖標(biāo)為 。

             

            OpenFileDialog控件的常用屬性如下。

             

            1Title屬性:用來(lái)獲取或設(shè)置對(duì)話框標(biāo)題,默認(rèn)值為空字符串("")。如果標(biāo)題為空字符串,則系統(tǒng)將使用默認(rèn)標(biāo)題: 打開(kāi)。

             

            2Filter屬性:用來(lái)獲取或設(shè)置當(dāng)前文件名篩選器字符串,該字符串決定對(duì)話框的【另存為文件類(lèi)型】或【文件類(lèi)型】框中出現(xiàn)的選擇內(nèi)容。對(duì)于每個(gè)篩選選項(xiàng),篩選器字符串都包含篩選器說(shuō)明、垂直線條(|)和篩選器模式。不同篩選選項(xiàng)的字符串由垂直線條隔開(kāi),例如: 文本文件(*.txt)|*.txt|所有文件(*.*)|*.*” 。還可以通過(guò)用分號(hào)來(lái)分隔各種文件類(lèi)型,可以將多個(gè)篩選器模式添加到篩選器中,例如: 圖像文件(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG; *.GIF|所有文件(*.*)|*.*”

             

            3FilterIndex屬性:用來(lái)獲取或設(shè)置文件對(duì)話框中當(dāng)前選定篩選器的索引。第一個(gè)篩選器的索引為1,默認(rèn)值為1。

             

            4FileName 屬性:用來(lái)獲取在打開(kāi)文件對(duì)話框中選定的文件名的字符串。文件名既包含文件路徑也包含擴(kuò)展名。如果未選定文件,該屬性將返回空字符串("")。

             

            5InitialDirectory屬性:用來(lái)獲取或設(shè)置文件對(duì)話框顯示的初始目錄,默認(rèn)值為空字符串("")。 - 17 -

             

             

            6ShowReadOnly屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否包含只讀復(fù)選框。如果對(duì)話框包含只讀復(fù)選框,則屬性值為true,否則屬性值為false。默認(rèn)值為false。

             

            7ReadOnlyChecked屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示是否選定只讀復(fù)選框。如果選中了只讀復(fù)選框,則屬性值為true,反之,屬性值為false。默認(rèn)值為false。

             

            8Multiselect屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否允許選擇多個(gè)文件。如果對(duì)話框允許同時(shí)選定多個(gè)文件,則該屬性值為true,反之,屬性值為false。默認(rèn)值為false。

             

            9FileNames屬性:用來(lái)獲取對(duì)話框中所有選定文件的文件名。每個(gè)文件名都既包含文件路徑又包含文件擴(kuò)展名。如果未選定文件,該方法將返回空數(shù)組。

             

            10RestoreDirectory屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框在關(guān)閉前是否還原當(dāng)前目錄。假設(shè)用戶(hù)在搜索文件的過(guò)程中更改了目錄,且該屬性值為 true,那么,對(duì)話框會(huì)將當(dāng)前目錄還原為初始值,若

             

            該屬性值為 false,則不還原成初始值。默認(rèn)值為 false。OpenFileDialog 控件的常用方法有兩個(gè):OpenFileShowDialog方法,本節(jié)只介紹ShowDialog方法,該方法的作用是顯示通用對(duì)話框,其一般調(diào)用形式如下: 通用對(duì)話框?qū)ο竺?/span>.ShowDialog();

             

            通用對(duì)話框運(yùn)行時(shí),如果單擊對(duì)話框中的【確定】按鈕,則返回值為 DialogResult.OK;否則返回值為DialogResult.Cancel。其他對(duì)話框控件均具有ShowDialog方法,以后不再重復(fù)介紹。

             

            18SaveFileDialog 控件

            SaveFileDialog 控件又稱(chēng)保存文件對(duì)話框,主要用來(lái)彈出 Windows 中標(biāo)準(zhǔn)的【保存文件】對(duì)話框。

             

            SaveFileDialog 控件也具有 FileNameFilter、FilterIndex、InitialDirectory、Title 等屬性,這些屬性的作用與 OpenFileDialog對(duì)話框控件基本一致,此處不再贅述。

             

            需注意的是:上述兩個(gè)對(duì)話框只返回要打開(kāi)或保存的文件名,并沒(méi)有真正提供打開(kāi)或保存文件的功能,程序員必須自己編寫(xiě)文件打開(kāi)或保存程序,才能真正實(shí)現(xiàn)文件的打開(kāi)和保存功能。

             

            19、FontDialog 控件

            FontDialog控件又稱(chēng)字體對(duì)話框,主要用來(lái)彈出Windows中標(biāo)準(zhǔn)的【字體】對(duì)話框。字體對(duì)話框的作用是顯示當(dāng)前安裝在系統(tǒng)中的字體列表,供用戶(hù)進(jìn)行選擇。下面介紹字體對(duì)話框的主要屬性。

             

            1Font屬性:該屬性是字體對(duì)話框的最重要屬性,通過(guò)它可以設(shè)定或獲取字體信息。

             

            2Color屬性:用來(lái)設(shè)定或獲取字符的顏色。

             

            3MaxSize屬性:用來(lái)獲取或設(shè)置用戶(hù)可選擇的最大磅值。

             

            4MinSize屬性:用來(lái)獲取或設(shè)置用戶(hù)可選擇的最小磅值。192VisualC#.NET應(yīng)用教程

             

            5ShowColor屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否顯示顏色選擇框。如果對(duì)話框顯示顏色選擇框,屬性值為true,反之,屬性值為false。默認(rèn)值為false。

             

            6ShowEffects 屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否包含允許用戶(hù)指定刪除線、下劃線和文本顏色選項(xiàng)的控件。如果對(duì)話框包含設(shè)置刪除線、下劃線和文本顏色選項(xiàng)的控件,屬性值為 true,反之,屬性值為false。默認(rèn)值為true。

             

            20、ColorDialog控件

            ColorDialog 控件又稱(chēng)顏色對(duì)話框,主要用來(lái)彈出 Windows 中標(biāo)準(zhǔn)的【顏色】對(duì)話框。該控件在工具箱中的圖標(biāo)為 。顏色對(duì)話框的作用是供用戶(hù)選擇一種顏色,并用 Color 屬性記錄用戶(hù)選擇的顏色值。下面介紹顏色對(duì)話框的主要屬性。

             

            1AllowFullOpen屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示用戶(hù)是否可以使用該對(duì)話框定義自定義顏色。如果允許用戶(hù)自定義顏色,屬性值為true,否則屬性值為false。默認(rèn)值為true。

             

            2FullOpen 屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示用于創(chuàng)建自定義顏色的控件在對(duì)話框打開(kāi)時(shí)是否可見(jiàn)。值為true時(shí)可見(jiàn),值為 false時(shí)不可見(jiàn)。

             

            3AnyColor 屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否顯示基本顏色集中可用的所有顏色。值為 true時(shí),顯示所有顏色,否則不顯示所有顏色。

             

            4Color屬性:用來(lái)獲取或設(shè)置用戶(hù)選定的顏色。

             

            21、PrintDialog控件和 PrintDocument 控件

            PrintDialog 控件在工具箱中的圖標(biāo)是 ,PrintDocument 控件在工具箱中的圖標(biāo)是。使用PrintDialog控件可以顯示Windows標(biāo)準(zhǔn)的【打印】對(duì)話框,在該對(duì)話框中用戶(hù)可以選擇打印機(jī)、選擇要打印的頁(yè)及頁(yè)碼范圍等。需要注意的是:該對(duì)話框并不負(fù)責(zé)具體的打印任務(wù),要想在應(yīng)用程序中控制打印內(nèi)容必須使用 PrintDocument 控件。關(guān)于這兩個(gè)控件的詳細(xì)使用方法讀者可參閱相關(guān)資料或VisualC#的幫助文件。

             

            用戶(hù)自定義對(duì)話框

             

            除了可以使用Windows自帶的標(biāo)準(zhǔn)對(duì)話框外,用戶(hù)還可以把自己設(shè)計(jì)的窗體定義成對(duì)話框。使用自定義對(duì)話框有以下幾個(gè)要點(diǎn)。

             

            1)將窗體的FormBorderStyle屬性值設(shè)置為FixedDialog

             

            2)根據(jù)需要向窗體上添加控件。

             

            3)使用窗體的ShowDialog方法顯示窗體,即顯示出對(duì)話框。

             

            22、用戶(hù)自定義對(duì)話框

            除了可以使用Windows自帶的標(biāo)準(zhǔn)對(duì)話框外,用戶(hù)還可以把自己設(shè)計(jì)的窗體定義成對(duì)話框。使用自定義對(duì)話框有以下幾個(gè)要點(diǎn)。

             

            1)將窗體的FormBorderStyle屬性值設(shè)置為FixedDialog。

             

            2)根據(jù)需要向窗體上添加控件。

             

            3)使用窗體的ShowDialog方法顯示窗體,即顯示出對(duì)話框。

             

            23、菜單控件

            Windows 的菜單系統(tǒng)是圖形用戶(hù)界面(GUI)的重要組成之一,在 VisualC#中使用 MainMenu 控件可以很方便地實(shí)現(xiàn)Windows的菜單,MainMenu控件在工具箱中的圖標(biāo)為 。

             

            1.菜單的結(jié)構(gòu)

             

            10-9和圖10-10 是典型的菜單結(jié)構(gòu)。其中有文字的單個(gè)命令稱(chēng)菜單項(xiàng),頂層菜單項(xiàng)是橫著排列的,單擊某個(gè)菜單項(xiàng)后彈出的稱(chēng)為菜單或子菜單,它們均包含若干個(gè)菜單項(xiàng),菜單項(xiàng)其實(shí)是 MenuItem 類(lèi)的一個(gè)對(duì)象。菜單項(xiàng)有的是變灰顯示的,表示該菜單項(xiàng)當(dāng)前是被禁止使用的。有的菜單項(xiàng)的提示文字中有帶下劃線的字母,該字母稱(chēng)為熱鍵(或訪問(wèn)鍵),若是頂層菜單,可通過(guò)按“ALT+熱鍵打開(kāi)該菜單,若是某個(gè)子菜單中的一個(gè)選項(xiàng),則在打開(kāi)子菜單后直接按熱鍵就會(huì)執(zhí)行相應(yīng)的菜單命令。有的菜單項(xiàng)后面有一個(gè)按鍵或組合鍵,稱(chēng)快捷鍵,在不打開(kāi)菜單的情況下按快捷鍵,將執(zhí)行相應(yīng)的命令。在圖 10-9 中,【保存文件】菜單項(xiàng)是加粗顯示的,該菜單項(xiàng)稱(chēng)為默認(rèn)項(xiàng)。圖10-9的【另存為】和【退出】之間有一個(gè)灰色的線條,該線條稱(chēng)為分隔線或分隔符。在圖 10-10 中菜單項(xiàng)【白色背景】前面有一個(gè)“√”號(hào),稱(chēng)為選中標(biāo)記,菜單項(xiàng)加上選中標(biāo)記表示該菜單項(xiàng)代表的功能當(dāng)前正在起作用。  

             

            2.菜單項(xiàng)的常用屬性

             

            1Text 屬性:用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示菜單項(xiàng)標(biāo)題。當(dāng)使用 Text 屬性為菜單項(xiàng)指定標(biāo)題時(shí),還可以在字符前加一個(gè)“&”號(hào)來(lái)指定熱鍵(訪問(wèn)鍵,即加下劃線的字母)。例如,若要將“File”中的“F”指定為訪問(wèn)鍵,應(yīng)將菜單項(xiàng)的標(biāo)題指定為“&File” 。

             

            2Checked屬性:用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示選中標(biāo)記是否出現(xiàn)在菜單項(xiàng)文本的旁邊。如果要放置選中標(biāo)記在菜單項(xiàng)文本的旁邊,屬性值為true,否則屬性值為false。默認(rèn)值為false。

             

            3DefaultItem 屬性:用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示菜單項(xiàng)是否為默認(rèn)菜單項(xiàng)。值為 true 時(shí),是默認(rèn)菜單項(xiàng),值為 false時(shí),不是默認(rèn)菜單項(xiàng)。菜單的默認(rèn)菜單項(xiàng)以粗體的形式顯示。當(dāng)用戶(hù)雙擊包含默認(rèn)項(xiàng)的子菜單后,默認(rèn)項(xiàng)被選定,然后子菜單關(guān)閉。

             

            4Enabled屬性:用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示菜單項(xiàng)是否可用。值為true時(shí)表示可用,值為false表示當(dāng)前禁止使用。

             

            5RadioCheck 屬性:用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示選中的菜單項(xiàng)的左邊是顯示單選按鈕還是選中標(biāo)記。值為true時(shí)將顯示單選按鈕標(biāo)記,值為false時(shí)顯示選中標(biāo)記。

             

            6Shortcut屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示與菜單項(xiàng)相關(guān)聯(lián)的快捷鍵。

             

            7ShowShortcut 屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示與菜單項(xiàng)關(guān)聯(lián)的快捷鍵是否在菜單項(xiàng)標(biāo)題的旁邊顯示。如果快捷組合鍵在菜單項(xiàng)標(biāo)題的旁邊顯示,該屬性值為 true,如果不顯示快捷鍵,該屬性值為false。默認(rèn)值為true。

             

            8MdiList屬性:用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示是否用在關(guān)聯(lián)窗體內(nèi)顯示的多文檔界面(MDI)子窗口列表來(lái)填充菜單項(xiàng)。若要在該菜單項(xiàng)中顯示MDI子窗口列表,則設(shè)置該屬性值為true,否則設(shè)置該屬性的值為false。默認(rèn)值為false。

             

            3.菜單項(xiàng)的常用事件

             

            菜單項(xiàng)的常用事件主要有Click事件,該事件在用戶(hù)單擊菜單項(xiàng)時(shí)發(fā)生。

             

            24、多窗體程序設(shè)計(jì)

             

            Windows應(yīng)用程序很少只由一個(gè)窗體組成, 一般情況下一個(gè)應(yīng)用程序均擁有很多個(gè)窗體。C#項(xiàng)目剛建立時(shí)只有一個(gè)名為Form1的窗體,要建立多窗體應(yīng)用程序應(yīng)首先為項(xiàng)目添加窗

             

            體,添加窗體的方法如下。

             

            1 單擊工具欄上的按鈕 或執(zhí)行【項(xiàng)目】【添加Windows窗體】命令,將會(huì)出現(xiàn)如圖 10-17 所示的【添加新項(xiàng)】對(duì)話框。

             

            2 在該對(duì)話框的【模板】下面的列表框中  選中【Windows 窗體】圖標(biāo),在【名稱(chēng)】文本框中輸入窗體名,然后單擊【打開(kāi)】按鈕,即為應(yīng)用程序添加了一個(gè)窗體。

             

            25、MDI 應(yīng)用程序設(shè)計(jì)

            1MDI應(yīng)用程序的概念

             

             

            在前面的章節(jié)中,所創(chuàng)建的都是單文檔界面(SDI)應(yīng)用程序。這樣的程序(如記事本和畫(huà)圖程序)僅支持一次打開(kāi)一個(gè)窗口或文檔。如果需要編輯多個(gè)文檔,必須創(chuàng)建SDI應(yīng)用程序的多個(gè)實(shí)例。而使用多文檔界面(MDI)程序(如WordAdobePhotoshop)時(shí),用戶(hù)可以同時(shí)編輯多個(gè)文檔。MDI程序中的應(yīng)用程序窗口稱(chēng)為父窗口,應(yīng)用程序內(nèi)部的窗口稱(chēng)為子窗口。雖然 MDI應(yīng)用程序可以具有多個(gè)子窗口, 但是每個(gè)子窗口卻只能有一個(gè)父窗口。此外,處于活動(dòng)狀態(tài)的子窗口最大數(shù)目是 1。子窗口本身不能再成為父窗口,而且不能移動(dòng)到它們的父窗口區(qū)域之外。除此以外,子窗口的行為與任何其他窗口一樣(如可以關(guān)閉、最小化和調(diào)整大小等)。一個(gè)子窗口在功能上可能與父窗口的其他子窗口不同,例如,一個(gè)子窗口可能用于編輯圖像,另一個(gè)子窗口可能用于編輯文本,第 3 個(gè)子窗口可以使用圖形來(lái)顯示數(shù)據(jù),但是所有的窗口都屬于相同的MDI父窗口。圖 10-19 是一個(gè)典型的 MDI應(yīng)用程序。外面的窗口是應(yīng)用程序窗口,里面的兩個(gè)小窗口是 MDI子窗口。 2.與 MDI應(yīng)用程序設(shè)計(jì)有關(guān)的屬性、方法和事件 常用的MDI父窗體屬性如下。

             

            1ActiveMdiChild屬性:該屬性用來(lái)表示當(dāng)前活動(dòng)的MDI子窗口,如果當(dāng)前沒(méi)有子窗口,則返回null。

             

            2IsMdiContainer屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示窗體是否為多文檔界面(MDI)子窗體的容器,即MDI父窗體。值為true時(shí),表示是父窗體,值為false時(shí),表示不是父窗體。

             

            3MdiChildren屬性:該屬性以窗體數(shù)組形式返回MDI子窗體,每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè) MDI子窗體。

             

            常用的MDI子窗體的屬性有:

             

             

            1IsMdiChild屬性:該屬性用來(lái)獲取一個(gè)值,該值指示該窗體是否為多文檔界面(MDI)的子窗體。值為 true時(shí),表示是子窗體,值為false時(shí),表示不是子窗體。

             

            2MdiParent屬性:該屬性用來(lái)指定該子窗體的MDI父窗體。與MDI應(yīng)用程序設(shè)計(jì)有關(guān)的方法中,一

             

            般只使用父窗體的LayoutMdi方法,該方法的調(diào)用格式如下:

             

            MDI父窗體名.LayoutMdi(Value);

             

            該方法用來(lái)在MDI父窗體中排列MDI子窗體,以便導(dǎo)航和操作MDI子窗體。參數(shù)Value決定排列方式,

             

            取值有:MdiLayout.ArrangeIcons(所有 MDI 子窗體以圖標(biāo)的形式排列在 MDI 父窗體的工作區(qū)內(nèi))、MdiLayout.TileHorizontal (所有MDI子窗口均水平平鋪在MDI父窗體的工作區(qū)內(nèi))、 MdiLayout.TileVertical(所有 MDI 子窗口均垂直平鋪在 MDI 父窗體的工作區(qū)內(nèi))和 MdiLayout.Cascade(所有 MDI 子窗口均層疊在 MDI 父窗體的工作區(qū)內(nèi))。常用的 MDI 父窗體的事件是 MdiChildActivate,當(dāng)激活或關(guān)閉一個(gè) MDI子窗體時(shí)將發(fā)生該事件。

             

            3.菜單合并

             

             

            父窗體和子窗體可以使用不同的菜單,這些菜單會(huì)在選擇子窗體的時(shí)候合并。如果需要指定菜單的合并方式,程序員可以設(shè)置每個(gè)菜單項(xiàng)的MergeOrder屬性和MergeType屬性。 - 21 -

             

            1MergeOrder屬性:用來(lái)確定當(dāng)兩個(gè)菜單合并時(shí)菜單項(xiàng)出現(xiàn)的順序,具有較低

             

            MergeOrder的菜單項(xiàng)會(huì)首先出現(xiàn)。

             

            2MergeType屬性:當(dāng)合并的兩個(gè)菜單的某些菜單項(xiàng)的MergeOrder屬性值相等時(shí),

             

            使用該屬性可以控制這些菜單項(xiàng)的顯示方式。其取值及含義如表10-4所示。

             

             

             

             

            26、鍵盤(pán)事件處理

            鍵盤(pán)事件在用戶(hù)按下鍵盤(pán)上的鍵時(shí)發(fā)生,可分為兩類(lèi)。第一類(lèi)是KeyPress事件,當(dāng)按下的鍵表示的是一個(gè)ASCII 字符時(shí)就會(huì)觸發(fā)這類(lèi)事件,可通過(guò)它的 KeyPressEventArgs 類(lèi)型參數(shù)的屬性 KeyChar 來(lái)確定按下鍵的 ASCII 碼。使用 KeyPress 事件無(wú)法判斷是否按下了修改鍵(例如 ShiftAlt Ctrl 鍵),為了判斷這些動(dòng)作, 就要處理KeyUp KeyDown事件, 這些事件組成了第二類(lèi)鍵盤(pán)事件。 該類(lèi)事件有一個(gè)KeyEventArgs類(lèi)型的參數(shù),通過(guò)該參數(shù)可以測(cè)試是否按下了一些修改鍵、功能鍵等特殊按鍵信息。

             

            1KeyPressEventArgs類(lèi)的主要屬性(KeyPress事件的一個(gè)參數(shù)類(lèi)型)

             

            1Handled屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示是否處理過(guò)KeyPress事件。

             

            2KeyChar屬性:用來(lái)獲取按下的鍵對(duì)應(yīng)的字符,通常是該鍵的ASCII碼。

             

            2KeyEventArgs類(lèi)的主要屬性(KeyUpKeyDown事件的一個(gè)參數(shù))

             

            1Alt屬性:用來(lái)獲取一個(gè)值,該值指示是否曾按下Alt鍵。

             

            2Control屬性:用來(lái)獲取一個(gè)值,該值指示是否曾按下Ctrl鍵。

             

            3Shift屬性:用來(lái)獲取一個(gè)值,該值指示是否曾按下Shift鍵。

             

            4Handled屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示是否處理過(guò)此事件。

             

            5KeyCode屬性:以 Keys枚舉型值返回鍵盤(pán)鍵的鍵碼,該屬性不包含修改鍵(Alt、ControlShift鍵)信息,用于測(cè)試指定的鍵盤(pán)鍵。

             

            6KeyData 屬性:以 Keys 枚舉類(lèi)型值返回鍵盤(pán)鍵的鍵碼,并包含修改鍵信息,用于判斷關(guān)于按下鍵盤(pán)鍵的所有信息。

             

            7KeyValue屬性:以整數(shù)形式返回鍵碼,而不是Keys枚舉類(lèi)型值。用于獲得所按下鍵盤(pán)鍵的數(shù)字表示。

             

            8Modifiers 屬性:以 Keys 枚舉類(lèi)型值返回所有按下的修改鍵(Alt、Control Shift 鍵),僅用于判斷修改鍵信息。

             

            27、鼠標(biāo)事件處理

            對(duì)鼠標(biāo)操作的處理是應(yīng)用程序的重要功能之一,在VisualC#中有一些與鼠標(biāo)操作相關(guān)的事件,利用它們可以方便地進(jìn)行與鼠標(biāo)有關(guān)的編程。

             

            1MouseEnter事件:在鼠標(biāo)指針進(jìn)入控件時(shí)發(fā)生。

             

            2MouseMove事件:在鼠標(biāo)指針移到控件上時(shí)發(fā)生。事件處理程序接收一個(gè)MouseEventArgs類(lèi)型的參數(shù),該參數(shù)包含與此事件相關(guān)的數(shù)據(jù)。該參數(shù)的主要屬性及其含義如下。

             

            Button屬性:用來(lái)獲取曾按下的是哪個(gè)鼠標(biāo)按鈕。該屬性是MouseButtons枚舉型的值, 取值及含義如下:Left(按下鼠標(biāo)左按鈕)、Middle(按下鼠標(biāo)中按鈕)、Right(鼠標(biāo)右按鈕)、None(沒(méi)有按下鼠標(biāo)按鈕)、 XButton1 (按下了第一個(gè)XButton按鈕, 僅用于Microsoft智能鼠標(biāo)瀏覽器) 和XButton2(按下了第二個(gè)XButton按鈕,僅用于 Microsoft智能鼠標(biāo)瀏覽器)

             

            Clicks屬性:用來(lái)獲取按下并釋放鼠標(biāo)按鈕的次數(shù)。

             

            Delta屬性:用來(lái)獲取鼠標(biāo)輪已轉(zhuǎn)動(dòng)的制動(dòng)器數(shù)的有符號(hào)計(jì)數(shù)。制動(dòng)器是鼠標(biāo)輪的一個(gè)凹口。

             

            X 屬性:用來(lái)獲取鼠標(biāo)所在位置的x坐標(biāo)。

             

            Y 屬性:用來(lái)獲取鼠標(biāo)所在位置的y坐標(biāo)。

             

            3MouseHover事件:當(dāng)鼠標(biāo)指針懸停在控件上時(shí)將發(fā)生該事件。

             

            4MouseDown事件:當(dāng)鼠標(biāo)指針位于控件上并按下鼠標(biāo)鍵時(shí)將發(fā)生該事件。事件處理程序也接收一個(gè)

             

            MouseEventArgs類(lèi)型的參數(shù)。

             

            5MouseWheel事件:在移動(dòng)鼠標(biāo)輪并且控件有焦點(diǎn)時(shí)將發(fā)生該事件。該事件的事件處理程序接收一個(gè)MouseEventArgs類(lèi)型的參數(shù)

             

            6MouseUp 事件:當(dāng)鼠標(biāo)指針在控件上并釋放鼠標(biāo)鍵時(shí)將發(fā)生該事件。事件處理程序也接收一個(gè)

             

            MouseEventArgs類(lèi)型的參數(shù)。

             

            7MouseLeave事件:在鼠標(biāo)指針離開(kāi)控件時(shí)將發(fā)生該事件。 - 23 –

             

             

             

            28、排列窗體上的控件對(duì)齊

             

            窗體對(duì)齊的步驟:

             

            1.選擇要對(duì)齊的控件

             

            2.VS菜單中,選擇格式”→“對(duì)齊選項(xiàng),單擊想要的對(duì)齊方式

             

            注:你選擇的第一個(gè)控件是主控件,其他的控件都與他對(duì)齊。

             

             

            使用Anchor

             

            Anchor是錨定的意思,它的作用就是設(shè)置控件相對(duì)于窗體的某個(gè)邊緣的距離保持不變,也就是說(shuō)與窗體一起動(dòng)態(tài)調(diào)整控件的大小,這是每個(gè)控件都有的屬性。

             

            使用步驟:

             

            1.選擇要錨定的控件2.屬性窗口中,單擊Anchor屬性右邊的箭頭,顯示編輯器

             

            3.在顯示的十字行上選擇或清除控件錨定的邊4.單擊Anchor屬性名,關(guān)閉編輯器

             

            使用Dock

             

            Dock是讓控件始終保持在窗體的邊緣,或者填充窗體

             

            使用步驟:

             

            選擇要??康目丶?/span>屬性窗口中,單擊Dock屬性的右側(cè)箭頭,顯示編輯器

            設(shè)置??糠绞絼?chuàng)建多文檔界面應(yīng)用程序(MDI)

               什么是MDI

             

               要在一個(gè)窗口中打開(kāi)多個(gè)文件,就要使用MDI(多文檔界面)應(yīng)用程序

             

               MDI主要由兩種窗口組成:父窗口和子窗口

             

               MDI的幾個(gè)顯著的特點(diǎn):

             

            啟動(dòng)一個(gè)MDI應(yīng)用程序時(shí),首先顯示父窗體

            它是應(yīng)用程序中所有其他窗口的容器

            每個(gè)應(yīng)用程序界面都只能有一個(gè)MDI父窗體

            在任何指定的時(shí)間都可以打開(kāi)多個(gè)子窗體

            任何MDI子窗體都不能移出MDI框架區(qū)域

            關(guān)閉MDI父窗體則自動(dòng)關(guān)閉所有打開(kāi)的MDI子窗體

             

            如何創(chuàng)建MDI

             

            創(chuàng)建MDI步驟:

             

            設(shè)置父窗體:將父窗體的IsMDICContainer屬性設(shè)置為True

            設(shè)置子窗體:在調(diào)用打開(kāi)子窗體的Show()方法前,在代碼中將子窗體的MdiParents屬性設(shè)置為this

            為父窗體添加子窗體列表

             

            在父窗體中添加一個(gè)菜單

            添加一個(gè)窗口菜單項(xiàng)

            將菜單控件的MdiWindowListItem屬性設(shè)為窗口菜單項(xiàng)

             

             

             

            使用WinForms高級(jí)控件

             

             

            工具條(ToolStrip):

             

            使用工具條可以創(chuàng)建功能非常強(qiáng)大的工具欄,工具條控件可以包含按鈕、標(biāo)簽、下拉按鈕、文本框、組合框等,可以顯示文字、圖片或文字加圖片。

             

            狀態(tài)條(StatusStrip):狀態(tài)條常常放在窗體的底部,用來(lái)顯示一些基本信息。在狀態(tài)條控件中可以包含標(biāo)簽、下拉按鈕等,常常和工具條、菜單欄等配合使用。工具條和狀態(tài)條的主要屬性和事件

             

            屬性

             

            說(shuō)明

             

            ImageScalingSize

             

            工具條或狀態(tài)條中的項(xiàng)顯示的圖像的大小

             

            Items

             

            在工具條或狀態(tài)條上顯示的項(xiàng)的集合

             

            DisplayStyle

             

            設(shè)置圖像和文本的顯示方式,包括顯示文本、顯示圖像、顯示文本和圖像或什么都不顯示

             

            Text

             

            按鈕\標(biāo)簽上顯示的文本

             

            Image

             

            按鈕/標(biāo)簽上顯示的圖片

             

            事件

             

            說(shuō)明

             

            Click

             

            單擊按鈕/標(biāo)簽時(shí),觸發(fā)該事件

             

            選項(xiàng)卡(TabControl)

             

            這個(gè)控件可以顯示多個(gè)選項(xiàng)卡頁(yè),選項(xiàng)卡中可以包含圖片和其他控件選項(xiàng)卡的主要屬性

             

            屬性

             

            說(shuō)明

             

            MultiLine

             

            是否可以顯示多行選項(xiàng)卡

             

            TabPages

             

            包含的選項(xiàng)卡頁(yè)的集合

             

            SelectedIndex

             

            當(dāng)前所選選項(xiàng)卡頁(yè)的索引值

             

            圖片框(PictureBox)

             

            用于顯示位圖、DIF、JEPG等格式的圖片或這圖標(biāo)圖片框的主要屬性

             

            屬性

             

            方法

             

            Image

             

            圖片框顯示的圖片

             

            SizeMode

             

            指定如何處理圖片的位置和控件的大小

             

             

            圖像列表框(ImageList)

             

            用于儲(chǔ)存Windows窗體其他控件使用的圖像圖像列表框的主要屬性

             

            屬性

             

            方法

             

            Images

             

            儲(chǔ)存在圖像列表中的所有圖像

             

            ImageSize

             

            圖像列表中圖像的大小

             

            TransparentColor

             

            被視為透明的顏色

             

            Image中存放的圖像就像存放在數(shù)組中一樣,每個(gè)圖像都有一個(gè)索引值,從0開(kāi)始,使用Image[索引值],可以定位到一個(gè)圖像

             

             

            版權(quán)聲明:本文內(nèi)容轉(zhuǎn)發(fā)自阿里云社區(qū),由阿里云實(shí)名注冊(cè)用戶(hù)自發(fā)貢獻(xiàn)!版權(quán)歸原作者所有。本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本中有涉嫌抄襲的內(nèi)容,請(qǐng)聯(lián)系站內(nèi)客服,本將立刻刪除涉嫌侵權(quán)內(nèi)容。 

             

            上一篇:WinForm——窗體 下一篇:Map