国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
C#窗體控件簡(jiǎn)介L(zhǎng)istBox
ListBox 控件
ListBox 控件又稱列表框,它在工具箱中的圖標(biāo)為,它顯示一個(gè)項(xiàng)目列表供用戶選擇。在列表框中,用戶
一次可以選擇一項(xiàng),也可以選擇多項(xiàng)。
1、常用屬性:
(1) Items屬性: 用于存放列表框中的列表項(xiàng),
是一個(gè)集合。通過該屬性,可以添加列表項(xiàng)、
移除列表項(xiàng)和獲得列表項(xiàng)的數(shù)目。
(2)MultiColumn 屬性:用來獲取或設(shè)置一
個(gè)值,該值指示ListBox是否支持多列。值
為 true 時(shí)表示支持多列,值為 false 時(shí)不支持
多列。當(dāng)使用多列模式時(shí),可以使控件得以顯
示更多可見項(xiàng),如圖9-19 所示。
(3)ColumnWidth 屬性:用來獲取或設(shè)置多
列 ListBox控件中列的寬度。
(4)SelectionMode屬性:用來獲取或設(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àng);當(dāng)該屬性設(shè)置為 SelectionMode.MultiSimple 時(shí),鼠標(biāo)單擊或按- 11 -

空格鍵將選擇或撤銷選擇列表中的某項(xiàng);該屬性的默認(rèn)值為SelectionMode.One,則只能選擇一項(xiàng)。
(5)SelectedIndex屬性:用來獲取或設(shè)置ListBox控件中當(dāng)前選定項(xiàng)的從零開始的索引。如果未選定任何
項(xiàng),則返回值為1。對(duì)于只能選擇一項(xiàng)的ListBox控件,可使用此屬性確定ListBox中選定的項(xiàng)的索引。如
果 ListBox 控件的 SelectionMode 屬性設(shè)置為 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,
并在該列表中選定多個(gè)項(xiàng),此時(shí)應(yīng)用SelectedIndices來獲取選定項(xiàng)的索引。
(6)SelectedIndices。該屬性用來獲取一個(gè)集合,該集合包含 ListBox 控件中所有選定項(xiàng)的從零開始的索
引。
(7)SelectedItem屬性:獲取或設(shè)置ListBox中的當(dāng)前選定項(xiàng)。
(8)SelectedItems屬性:獲取 ListBox控件中選定項(xiàng)的集合,通常在ListBox控件的SelectionMode屬性值
設(shè)置為SelectionMode.MultiSimple或SelectionMode.MultiExtended(它指示多重選擇ListBox)時(shí)使用。
(9)Sorted屬性:獲取或設(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ù)奈恢谩?br>(10)Text 屬性:該屬性用來獲取或搜索 ListBox 控件中當(dāng)前選定項(xiàng)的文本。當(dāng)把此屬性值設(shè)置為字符串
值時(shí),ListBox 控件將在列表內(nèi)搜索與指定文本匹配的項(xiàng)并選擇該項(xiàng)。若在列表中選擇了一項(xiàng)或多項(xiàng),該
屬性將返回第一個(gè)選定項(xiàng)的文本。
(11)ItemsCount屬性:該屬性用來返回列表項(xiàng)的數(shù)目。
2、常用方法:
(1)FindString方法:用來查找列表項(xiàng)中以指定字符串開始的第一個(gè)項(xiàng),有兩種調(diào)用格式。
[格式1]:
ListBox對(duì)象.FindString(s);
[功能]:在“ListBox 對(duì)象”指定的列表框中查找字符串 s,如果找到則返回該項(xiàng)從零開始的索引;如果找
不到匹配項(xiàng),則返回ListBox.NoMatches。
[格式2]:
ListBox對(duì)象.FindString(s,n);
[功能]:在 ListBox 對(duì)象指定的列表框中查找字符串 s,查找的起始項(xiàng)為n+1,即 n 為開始查找的前一項(xiàng)的
索引。如果找到則返回該項(xiàng)從零開始的索引;如果找不到匹配項(xiàng),則返回ListBox.NoMatches。
注意:FindString 方式只是詞語部分匹配,即要查找的字符串在列表項(xiàng)的開頭,便認(rèn)為是匹配的,如果要
精確匹配,即只有在列表項(xiàng)與查找字符串完全一致時(shí)才認(rèn)為匹配,可使用FindStringExact方法,調(diào)用格式
與功能與FindString基本一致。
(2)SetSelected方法:用來選中某一項(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)未被選中。
(3)Items.Add方法:用來向列表框中增添一個(gè)列表項(xiàng),調(diào)用格式及功能如下。
[格式]:
ListBox對(duì)象.Items.Add(s);
[功能]:把參數(shù)s添加到“l(fā)istBox對(duì)象”指定的列表框的列表項(xiàng)中。
(4)Items.Insert方法:用來在列表框中指定位置插入一個(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的位置處。 - 12 -

(5)Items.Remove方法:用來從列表框中刪除一個(gè)列表項(xiàng),調(diào)用格式及功能如下。
[格式]:
ListBox對(duì)象.Items.Remove(k);
[功能]:從 ListBox對(duì)象指定的列表框中刪除列表項(xiàng)s。
(6)Items.Clear方法:用來清除列表框中的所有項(xiàng)。其調(diào)用格式如下:
ListBox對(duì)象.Items.Clear();
該方法無參數(shù)。
(7)BeginUpdate方法和EndUpdate方法:這兩個(gè)方法均無參數(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控件常用事件有Click和 SelectedIndexChanged,SelectedIndexChanged事件在列表框中改變選中項(xiàng)
時(shí)發(fā)生。
11、ComboBox 控件
ComboBox 控件又稱組合框,在工具箱中的圖標(biāo)為。默認(rèn)情況下,組合框分兩個(gè)部分顯示:頂部是一個(gè)允
許輸入文本的文本框,下面的列表框則顯示列表項(xiàng)??梢哉J(rèn)為ComboBox就是文本框與列表框的組合,與
文本框和列表框的功能基本一致。與列表框相比,組合框不能多選,它無 SelectionMode 屬性。但組合框
有一個(gè)名為DropDownStyle的屬性,該屬性用來設(shè)置或獲取組合框的樣式,其取值及含義如表9-10所示。

組合框的各種樣式如圖9-22 所示, 左邊的組合框能夠通過文本框輸入文本, 中間的組合框則不能輸入文本,
只能選擇列表項(xiàng)。
12、CheckedListBox 控件
CheckedListBox控件又稱復(fù)選列表框,它擴(kuò)展了ListBox控件,它幾乎
能完成列表框可以完成的所有任務(wù),并且還可以在列表項(xiàng)旁邊顯示復(fù)
選標(biāo)記。兩種控件間的其他差異在于,復(fù)選列表框只支持- 13 -

DrawMode.Normal,并且復(fù)選列表框只能有一項(xiàng)選定或沒有任何選定。此處需要注意一點(diǎn):選定的項(xiàng)是指
窗體上突出顯示的項(xiàng),已選中的項(xiàng)是指左邊的復(fù)選框被選中的項(xiàng)。復(fù)選列表框的樣式如圖9-23所示。
除具有列表框的全部屬性外,它還具有以下屬性。
(1)CheckOnClick屬性:獲取或設(shè)置一個(gè)值,該值指示當(dāng)某項(xiàng)被選定時(shí)
是否應(yīng)切換左側(cè)的復(fù)選框。如果立即切換選中標(biāo)記,則該屬性值為true;
否則為false。默認(rèn)值為false。
(2)CheckedItems 屬性:該屬性是復(fù)選列表框中選中項(xiàng)的集合,只代表
處于CheckState. Checked或CheckState.Indeterminate狀態(tài)的那些項(xiàng)。 該集
合中的索引按升序排列。
(3)CheckedIndices 屬性:該屬性代表選中項(xiàng)(處于選中狀態(tài)或中間狀
態(tài)的那些項(xiàng))索
引的集合。
PictureBox控件的使用
13、PictureBox 控件的使用
PictureBox 控件又稱圖片框,常用于圖形設(shè)計(jì)和圖像處理應(yīng)用程序,在該控件中可以加載的圖像文件格式
有:位圖文件(.Bmp)、圖標(biāo)文件(.ICO)、圖元文件(.wmf)、.JPEG 和.GIF 文件。下而僅介紹該控件的
常用屬性和事件。
1、常用屬性:
(1)Image屬性:用來設(shè)置控件要顯示的圖像。把文件中的圖像加載到圖片框通常采用以下三種方式。
設(shè)計(jì)時(shí)單擊Image屬性,在其后將出現(xiàn)【…】按鈕,單擊該按鈕將出現(xiàn)一個(gè)【打開】對(duì)話框,在該對(duì)話框
中找到相應(yīng)的圖形文件后單擊【確定】按鈕。產(chǎn)生一個(gè)Bitmap類的實(shí)例并賦值給Image屬性。形式如下:
Bitmapp=newBitmap(圖像文件名);
pictureBox對(duì)象名.Image=p;
通過 Image.FromFile方法直接從文件中加載。形式如下:
pictureBox對(duì)象名.Image=Image.FromFile(圖像文件名);
(2)SizeMode屬性:用來決定圖像的顯示模式。其取值有四種情況,取值及含義如表9-11所示。各種模
式下的圖片顯示樣式如圖9-24所示。

- 14 -

14、Timer 控件
Timer 控件又稱定時(shí)器控件或計(jì)時(shí)器控件,在工具箱中的圖標(biāo)是 ,該控件的主要作用是按一定的
時(shí)間間隔周期性地觸發(fā)一個(gè)名為Tick的事件, 因此在該事件的代碼中可以放置一些需要每隔一段時(shí)間重復(fù)
執(zhí)行的程序段。在程序運(yùn)行時(shí),定時(shí)器控件是不可見
的。
1、常用屬性:
(1)Enabled 屬性:用來設(shè)置定時(shí)器是否正在運(yùn)行。值為 true 時(shí),定時(shí)器正在運(yùn)行,值為 false 時(shí),定時(shí)
器不在運(yùn)行。
(2)Interval屬性:用來設(shè)置定時(shí)器兩次Tick事件發(fā)生的時(shí)間間隔,以毫秒為單位。如它的值設(shè)置為500,
則將每隔0.5秒發(fā)生一個(gè)Tick事件。
2、常用方法:
(1)Start方法:用來啟動(dòng)定時(shí)器。調(diào)用的一般格式如下:
Timer控件名.start();
該方法無參數(shù)。
(2)Stop方法:用來停止定時(shí)器。調(diào)用的一般格式如下:
Timer控件名.stop();
該方法無參數(shù)。
3、常用事件:
定義器控件響應(yīng)的事件只有Tick,每隔Interval時(shí)間后將觸發(fā)一次該事件。
15、ProgressBar控件和 TrackBar控件
1.ProgressBar控件
ProgressBar 控件又稱進(jìn)度條控件,它在工具欄中的圖標(biāo)為 ,該控件在水平欄中顯示適當(dāng)長(zhǎng)度
的矩形來指示進(jìn)程的進(jìn)度。當(dāng)執(zhí)行進(jìn)程時(shí),進(jìn)度條用系統(tǒng)突出顯示顏色在水平欄中從左向右進(jìn)行填充。進(jìn)
程完成時(shí),進(jìn)度欄被填滿。當(dāng)某進(jìn)程運(yùn)行時(shí)間較長(zhǎng)時(shí),如果沒有視覺提示,用戶可能會(huì)認(rèn)為應(yīng)用程序不響
應(yīng),通過在應(yīng)用程序中使用進(jìn)度條,就可以告訴用戶應(yīng)用程序正在執(zhí)行冗長(zhǎng)的任務(wù)且應(yīng)用程序仍在響應(yīng)。
ProgressBar控件的常用屬性如下。
(1)Maximum屬性:用來設(shè)置或返回進(jìn)度條能夠顯示的最大值,默認(rèn)值為100。
(2)Minimum屬性:用來設(shè)置或返回進(jìn)度條能夠顯示的最小值,默認(rèn)值為0。
(3)Value屬性:用來設(shè)置或返回進(jìn)度條的當(dāng)前位置。
(4)Step屬性:用來設(shè)置或返回一個(gè)值,該值用來決定每次調(diào)用PerformStep 方法時(shí), Value屬性增加的
幅度。例如,如果要復(fù)制一組文件,則可將 Step 屬性的值設(shè)置為 1,并將 Maximum 屬性的值設(shè)置為要復(fù)
制的文件總數(shù)。在復(fù)制每個(gè)文件時(shí),可以調(diào)用PerformStep方法按Step屬性的值增加進(jìn)度欄。
ProgressBar控件的常用方法如下。
(1)Increment方法:用來按指定的數(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屬性- 15 -

值,則 Value屬性值就是Minimum值。
(2)PerformStep方法:用來按step屬性值來增加進(jìn)度條的Value屬性值,調(diào)用的一般格式如下:
progressBar對(duì)象.PerformStep();
該方法無參數(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)很多事件,但一般很少使用。
2.TrackBar控件
TrackBar 控件又稱滑塊控件、跟蹤條控件,它在工具箱中的圖標(biāo)是“ ” 。該控件主要用于在
大量信息中進(jìn)行瀏覽,或用于以可視形式調(diào)整數(shù)字設(shè)置。TrackBar控件有兩部分:縮略圖(也稱為滑塊)
和刻度線??s略圖是可以調(diào)整的部分,其位置與 Value 屬性相對(duì)應(yīng)??潭染€是按規(guī)則間隔分隔的可視化指
示符。跟蹤條控件可以按指定的增量移動(dòng),并且可以水平或者垂直排列。
TrackBar控件的常用屬性如下。
(1)Maximum屬性:用來獲取或設(shè)置TrackBar控件可表示的范圍上限,即最大值。
(2)Minimum屬性:用來獲取或設(shè)置TrackBar控件可表示的范圍下限,即最小值。
(3)Orientation屬性:用來獲取或設(shè)置一個(gè)值,該值指示跟蹤條是在水平方向還是在垂
直方向。
(4)LargeChange屬性:用來獲取或設(shè)置一個(gè)值,該值指示當(dāng)滑塊長(zhǎng)距離移動(dòng)時(shí)應(yīng)為Value屬性中加上或
減去的值。
(5)SmallChange屬性:用來獲取或設(shè)置當(dāng)滑塊短距離移動(dòng)時(shí)對(duì)Value屬性進(jìn)行增減的值。
(6)Value屬性:用來獲取或設(shè)置滑塊在跟蹤條控件上的當(dāng)前位置的值。
(7)TickFrequency屬性:用來獲取或設(shè)置一個(gè)值,該值指定控件上繪制的刻度之間的增量。
(8)TickStyle 屬性:用來獲取或設(shè)置一個(gè)值,該值指示如何顯示跟蹤條上的刻度線。該屬性的取值及含
義如表9-12 所示。
- 16 -

TrackBar控件的常用事件是ValueChanged,該事件在TrackBar控件的Value屬性值改變時(shí)發(fā)生。
16、HScrollBar 控件和 VScrollBar控件的使用
滾動(dòng)條(ScrollBar)是大部分Windows應(yīng)用程序中都具有的控件,是 Windows界面的
一種常見元素,通常分為水平滾動(dòng)條(HscrollBar)和垂直滾動(dòng)條(VscrollBar)。HScrollBar
在工具箱中的圖標(biāo)是,VScrollBar控件在工具箱中的圖標(biāo)是。這兩
個(gè)控件主要用于在應(yīng)用程序或控件中水平或垂直滾動(dòng),以方便在較長(zhǎng)的列表中或大量信息中
轉(zhuǎn)移。
1、常用屬性:
(1)Minimum和 Maximum屬性:與TrackBar控件的同名屬性基本相同。
(2)Value屬性:用于設(shè)置或返回滑塊在滾動(dòng)條中所處的位置,其默認(rèn)值為0。當(dāng)滑塊
的位置值為最小值時(shí),滑塊移到水平滾動(dòng)條的最左端位置,或移到垂直滾動(dòng)條的頂端位置。
當(dāng)滑塊的位置值為最大值時(shí),滑塊移到水平滾動(dòng)條的最右端位置或垂直滾動(dòng)條的底端位置。
(3)SmallChange和LargeChange屬性:這兩個(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)
用戶按下PageUp鍵或PageDown鍵或者在滑塊的任何一邊單擊滾動(dòng)條軌跡時(shí),Value屬性將
按照 LargeChange屬性中設(shè)置的值進(jìn)行增加或減小。
2、常用事件:
(1)Scroll事件:該事件在用戶通過鼠標(biāo)或鍵盤移動(dòng)滑塊后發(fā)生。
(2)ValueChanged事件:該事件在滾動(dòng)條控件的Value屬性值改變時(shí)發(fā)生。
滾動(dòng)條的使用方法與TrackBar控件基本一致,此處不再贅述。

對(duì)話框類控件
17、OpenFileDialog 控件
OpenFileDialog控件又稱打開文件對(duì)話框,主要用來彈出Windows中標(biāo)準(zhǔn)的【打開文件】
對(duì)話框。該控件在工具箱中的圖標(biāo)為 。
OpenFileDialog控件的常用屬性如下。
(1)Title屬性:用來獲取或設(shè)置對(duì)話框標(biāo)題,默認(rèn)值為空字符串("")。如果標(biāo)題為空字符串,則系統(tǒng)將
使用默認(rèn)標(biāo)題: “打開” 。
(2)Filter屬性:用來獲取或設(shè)置當(dāng)前文件名篩選器字符串,該字符串決定對(duì)話框的【另存為文件類型】
或【文件類型】框中出現(xiàn)的選擇內(nèi)容。對(duì)于每個(gè)篩選選項(xiàng),篩選器字符串都包含篩選器說明、垂直線條(|)
和篩選器模式。不同篩選選項(xiàng)的字符串由垂直線條隔開,例如: “文本文件(*.txt)|*.txt|所有文件(*.*)*.*” 。
還可以通過用分號(hào)來分隔各種文件類型,可以將多個(gè)篩選器模式添加到篩選器中,例如: “圖像文件
(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG; *.GIF|所有文件(*.*)|*.*” 。
(3)FilterIndex屬性:用來獲取或設(shè)置文件對(duì)話框中當(dāng)前選定篩選器的索引。第一個(gè)篩選器的索引為1,
默認(rèn)值為1。
(4)FileName 屬性:用來獲取在打開文件對(duì)話框中選定的文件名的字符串。文件名既包含文件路徑也包
含擴(kuò)展名。如果未選定文件,該屬性將返回空字符串("")。
(5)InitialDirectory屬性:用來獲取或設(shè)置文件對(duì)話框顯示的初始目錄,默認(rèn)值為空字符串("")。 - 17 -

(6)ShowReadOnly屬性:用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否包含只讀復(fù)選框。如果對(duì)話框包
含只讀復(fù)選框,則屬性值為true,否則屬性值為false。默認(rèn)值為false。
(7)ReadOnlyChecked屬性:用來獲取或設(shè)置一個(gè)值,該值指示是否選定只讀復(fù)選框。如果選中了只讀復(fù)
選框,則屬性值為true,反之,屬性值為false。默認(rèn)值為false。
(8)Multiselect屬性:用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否允許選擇多個(gè)文件。如果對(duì)話框允許
同時(shí)選定多個(gè)文件,則該屬性值為true,反之,屬性值為false。默認(rèn)值為false。
(9)FileNames屬性:用來獲取對(duì)話框中所有選定文件的文件名。每個(gè)文件名都既包含文件路徑又包含文
件擴(kuò)展名。如果未選定文件,該方法將返回空數(shù)組。
(10)RestoreDirectory屬性:用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框在關(guān)閉前是否還原當(dāng)前目錄。假設(shè)
用戶在搜索文件的過程中更改了目錄,且該屬性值為 true,那么,對(duì)話框會(huì)將當(dāng)前目錄還原為初始值,若
該屬性值為 false,則不還原成初始值。默認(rèn)值為 false。OpenFileDialog 控件的常用方法有兩個(gè):OpenFile
和 ShowDialog方法,本節(jié)只介紹ShowDialog方法,該方法的作用是顯示通用對(duì)話框,其一般調(diào)用形式如
下:
通用對(duì)話框?qū)ο竺?ShowDialog();
通用對(duì)話框運(yùn)行時(shí),如果單擊對(duì)話框中的【確定】按鈕,則返回值為 DialogResult.OK;否則返回值為
DialogResult.Cancel。其他對(duì)話框控件均具有ShowDialog方法,以后不再重復(fù)介紹。
18、SaveFileDialog 控件
SaveFileDialog 控件又稱保存文件對(duì)話框,主要用來彈出 Windows 中標(biāo)準(zhǔn)的【保存文件】對(duì)話框。該控件
在工具箱中的圖標(biāo)為 。
SaveFileDialog 控件也具有 FileName、Filter、FilterIndex、InitialDirectory、Title 等屬性,這些屬性的作用
與 OpenFileDialog對(duì)話框控件基本一致,此處不再贅述。
需注意的是:上述兩個(gè)對(duì)話框只返回要打開或保存的文件名,并沒有真正提供打開或保存文件的功能,程
序員必須自己編寫文件打開或保存程序,才能真正實(shí)現(xiàn)文件的打開和保存功能。
19、FontDialog 控件
FontDialog控件又稱字體對(duì)話框,主要用來彈出Windows中標(biāo)準(zhǔn)的【字體】對(duì)話框。該控件在工具箱中的
圖標(biāo)為 。字體對(duì)話框的作用是顯示當(dāng)前安裝在系統(tǒng)中的字體列表,供用戶進(jìn)行選擇。下面
介紹字體對(duì)話框的主要屬性。
(1)Font屬性:該屬性是字體對(duì)話框的最重要屬性,通過它可以設(shè)定或獲取字體信息。
(2)Color屬性:用來設(shè)定或獲取字符的顏色。
(3)MaxSize屬性:用來獲取或設(shè)置用戶可選擇的最大磅值。
(4)MinSize屬性:用來獲取或設(shè)置用戶可選擇的最小磅值。192VisualC#.NET應(yīng)用教程
(5)ShowColor屬性:用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否顯示顏色選擇框。如果對(duì)話框顯示顏
色選擇框,屬性值為true,反之,屬性值為false。默認(rèn)值為false。
(6)ShowEffects 屬性:用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否包含允許用戶指定刪除線、下劃線
和文本顏色選項(xiàng)的控件。如果對(duì)話框包含設(shè)置刪除線、下劃線和文本顏色選項(xiàng)的控件,屬性值為 true,反
之,屬性值為false。默認(rèn)值為true。
20、ColorDialog控件
ColorDialog 控件又稱顏色對(duì)話框,主要用來彈出 Windows 中標(biāo)準(zhǔn)的【顏色】對(duì)話框。該控件在工具箱中
的圖標(biāo)為 。顏色對(duì)話框的作用是供用戶選擇一種顏色,并用 Color 屬性記錄用戶選擇- 18 -

的顏色值。下面介紹顏色對(duì)話框的主要屬性。
(1)AllowFullOpen屬性:用來獲取或設(shè)置一個(gè)值,該值指示用戶是否可以使用該對(duì)話框定義自定義顏色。
如果允許用戶自定義顏色,屬性值為true,否則屬性值為false。默認(rèn)值為true。
(2)FullOpen 屬性:用來獲取或設(shè)置一個(gè)值,該值指示用于創(chuàng)建自定義顏色的控件在對(duì)話框打開時(shí)是否
可見。值為true時(shí)可見,值為 false時(shí)不可見。
(3)AnyColor 屬性:用來獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否顯示基本顏色集中可用的所有顏色。
值為 true時(shí),顯示所有顏色,否則不顯示所有顏色。
(4)Color屬性:用來獲取或設(shè)置用戶選定的顏色。
21、PrintDialog控件和 PrintDocument 控件
PrintDialog 控件在工具箱中的圖標(biāo)是 ,PrintDocument 控件在工具箱中的圖標(biāo)是
。使用PrintDialog控件可以顯示W(wǎng)indows標(biāo)準(zhǔn)的【打印】對(duì)話框,在該對(duì)話框中用戶可
以選擇打印機(jī)、選擇要打印的頁(yè)及頁(yè)碼范圍等。需要注意的是:該對(duì)話框并不負(fù)責(zé)具體的打印任務(wù),要想
在應(yīng)用程序中控制打印內(nèi)容必須使用 PrintDocument 控件。關(guān)于這兩個(gè)控件的詳細(xì)使用方法讀者可參閱相
關(guān)資料或VisualC#的幫助文件。
6.用戶自定義對(duì)話框
除了可以使用Windows自帶的標(biāo)準(zhǔn)對(duì)話框外,用戶還可以把自己設(shè)計(jì)的窗體定義成對(duì)話框。使用自定義對(duì)
話框有以下幾個(gè)要點(diǎn)。
(1)將窗體的FormBorderStyle屬性值設(shè)置為FixedDialog。
(2)根據(jù)需要向窗體上添加控件。
(3)使用窗體的ShowDialog方法顯示窗體,即顯示出對(duì)話框。
22、用戶自定義對(duì)話框
除了可以使用Windows自帶的標(biāo)準(zhǔn)對(duì)話框外,用戶還可以把自己設(shè)計(jì)的窗體定義成對(duì)話框。使用自定義對(duì)
話框有以下幾個(gè)要點(diǎn)。
(1)將窗體的FormBorderStyle屬性值設(shè)置為FixedDialog。
(2)根據(jù)需要向窗體上添加控件。
(3)使用窗體的ShowDialog方法顯示窗體,即顯示出對(duì)話框。
23、菜單控件
Windows 的菜單系統(tǒng)是圖形用戶界面(GUI)的重要組成之一,在 VisualC#中使用 MainMenu 控件可以很
方便地實(shí)現(xiàn)Windows的菜單,MainMenu控件在工具箱中的圖標(biāo)為 。
1.菜單的結(jié)構(gòu)
圖 10-9和圖10-10 是典型的菜單結(jié)構(gòu)。其中有文字的單個(gè)命令稱菜單項(xiàng),頂層菜單項(xiàng)是橫著排列的,單擊
某個(gè)菜單項(xiàng)后彈出的稱為菜單或子菜單,它們均包含若干個(gè)菜單項(xiàng),菜單項(xiàng)其實(shí)是 MenuItem 類的一個(gè)對(duì)
象。菜單項(xiàng)有的是變灰顯示的,表示該菜單項(xiàng)當(dāng)前是被禁止使用的。有的菜單項(xiàng)的提示文字中有帶下劃線
的字母,該字母稱為熱鍵(或訪問鍵),若是頂層菜單,可通過按“ALT+熱鍵”打開該菜單,若是某個(gè)子
菜單中的一個(gè)選項(xiàng),則在打開子菜單后直接按熱鍵就會(huì)執(zhí)行相應(yīng)的菜單命令。有的菜單項(xiàng)后面有一個(gè)按鍵
或組合鍵,稱快捷鍵,在不打開菜單的情況下按快捷鍵,將執(zhí)行相應(yīng)的命令。在圖 10-9 中,【保存文件】
菜單項(xiàng)是加粗顯示的,該菜單項(xiàng)稱為默認(rèn)項(xiàng)。圖10-9的【另存為】和【退出】之間有一個(gè)灰色的線條,該
線條稱為分隔線或分隔符。在圖 10-10 中菜單項(xiàng)【白色背景】前面有一個(gè)“√”號(hào),稱為選中標(biāo)記,菜單- 19 - 項(xiàng)加上選中標(biāo)記表示該菜單項(xiàng)代表的功能當(dāng)前正在起作用。

2.菜單項(xiàng)的常用屬性
(1)Text 屬性:用來獲取或設(shè)置一個(gè)值,通過該值指示菜單項(xiàng)標(biāo)題。當(dāng)使用 Text 屬性為菜單項(xiàng)指定標(biāo)題
時(shí),還可以在字符前加一個(gè)“&”號(hào)來指定熱鍵(訪問鍵,即加下劃線的字母)。例如,若要將“File”中
的“F”指定為訪問鍵,應(yīng)將菜單項(xiàng)的標(biāo)題指定為“&File” 。
(2)Checked屬性:用來獲取或設(shè)置一個(gè)值,通過該值指示選中標(biāo)記是否出現(xiàn)在菜單項(xiàng)文本的旁邊。如果
要放置選中標(biāo)記在菜單項(xiàng)文本的旁邊,屬性值為true,否則屬性值為false。默認(rèn)值為false。
(3)DefaultItem 屬性:用來獲取或設(shè)置一個(gè)值,通過該值指示菜單項(xiàng)是否為默認(rèn)菜單項(xiàng)。值為 true 時(shí),
是默認(rèn)菜單項(xiàng),值為 false時(shí),不是默認(rèn)菜單項(xiàng)。菜單的默認(rèn)菜單項(xiàng)以粗體的形式顯示。當(dāng)用戶雙擊包含默
認(rèn)項(xiàng)的子菜單后,默認(rèn)項(xiàng)被選定,然后子菜單關(guān)閉。
(4)Enabled屬性:用來獲取或設(shè)置一個(gè)值,通過該值指示菜單項(xiàng)是否可用。值為true時(shí)表示可用,值為
false表示當(dāng)前禁止使用。
(5)RadioCheck 屬性:用來獲取或設(shè)置一個(gè)值,通過該值指示選中的菜單項(xiàng)的左邊是顯示單選按鈕還是
選中標(biāo)記。值為true時(shí)將顯示單選按鈕標(biāo)記,值為false時(shí)顯示選中標(biāo)記。
(6)Shortcut屬性:用來獲取或設(shè)置一個(gè)值,該值指示與菜單項(xiàng)相關(guān)聯(lián)的快捷鍵。
(7)ShowShortcut 屬性:用來獲取或設(shè)置一個(gè)值,該值指示與菜單項(xiàng)關(guān)聯(lián)的快捷鍵是否在菜單項(xiàng)標(biāo)題的
旁邊顯示。如果快捷組合鍵在菜單項(xiàng)標(biāo)題的旁邊顯示,該屬性值為 true,如果不顯示快捷鍵,該屬性值為
false。默認(rèn)值為true。
(8)MdiList屬性:用來獲取或設(shè)置一個(gè)值,通過該值指示是否用在關(guān)聯(lián)窗體內(nèi)顯示的多文檔界面(MDI)
子窗口列表來填充菜單項(xiàng)。若要在該菜單項(xiàng)中顯示MDI子窗口列表,則設(shè)置該屬性值為true,否則設(shè)置該
屬性的值為false。默認(rèn)值為false。
3.菜單項(xiàng)的常用事件 菜單項(xiàng)的常用事件主要有Click事件,該事件在用戶單擊菜單項(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ì)話框的【模板】下面的列表框中選中【W(wǎng)indows 窗體】圖標(biāo),在【名稱】文本框中輸
入窗體名,然后單擊【打開】按鈕,即為應(yīng)用程序添加了一個(gè)窗體。
25、MDI 應(yīng)用程序設(shè)計(jì)
1.MDI應(yīng)用程序的概念
在前面的章節(jié)中,所創(chuàng)建的都是單文檔界面(SDI)應(yīng)用程序。這樣的程序(如記事本和畫圖程序)僅支
持一次打開一個(gè)窗口或文檔。如果需要編輯多個(gè)文檔,必須創(chuàng)建SDI應(yīng)用程序的多個(gè)實(shí)例。而使用多文檔
界面(MDI)程序(如Word和AdobePhotoshop)時(shí),用戶可以同時(shí)編輯多個(gè)文檔。MDI程序中的應(yīng)用程
序窗口稱為父窗口,應(yīng)用程序內(nèi)部的窗口稱為子窗口。雖
然 MDI應(yīng)用程序可以具有多個(gè)子窗口, 但是每個(gè)子窗口卻
只能有一個(gè)父窗口。此外,處于活動(dòng)狀態(tài)的子窗口最大數(shù)
目是 1。子窗口本身不能再成為父窗口,而且不能移動(dòng)到
它們的父窗口區(qū)域之外。除此以外,子窗口的行為與任何
其他窗口一樣(如可以關(guān)閉、最小化和調(diào)整大小等)。一個(gè)
子窗口在功能上可能與父窗口的其他子窗口不同,例如,
一個(gè)子窗口可能用于編輯圖像,另一個(gè)子窗口可能用于編
輯文本,第 3 個(gè)子窗口可以使用圖形來顯示數(shù)據(jù),但是所
有的窗口都屬于相同的MDI父窗口。圖 10-19 是一個(gè)典型
的 MDI應(yīng)用程序。外面的窗口是應(yīng)用程序窗口,里面的兩
個(gè)小窗口是 MDI子窗口。
2.與 MDI應(yīng)用程序設(shè)計(jì)有關(guān)的屬性、方法和事件
常用的MDI父窗體屬性如下。
(1)ActiveMdiChild屬性:該屬性用來表示當(dāng)前活動(dòng)的MDI子窗口,如果當(dāng)前沒有子窗口,則返回null。
(2)IsMdiContainer屬性:該屬性用來獲取或設(shè)置一個(gè)值,該值指示窗體是否為多文檔界面(MDI)子窗
體的容器,即MDI父窗體。值為true時(shí),表示是父窗體,值為false時(shí),表示不是父窗體。
(3)MdiChildren屬性:該屬性以窗體數(shù)組形式返回MDI子窗體,每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè) MDI子窗體。
常用的MDI子窗體的屬性有:
(1)IsMdiChild屬性:該屬性用來獲取一個(gè)值,該值指示該窗體是否為多文檔界面(MDI)的子窗體。值
為 true時(shí),表示是子窗體,值為false時(shí),表示不是子窗體。
(2)MdiParent屬性:該屬性用來指定該子窗體的MDI父窗體。與MDI應(yīng)用程序設(shè)計(jì)有關(guān)的方法中,一
般只使用父窗體的LayoutMdi方法,該方法的調(diào)用格式如下:
MDI父窗體名.LayoutMdi(Value);
該方法用來在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 -

(1)MergeOrder屬性:用來確定當(dāng)兩個(gè)菜單合并時(shí)菜單項(xiàng)出現(xiàn)的順序,具有較低
MergeOrder的菜單項(xiàng)會(huì)首先出現(xiàn)。
(2)MergeType屬性:當(dāng)合并的兩個(gè)菜單的某些菜單項(xiàng)的MergeOrder屬性值相等時(shí),
使用該屬性可以控制這些菜單項(xiàng)的顯示方式。其取值及含義如表10-4所示。

26、鍵盤事件處理
鍵盤事件在用戶按下鍵盤上的鍵時(shí)發(fā)生,可分為兩類。第一類是KeyPress事件,當(dāng)按下的鍵表示的是一個(gè)
ASCII 字符時(shí)就會(huì)觸發(fā)這類事件,可通過它的 KeyPressEventArgs 類型參數(shù)的屬性 KeyChar 來確定按下鍵
的 ASCII 碼。使用 KeyPress 事件無法判斷是否按下了修改鍵(例如 Shift,Alt 和 Ctrl 鍵),為了判斷這些
動(dòng)作, 就要處理KeyUp 或KeyDown事件, 這些事件組成了第二類鍵盤事件。 該類事件有一個(gè)KeyEventArgs
類型的參數(shù),通過該參數(shù)可以測(cè)試是否按下了一些修改鍵、功能鍵等特殊按鍵信息。
1.KeyPressEventArgs類的主要屬性(KeyPress事件的一個(gè)參數(shù)類型)
(1)Handled屬性:用來獲取或設(shè)置一個(gè)值,該值指示是否處理過KeyPress事件。
(2)KeyChar屬性:用來獲取按下的鍵對(duì)應(yīng)的字符,通常是該鍵的ASCII碼。
2.KeyEventArgs類的主要屬性(KeyUp和 KeyDown事件的一個(gè)參數(shù))
(1)Alt屬性:用來獲取一個(gè)值,該值指示是否曾按下Alt鍵。
(2)Control屬性:用來獲取一個(gè)值,該值指示是否曾按下Ctrl鍵。
(3)Shift屬性:用來獲取一個(gè)值,該值指示是否曾按下Shift鍵。
(4)Handled屬性:用來獲取或設(shè)置一個(gè)值,該值指示是否處理過此事件。
(5)KeyCode屬性:以 Keys枚舉型值返回鍵盤鍵的鍵碼,該屬性不包含修改鍵(Alt、Control和 Shift鍵)
信息,用于測(cè)試指定的鍵盤鍵。
(6)KeyData 屬性:以 Keys 枚舉類型值返回鍵盤鍵的鍵碼,并包含修改鍵信息,用于判斷關(guān)于按下鍵盤
鍵的所有信息。
(7)KeyValue屬性:以整數(shù)形式返回鍵碼,而不是Keys枚舉類型值。用于獲得所按下鍵盤鍵的數(shù)字表示。
(8)Modifiers 屬性:以 Keys 枚舉類型值返回所有按下的修改鍵(Alt、Control 和 Shift 鍵),僅用于判斷
修改鍵信息。
27、鼠標(biāo)事件處理
對(duì)鼠標(biāo)操作的處理是應(yīng)用程序的重要功能之一,在VisualC#中有一些與鼠標(biāo)操作相關(guān)的事件,利用它們可
以方便地進(jìn)行與鼠標(biāo)有關(guān)的編程。
(1)MouseEnter事件:在鼠標(biāo)指針進(jìn)入控件時(shí)發(fā)生。
(2)MouseMove事件:在鼠標(biāo)指針移到控件上時(shí)發(fā)生。事件處理程序接收一個(gè)MouseEventArgs類型的參
數(shù),該參數(shù)包含與此事件相關(guān)的數(shù)據(jù)。該參數(shù)的主要屬性及其含義如下。
Button屬性:用來獲取曾按下的是哪個(gè)鼠標(biāo)按鈕。該屬性是MouseButtons枚舉型的值,
取值及含義如下:Left(按下鼠標(biāo)左按鈕)、Middle(按下鼠標(biāo)中按鈕)、Right(鼠標(biāo)右按鈕)、None(沒有按下鼠標(biāo)按鈕)、 XButton1 (按下了第一個(gè)XButton按鈕, 僅用于Microsoft智能鼠標(biāo)瀏覽器) 和XButton2- 22 - (按下了第二個(gè)XButton按鈕,僅用于 Microsoft智能鼠標(biāo)瀏覽器)
Clicks屬性:用來獲取按下并釋放鼠標(biāo)按鈕的次數(shù)。
Delta屬性:用來獲取鼠標(biāo)輪已轉(zhuǎn)動(dòng)的制動(dòng)器數(shù)的有符號(hào)計(jì)數(shù)。制動(dòng)器是鼠標(biāo)輪的一個(gè)凹口。
X 屬性:用來獲取鼠標(biāo)所在位置的x坐標(biāo)。
Y 屬性:用來獲取鼠標(biāo)所在位置的y坐標(biāo)。
(3)MouseHover事件:當(dāng)鼠標(biāo)指針懸停在控件上時(shí)將發(fā)生該事件。
(4)MouseDown事件:當(dāng)鼠標(biāo)指針位于控件上并按下鼠標(biāo)鍵時(shí)將發(fā)生該事件。事件處理程序也接收一個(gè)
MouseEventArgs類型的參數(shù)。
(5)MouseWheel事件:在移動(dòng)鼠標(biāo)輪并且控件有焦點(diǎn)時(shí)將發(fā)生該事件。該事件的事件處理程序接收一個(gè)
MouseEventArgs類型的參數(shù)
(6)MouseUp 事件:當(dāng)鼠標(biāo)指針在控件上并釋放鼠標(biāo)鍵時(shí)將發(fā)生該事件。事件處理程序也接收一個(gè)
MouseEventArgs類型的參數(shù)。
(7)MouseLeave事件:在鼠標(biāo)指針離開控件時(shí)將發(fā)生該事件。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C#控件一覽表 前所未有的震撼(太詳細(xì)了)
C#程序設(shè)計(jì)簡(jiǎn)明教程-第4章_window窗體開發(fā)
《Visual Basic程序設(shè)計(jì)教程(第3版)》第4章用戶界面設(shè)計(jì)
vb界面設(shè)計(jì)
【C#控件】MenuStrip控件(菜單控件)
高效辦公600招-09EXCEL的宏與VBA
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服