




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、考慮windows控件時(shí)主要考慮控件的屬性和事件,事件一般對(duì)應(yīng)有個(gè)方法,方法.而屬性一般為:名字,文字,外觀,是否有效(選中),是否可視等等.一、常用控件1 單選按鈕(RadioButton)單選按鈕也叫選項(xiàng)按鈕,為用戶(hù)提供從多個(gè)選項(xiàng)中選擇一個(gè)選項(xiàng)的功能,因此單選按鈕顧名思義是一種“多選一”的控件。 章節(jié)目錄上一頁(yè)下一頁(yè)第4章 window窗體開(kāi)發(fā)(1)RadioButton控件的常用屬性 Checked屬性 該屬性用來(lái)設(shè)置或返回單選按鈕是否被選中。 Text屬性:顯示文字 AutoCheck屬性 如果AutoCheck屬性被設(shè)置為true(默認(rèn)),那么當(dāng)選擇該單選按鈕時(shí),將自動(dòng)清除該組中所有
2、其他單選按鈕。 (2)RadioButton控件的常用事件 Click事件 當(dāng)單擊單選按鈕時(shí),將把單選按鈕的Checked屬性值設(shè)置為true,同時(shí)發(fā)生Click事件。 CheckedChanged事件 當(dāng)Checked屬性值更改時(shí),將觸發(fā)CheckedChanged事件。2 復(fù)選按鈕(CheckBox)復(fù)選框顧名思義可以同時(shí)選中多個(gè)選項(xiàng),也就是說(shuō)用戶(hù)可以在窗口同時(shí)選中多個(gè)復(fù)選框,這是其和單選按鈕的區(qū)別。(1)常用的屬性: Text屬性:顯示文字 Checked屬性:該屬性值用來(lái)設(shè)置或返回復(fù)選框是否被選中. CheckState屬性 該屬性用來(lái)設(shè)置或返回復(fù)選框的狀態(tài)。 ThreeState屬性
3、 該屬性用來(lái)返回或設(shè)置復(fù)選框是否能表示三種狀態(tài) (選中,不選中,中間).(默認(rèn)為false,只有兩種狀態(tài))章節(jié)目錄上一頁(yè)下一頁(yè)(2)CheckBox控件的常用事件 CheckBox控件的常用事件有Click和CheckedChanged等,其含義及觸發(fā)時(shí)機(jī)與單選按鈕完成一致。 3.使用分組框控件(GroupBox) 分組框(GroupBox)控件也是一種容器類(lèi)控件,在分組框控件內(nèi)部的控件可以隨分組框一起移動(dòng),并且受到分組框控件某些屬性(Visible、Enabled)的控制。 在多數(shù)情況下不需響應(yīng)分組框控件的事件。 需要修改的通常是分組框控件的Text或Font屬性。例4-1 4-2 4-34
4、 列表框(ListBox) ListBox控件為用戶(hù)提供了選項(xiàng)的列表,用戶(hù)可以從列表中進(jìn)行選擇輸入。如果項(xiàng)目數(shù)目超過(guò)列表框可顯示的數(shù)目,控件上將自動(dòng)出現(xiàn)滾動(dòng)條,它是一種規(guī)范輸入的好工具。(1). 列表框的常用屬性、方法和事件P112-113(2)基本事件 Click和DoubleClick章節(jié)目錄上一頁(yè)下一頁(yè)常用方法:若要在 ListBox 控件中添加或刪除項(xiàng),可使用 ListBox1.Items.Add(項(xiàng))或者在設(shè)計(jì)時(shí)使用Items屬性向列表添加項(xiàng)。.Items.Insert(位置,項(xiàng)).Items.Clear ()或 .Items.Remove(ListBox1.SelectedItem
5、) 方法。其中l(wèi)istBox1.Items.Count為列表框中的項(xiàng)目數(shù),而listBox1.SelectedItems.Count為選中的項(xiàng)目數(shù)(多選時(shí))listBox1.SelectedIndex為選中項(xiàng)的序號(hào),值為-1時(shí)代表什么都沒(méi)選listBox1.Text;/listBox1.SelectedItem.Tostring()為選中項(xiàng);例4.45 組合框(ComboBox) 組合框是一個(gè)文本框和一個(gè)列表框的組合。與列表框不同的是列表框只能在給定的列表項(xiàng)中選擇,而組合框除了可在給定的列表項(xiàng)中選擇還可以直接在文本框中輸入有三種不同的風(fēng)格:通過(guò)DropDownStyle屬性設(shè)置(1)下拉組合:
6、 DropDownStyle屬性:DropDown,為文本框+下拉列表(2)簡(jiǎn)單組合:DropDownStyle屬性:Simple,為文本框+下拉列表,但列表框不展開(kāi)收攏(3)下拉式列表DropDownStyle屬性:DropDownList,只有列表框展開(kāi)收攏,無(wú)文本框常用屬性和事件與列表框基本相同 如comboBox1.Items.Add增加項(xiàng)目 comboBox1.Items.Remove移走項(xiàng)目 日歷控件1.日歷控件MonthCalendar 常用屬性P118,如選中日期顯示在標(biāo)簽中,可用 label1.Text = monthCalendar1.SelectionStart.ToSt
7、ring();改變?nèi)諝v的顯示日期,可用 monthCalendar1.SelectionStart =DateTime.Parse( textBox1.Text);,例4.52.日歷控件DateTimePicker常用屬性P119,還可以顯示具體的時(shí)間,由Format屬性設(shè)置例4.6時(shí)鐘(計(jì)時(shí))控件TimerTimer控件主要的作用是每間隔一定時(shí)間就執(zhí)行一段指定的代碼。(1)主要用到的屬性:Enabled:主要是控制當(dāng)前Timer控件是否可用,如:timer1.Enabled=false;不可用timer1.Enabled=true;可用Interval:程序運(yùn)行間隔的時(shí)間,如:Timer1.
8、Interval=1000;主要是設(shè)置timer1_Tick事件的時(shí)間,單位為毫秒(2)主要的方法與事件Start()方法:開(kāi)始啟動(dòng)Timer控件,如timer1.Start();它的作用與timer1.Enabled=true相當(dāng)。Stop()方法:停止使用Timer控件。如timer1.Stop ();它的作用與timer1.Enabled=False相當(dāng)。例4.7 紅綠燈 二、菜單和工具欄 例4.81.菜單設(shè)計(jì):下拉菜單MenuStrip控件MenuStrip控件(MainMenu控件)從工具箱的“菜單和工具欄”選項(xiàng)卡中拖動(dòng)到窗體上,就會(huì)出現(xiàn)菜單編輯器,重要屬性P124,基本事件Clic
9、k(1) 添加主菜單新建一個(gè)Windows應(yīng)用程序,在工具箱中雙擊MenuStrip控件或者用鼠標(biāo)拖放到窗體上,則在窗體的頂部將添加一個(gè)菜單,如圖所示。 章節(jié)目錄上一頁(yè)下一頁(yè)(2) 添加子菜單在圖10-1中,單擊菜單中“請(qǐng)?jiān)诖溯斎搿?,輸入該菜單?xiàng)的名稱(chēng)為的為“文件”,建立文件子菜單項(xiàng);然后在該菜單項(xiàng)的下方顯示一個(gè)標(biāo)注為“請(qǐng)?jiān)诖溯斎搿眳^(qū)域,一個(gè)位于該菜單項(xiàng)的右方顯示標(biāo)注為“請(qǐng)?jiān)诖溯斎搿眳^(qū)域,可以選擇區(qū)域繼續(xù)添加。 (3) 移動(dòng)菜單項(xiàng)選中要移動(dòng)的菜單項(xiàng),是用鼠標(biāo)拖動(dòng)到相應(yīng)的位置即可。(4). 添加快捷鍵 在菜單文本中輸入“&”符號(hào),為菜單項(xiàng)添加Alt訪問(wèn)鍵。例如,主菜單項(xiàng)“File(&F)” 為菜
10、單項(xiàng)添加快捷鍵。設(shè)置菜單項(xiàng)的ShortcutKeys屬性。菜單中每一個(gè)選項(xiàng)為一個(gè) toolStripMenuItem對(duì)象 如NewtoolStripMenuItem等之類(lèi)即為菜單中的每一項(xiàng), 常用的屬性:()Checked屬性:選中標(biāo)記是否出現(xiàn)。()MergeAction:用于父子菜單,有append,insert等 菜單事件 建立菜單后,往往要求菜單實(shí)現(xiàn)相應(yīng)的事件處理功能,一般通過(guò)菜單項(xiàng)Click事件處理相應(yīng)的功能,即通過(guò)單擊菜單項(xiàng)實(shí)現(xiàn)程序功能的交互。該事件在以下幾種情況下發(fā)生:?jiǎn)螕舨藛雾?xiàng)、使用該菜單項(xiàng)相應(yīng)的快捷鍵、使用鍵盤(pán)操作時(shí)按回車(chē)鍵。章節(jié)目錄上一頁(yè)下一頁(yè)(5). 添加分隔線可以通過(guò)輸入
11、“-”作為菜單文本,來(lái)為菜單項(xiàng)之間加上分隔線。(6). 編輯菜單項(xiàng) 刪除菜單項(xiàng):可以選中該菜單項(xiàng),然后按Del鍵。 在某一個(gè)菜單項(xiàng)前面插入另一個(gè)菜單項(xiàng):右擊菜單項(xiàng),在快捷菜單中選擇【插入】|【MenuItem】。2 彈出式菜單ContextMenuStrip的設(shè)計(jì) 彈出式菜單也稱(chēng)為上下文菜單,彈出式菜單能以更加靈活的方式為用戶(hù)提供更加便利的操作,當(dāng)用戶(hù)在不同位置單擊鼠標(biāo)右鍵,則將顯示一組不同的菜單項(xiàng)。 在C#中,使用工具箱中的ContextMenuStrip1控件很容易實(shí)現(xiàn)彈出式菜單的設(shè)計(jì)。方法: 從工具箱中拖放一個(gè)ContextMenuStrip1控件到窗體上,設(shè)計(jì)相應(yīng)的子菜單項(xiàng)。其屬性與主
12、菜單基本相同。彈出式菜單控件需要和別的控件結(jié)合使用。例如:與文本框結(jié)合時(shí),要在文本框的屬性ContextMenuStrip中選中該彈出式菜單,運(yùn)行時(shí),右擊鼠標(biāo)即可產(chǎn)生彈出該菜單。章節(jié)目錄上一頁(yè)下一頁(yè)下面再介紹richTextBox1控件RichTextBox控件不僅允許輸入和編輯文本,同時(shí)還提供了標(biāo)準(zhǔn) TextBox 控件具有的、更高級(jí)的指定格式的許多功能。 可以使用控件的方法(LoadFile 和 SaveFile) 下面是打開(kāi)文件 string openFile; openFile = textBox1.Text; if (openFile != ) richTextBox1.LoadFi
13、le(openFile, RichTextBoxStreamType.PlainText); 下面是保存文件 string openFile; openFile = textBox1.Text; if (openFile != ) richTextBox1.SaveFile(openFile, RichTextBoxStreamType.PlainText); 下面是復(fù)制、剪切、粘貼等richTextBox1.Copy(); richTextBox1.Cut(); richTextBox1.Paste();下面是字體設(shè)置 richTextBox1.SelectionFont=new Font(
14、黑體, richTextBox1.Font.Size);下面是字號(hào)設(shè)置richTextBox1.SelectionFont= new Font(richTextBox1.SelectionFont.FontFamily,28);下面是顏色設(shè)置 richTextBox1.SelectionColor = Color.Red;復(fù)習(xí)上次課主要內(nèi)容1.菜單MenuStrip控件添加快捷鍵, 在菜單文本中輸入“&”,例如File(&F) 設(shè)置菜單項(xiàng)的ShortcutKeys屬性。添加分隔線,“-” 菜單里面每一項(xiàng)為toolStripMenuItem2. richTextBox控件打開(kāi)與保存文件:Load
15、File SaveFile (openFile, RichTextBoxStreamType.PlainText);復(fù)制、剪切、粘貼richTextBox1.Copy(); richTextBox1.Cut(); richTextBox1.Paste();字體、字號(hào)、顏色:richTextBox1.SelectionFont=new Font(黑體, richTextBox1.Font.Size);richTextBox1.SelectionFont= new Font(richTextBox1.SelectionFont.FontFamily,28);richTextBox1.Selecti
16、onColor = Color.Red;3.對(duì)話框openFileDialog, SaveFileDialog4.彈出式菜單ContextMenuStrip 注意:某個(gè)控件綁定必須在ContextMenuStrip屬性中綁定該控件才能用3 工具欄的設(shè)計(jì)ToolStrip控件 工具欄是Windows的標(biāo)準(zhǔn)特性,通過(guò)使用工具欄,能改善軟件界面的布局,達(dá)到快速實(shí)現(xiàn)相應(yīng)功能的目的。一般情況下,工具欄可以實(shí)現(xiàn)與菜單相似的效果。在.NET的C#中使用toolStrip類(lèi)實(shí)現(xiàn)工具欄的設(shè)計(jì)。(1) 工具欄的創(chuàng)建方法建立一個(gè)Windows應(yīng)用程序,創(chuàng)建相應(yīng)的程序。在指定的窗體上添加工具欄步驟如下: 在“工具箱”
17、中雙擊toolStrip控件,在窗體的頂部顯示一個(gè)放置toolStrip的容器控件。然后可以插入標(biāo)準(zhǔn)項(xiàng),或通過(guò)編輯項(xiàng)(edit item)添加工具欄按鈕,并設(shè)計(jì) toolStrip的屬性,如添加各工具欄的Image,編寫(xiě)代碼等.還可以右擊某個(gè)按鈕,在彈出的菜單中選標(biāo)簽、分隔條等。可以點(diǎn)擊其上方的三角形進(jìn)行插入標(biāo)準(zhǔn)控件 在該控件中添加工具按鈕。選中工具欄,在該屬性” items” 中可以添加各種控件,單擊添加按鈕,彈出如圖10-2所示的集合編輯器。在集合編輯器中添加按鈕并設(shè)置相應(yīng)的屬性。章節(jié)目錄上一頁(yè)下一頁(yè)圖10-4 Toolstrip集合編輯器每一個(gè)按鈕都可以與普通按鈕是一樣的,主要事件是Cl
18、ick,雙擊它就可以寫(xiě)代碼。另外,菜單、工具欄中的控件,窗體上的按鈕可以共用代碼,相同功能的設(shè)置,只需在一個(gè)地方寫(xiě)代碼就可以了,其它地方用到相同的代碼,只需在事件Click中選擇在此之前寫(xiě)好代碼的其它控件或菜單的點(diǎn)擊事件方法即可。 給工具欄中的toolBarButton控件添加代碼實(shí)現(xiàn)功能。 章節(jié)目錄上一頁(yè)下一頁(yè)ImageList控件與工具欄結(jié)合是一個(gè)相同尺寸和顏色深度的圖像集合 為ImageList控件添加圖像的步驟:(1)在窗體上,添加一個(gè)ImageList控件;(2)在屬性窗口中,選擇Images屬性;(3)單擊 “”按鈕,彈出“圖像集合編輯器”對(duì)話框。 設(shè)置工具按鈕的圖像void Fo
19、rm1_Load(object sender, EventArgs e)/把ImageList控件賦值給工具欄的ImageList屬性 toolStrip1.ImageList = imageList1;/給各個(gè)工具欄按鈕的ImageIndex屬性賦值/為ImageList中的圖像的索引 toolStripButton1.ImageIndex = 0; /第一個(gè)按鈕圖片的序號(hào) toolStripButton2.ImageIndex = 1; toolStripButton3.ImageIndex = 2; /也可以直接用下面語(yǔ)句加載圖片 toolStripButton1.Image = ima
20、geList1.Images0; toolStripButton2.Image = imageList1.Images1; 例: 編寫(xiě)toolBar_ButtonClick事件工具欄中按鈕的事件不是通過(guò)具體按鈕的單擊實(shí)現(xiàn)的,是通過(guò)工具欄的單擊事件實(shí)現(xiàn)的。通過(guò)下例描述。根據(jù)工具欄中的按鈕改變標(biāo)簽中的文字,如圖10-3所示。章節(jié)目錄上一頁(yè)下一頁(yè)圖10-3 工具欄的使用29該題的工具欄單擊事件的代碼如下。 private void toolStripButton1_Click(object sender, EventArgs e) label1.Text = 滾滾長(zhǎng)江東逝水,浪花淘盡英雄。是非成敗轉(zhuǎn)
21、頭空,幾度夕陽(yáng)紅。; private void toolStripButton2_Click(object sender, EventArgs e) label1.Text=春眠不覺(jué)曉,處處聞啼鳥(niǎo),夜來(lái)風(fēng)雨聲,花落知多少。; private void toolStripButton3_Click(object sender, EventArgs e) label1.Text=少壯不努力,老大圖悲傷。; 章節(jié)目錄上一頁(yè)下一頁(yè)再聲明一點(diǎn):工具欄中按鈕往往實(shí)現(xiàn)和菜單中選項(xiàng)相同的功能,這種情況下,只需在一個(gè)地方(如菜單)寫(xiě)代碼就可以了,其它地方(如工具欄按鈕)用到相同的代碼,只需在屬性欄的事件選項(xiàng)卡中
22、的Click事件選擇在此之前寫(xiě)好代碼的其它控件或菜單的點(diǎn)擊事件方法即可。章節(jié)目錄上一頁(yè)下一頁(yè)補(bǔ)充: 狀態(tài)欄的設(shè)計(jì) 狀態(tài)欄的創(chuàng)建在C#.NET 2.0版本中,用StatusStrip控件。在Windows的應(yīng)用程序中,利用設(shè)計(jì)器打開(kāi)要?jiǎng)?chuàng)建狀態(tài)欄的窗體。然后添加狀態(tài)欄,添加過(guò)程如下:() 在工具箱的Windows選項(xiàng)中雙擊StatusStrip控件,在窗體上顯示一個(gè)狀態(tài)欄。() 在StatusStrip控件的屬性items中進(jìn)行添加StripStatusLabel項(xiàng)()添加完上述項(xiàng)后,每一個(gè)StripStatusLabel項(xiàng)與標(biāo)簽label的用法一樣()為了讓兩個(gè)StripStatusLabel之
23、間分隔好看,可設(shè)每個(gè)StripStatusLabel的屬性BordSide:left章節(jié)目錄上一頁(yè)下一頁(yè)例如:在狀態(tài)欄中顯示時(shí)間先加入Timer控件,并設(shè)置間隔時(shí)間及有效,然后在Timer控件的事件中加入代碼: toolStripStatusLabel2.Text = DateTime.Now.ToLongTimeString();三、通用對(duì)話框 這些按鈕不直接在窗體顯示,而在窗體下方專(zhuān)用板中。用ShowDialog方法顯示,一般要確認(rèn)一下。1. 打開(kāi)文件對(duì)話框(OpenFileDialog)在C中的選擇文件對(duì)話框控件用OpenFileDialog,常用的屬性P131.例:if (openFi
24、leDialog1.ShowDialog () = DialogResult.OK ) MyRTBox.LoadFile (openFileDialog1.FileName ,RichTextBoxStreamType.PlainText );MyStatus.Text = 打開(kāi)文件;章節(jié)目錄上一頁(yè)下一頁(yè)2. 保存文件對(duì)話框( SaveFileDialog ) 在C中創(chuàng)建一個(gè)保存文件對(duì)話框是通過(guò)SaveFileDialog來(lái)實(shí)現(xiàn)的。下列代碼是創(chuàng)建一個(gè)此類(lèi)的對(duì)象:SaveFileDialog saveFileDialog1 = new SaveFileDialog ( ) ;例:if (save
25、FileDialog1.ShowDialog () = = DialogResult.OK ) MyRTBox.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);章節(jié)目錄上一頁(yè)下一頁(yè)3 字體對(duì)話框(fontDialog)文本的顯示要使用一定的風(fēng)格,通過(guò)fontDialog的Font屬性描述字體,通過(guò)FontStyle指定應(yīng)用到文本的字體的樣式,結(jié)合這兩個(gè)屬性描述文本的顯示風(fēng)格例: if (fontDialog1.ShowDialog()=DialogResult.OK) MyRTBox.SelectionFo
26、nt = fontDialog1.Font;章節(jié)目錄上一頁(yè)下一頁(yè)4.顏色對(duì)話框?qū)υ捒駽olorDialog控件(1)Color屬性:該屬性用來(lái)獲取或設(shè)置用戶(hù)選定的顏色。(2)AllowFullOpen屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示用戶(hù)是否可以使用該對(duì)話框定義自定義顏色。 (3)FullOpen屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示用于創(chuàng)建自定義顏色的控件在對(duì)話框打開(kāi)時(shí)是否可見(jiàn)。(4)AnyColor屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否顯示基本顏色集中可用的所有顏色。例4.9四 多窗體程序設(shè)計(jì) Windows應(yīng)用程序很少只由一個(gè)窗體組成,一般情況下一個(gè)應(yīng)用程序均擁
27、有很多個(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),在名稱(chēng)后面的文本框中輸入窗體名,然后按【打開(kāi)】按鈕,即為應(yīng)用程序添加了一個(gè)窗體。 例4.10 對(duì)話框窗體的特性,需要設(shè)置一下.2. 多文檔界面(MDI)應(yīng)用程序設(shè)計(jì) (1).窗體的實(shí)例化與顯示 Form2 fm=new Form2() fm.Show();關(guān)閉:fm.Clos
28、e();(2) 不同窗體間的數(shù)據(jù)訪問(wèn) 在Designer.cs文件中設(shè)控件為public綜合運(yùn)用:例4.11后面是補(bǔ)充的補(bǔ)充(3)MDI應(yīng)用程序的概念 MDI程序中的應(yīng)用程序窗口稱(chēng)為父窗口,應(yīng)用程序內(nèi)部的窗口稱(chēng)為子窗口。 與MDI應(yīng)用程序設(shè)計(jì)有關(guān)的屬性、方法和事件 (1)屬性常用的MDI父窗體屬性如下。 ActiveMdiChild屬性:該屬性用來(lái)表示當(dāng)前活動(dòng)的MDI子窗口,如果當(dāng)前沒(méi)有子窗口,則返回null。 IsMdiContainer屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示窗體是否為多文檔界面(MDI)子窗體的容器,即MDI父窗體。 MdiChildren屬性:該屬性以窗體數(shù)組形式返回
29、MDI子窗體,每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè)MDI子窗體。 菜單合并 父窗體和子窗體可以使用不同的菜單,這些菜單會(huì)在選擇子窗體的時(shí)候合并。如果需要指定菜單的合并方式,程序員可以設(shè)置每個(gè)菜單項(xiàng)的MergeOrder屬性和MergeType屬性。(1)MergeOrder屬性:該屬性用來(lái)確定當(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)的顯示方式。 編寫(xiě)一個(gè)能夠顯示多個(gè)文本文件的多文檔程序。程序設(shè)計(jì)時(shí)的MDI父窗口如圖10-20所示,子窗口如圖10-2
30、1所示。程序運(yùn)行時(shí)的菜單如圖10-22(a)和圖10-22(b)所示。打開(kāi)了多個(gè)文件后的程序運(yùn)行界面分別如圖10-22(c)和圖10-22(d)所示。程序運(yùn)行時(shí)【文件】【打開(kāi)】命令將彈出一個(gè)打開(kāi)對(duì)話框讓用戶(hù)選擇一個(gè)文件打開(kāi)。打開(kāi)文件后【文件】菜單中多個(gè)一項(xiàng)【關(guān)閉】,執(zhí)行它將關(guān)閉當(dāng)前打開(kāi)的文件,執(zhí)行【文件】【退出】命令將退出應(yīng)用程序。【窗口】菜單的前四項(xiàng)用來(lái)對(duì)子窗口進(jìn)行相應(yīng)的排列,【窗口】菜單中的【關(guān)閉所有子窗口】命令的作用是刪除所有的子窗口,【窗口列表】用來(lái)列出打開(kāi)的所有子窗體。 圖10-20 父窗口設(shè)計(jì)界面 圖10-21 子窗口設(shè)計(jì)界面 (a) (b) (c) (d) 圖10-22 程序運(yùn)行
31、時(shí)的菜單 10.4.1 模式對(duì)話框和非模式對(duì)話框 對(duì)話框可以分為模式對(duì)話框和非模式對(duì)話框兩種。 模式對(duì)話框是指用戶(hù)只能在當(dāng)前的窗體進(jìn)行操作,在該窗體關(guān)閉之前不能切換到其它窗體。 非模式對(duì)話框是指當(dāng)前所操作的窗體可以切換。兩者區(qū)別是在對(duì)話框被關(guān)閉之前用戶(hù)能否在同一應(yīng)用程序的其他地方進(jìn)行工作。 C#的From類(lèi)中,使用show方法實(shí)現(xiàn)非模式窗體顯示。通常情況下,窗體的顯示為非模式顯示。如顯示非模式窗體From2,代碼如下:Form2 frm=new Form2();frm.Show();章節(jié)目錄上一頁(yè)下一頁(yè) 模式窗體的顯示通過(guò)ShowDialog方法實(shí)現(xiàn),如在程序運(yùn)行過(guò)程中,以下代碼實(shí)現(xiàn)窗體的模式
32、顯示:Form2 frm=new Form2();frm.ShowDialog();【例10-4】通過(guò)多窗體了解模式窗體顯示和非模式窗體顯示。如圖10-5所示。 本例使用3個(gè)窗體了解模式窗體顯示和非模式窗體顯示。主窗體定義為Form1,標(biāo)題為“歡迎使用本系統(tǒng)”,通過(guò)“說(shuō)明”按鈕實(shí)現(xiàn)Form3即標(biāo)題為“系統(tǒng)說(shuō)明”窗體非模式顯示,即在運(yùn)行過(guò)程中,可以通過(guò)鼠標(biāo)點(diǎn)擊和Form1之間切換;章節(jié)目錄上一頁(yè)下一頁(yè)通過(guò)“登錄”按鈕實(shí)現(xiàn)運(yùn)行過(guò)中Form2即標(biāo)題為“使用密碼登錄”的窗體模式顯示,不能通過(guò)鼠標(biāo)點(diǎn)擊和Form1之間切換。 章節(jié)目錄上一頁(yè)下一頁(yè)圖10-11 多窗體顯示在窗體Form1為button1控件
33、編寫(xiě)單擊事件,實(shí)現(xiàn)說(shuō)明窗體Form3的非模式顯示。代碼如下:private void button1_Click(object sender, System.EventArgs e) Form3 frm=new Form3(); / 聲明frm為From3 frm.Show(); / 非模式顯示章節(jié)目錄上一頁(yè)下一頁(yè)為窗體Form1中的button2控件編寫(xiě)單擊事件,實(shí)現(xiàn)使用密碼登錄窗體Form2的模式顯示。代碼如下:private void button2_Click(object sender, System.EventArgs e) Form2 frm=new Form2(); frm.S
34、howDialog(); 章節(jié)目錄上一頁(yè)下一頁(yè) 為窗體Form2中的button1控件編寫(xiě)單擊事件,實(shí)現(xiàn)密碼判斷,代碼如下:private void button1_Click(object sender, System.EventArgs e) if (textBox1.Text=abcd) MessageBox.Show(您成功登錄了本系統(tǒng),提示); Application.Exit(); / 應(yīng)用程序終止運(yùn)行 else MessageBox.Show(您的密碼有誤,請(qǐng)重新輸入!,提示);章節(jié)目錄上一頁(yè)下一頁(yè)10.5.2 消息框( MessageBox )消息框一般用于程序運(yùn)行過(guò)程中顯示提示或信息。可以有不同格式的消息框。Windows應(yīng)用程序中,為提高于用戶(hù)的交互能力,消息框大量使用。C#中通過(guò)MessageBox類(lèi)實(shí)現(xiàn)消息框的定義。1. MessageBox類(lèi)該類(lèi)提供了靜態(tài)方法Show顯示消息框,常用的有三種形式實(shí)現(xiàn)消息框的顯示。(1) 用于顯示指定文本的消息框格式如下:圖10-12 顯示文本的消息框MessageBox.Show(“文本內(nèi)容”);章節(jié)目錄上一頁(yè)下一頁(yè)(2) 顯示指定文本和標(biāo)題的消息框格式如下:圖10-13 顯示文本和標(biāo)題的消息框MessageBox.Show(“文本內(nèi)容”, “消息框標(biāo)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- TY/T 3802.1-2024健身瑜伽運(yùn)動(dòng)裝備使用要求和檢驗(yàn)方法第1部分:瑜伽墊
- 安徽大學(xué)課題申報(bào)書(shū)
- 質(zhì)量管理qc課題申報(bào)書(shū)
- 廳級(jí)課題申報(bào)書(shū)范本
- 量感培養(yǎng)課題立項(xiàng)申報(bào)書(shū)
- 云教學(xué) 課題申報(bào)書(shū)
- 司法課題申報(bào)書(shū)
- 濟(jì)南課題申報(bào)書(shū)
- 辦學(xué)特色課題申報(bào)書(shū)
- 壓力管道維護(hù)維修合同范本
- 石油采油井場(chǎng)水土保持方案報(bào)告書(shū)
- 2024-2030年中國(guó)護(hù)眼臺(tái)燈行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 《環(huán)境保護(hù)與國(guó)家安全》高效備課課件
- 五下音樂(lè)《美麗的家鄉(xiāng)(簡(jiǎn)譜、五線譜)》課件
- 建筑竣工驗(yàn)收表格資料大全
- 主題二生活物品小改造(教學(xué)設(shè)計(jì))遼師大版四年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)
- 部編版高中語(yǔ)文第四單元《信息時(shí)代的語(yǔ)文生活》測(cè)試題(含答案)
- 第十四屆全國(guó)交通運(yùn)輸行業(yè)職業(yè)技能競(jìng)賽(公路收費(fèi)及監(jiān)控員)賽項(xiàng)題庫(kù)-下(多選題-共3部分-2)
- 【培訓(xùn)】學(xué)習(xí)《幼兒園師德》課件
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完美版
- 第八單元達(dá)標(biāo)測(cè)試卷(單元測(cè)試)2023-2024學(xué)年統(tǒng)編版語(yǔ)文一年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論