第10章 Windows窗體高級控件的使用_第1頁
第10章 Windows窗體高級控件的使用_第2頁
第10章 Windows窗體高級控件的使用_第3頁
第10章 Windows窗體高級控件的使用_第4頁
第10章 Windows窗體高級控件的使用_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第1010章章 WindowsWindows窗體高級控件的使用窗體高級控件的使用本本 章章 要要 點點 選項卡控件選項卡控件 菜單控件菜單控件 工具欄與狀態(tài)欄控件工具欄與狀態(tài)欄控件 窗體控件窗體控件 對話框控件對話框控件p在在 Windows Windows 應(yīng)用程序中,選項卡用于將相應(yīng)用程序中,選項卡用于將相關(guān)的控件集中在一起,放在一個頁面中關(guān)的控件集中在一起,放在一個頁面中p選項卡控件選項卡控件用于顯示多個選項卡,其中每個用于顯示多個選項卡,其中每個選項卡均可包含圖片和其他控件選項卡均可包含圖片和其他控件p選項卡相當于另一個窗體,可以容納其他控選項卡相當于另一個窗體,可以容納其他控件件1

2、0.1 10.1 選項卡控件選項卡控件10.1.1 10.1.1 選項卡控件的常用屬性選項卡控件的常用屬性屬性屬性說明說明TabPages TabPages TabControlTabControl中的選項卡頁的集合中的選項卡頁的集合MultiLineMultiLine指定是否可以顯示多行選項卡。如果可以顯示多行選項指定是否可以顯示多行選項卡。如果可以顯示多行選項卡,該值應(yīng)為卡,該值應(yīng)為 TrueTrue,否則為,否則為 FalseFalse。默認值為。默認值為 FalseFalseSelectedIndexSelectedIndex當前所選選項卡頁的索引值。該屬性的值為當前所選選當前所選選項

3、卡頁的索引值。該屬性的值為當前所選選項卡頁的基于項卡頁的基于 0 0 的索引。默認值為的索引。默認值為 -1-1,如果未選定選,如果未選定選項卡頁,則為同一值項卡頁,則為同一值ShowToolTipsShowToolTips指定在鼠標移至選項卡時,是否應(yīng)顯示該選項卡的工具指定在鼠標移至選項卡時,是否應(yīng)顯示該選項卡的工具提示。提示。 如果對帶有工具提示的選項卡顯示工具提示,如果對帶有工具提示的選項卡顯示工具提示,該值應(yīng)為該值應(yīng)為 TrueTrue,否則為,否則為 False False TabCountTabCount檢索選項卡控件中選項卡的數(shù)目檢索選項卡控件中選項卡的數(shù)目事件事件 說明說明Se

4、lectedIndexChangedSelectedIndexChanged更改更改 SelectedIndex SelectedIndex 屬性值時,將觸發(fā)該事件屬性值時,將觸發(fā)該事件10.1.2 10.1.2 選項卡控件的常用事件選項卡控件的常用事件10.1.3 10.1.3 選項卡控件的操作實例選項卡控件的操作實例10.1.3 10.1.3 選項卡控件的操作實例選項卡控件的操作實例 private void button3_Click(object sender, EventArgs e) /“下一步” tabControl1.SelectedIndex += 1; private vo

5、id button1_Click(object sender, EventArgs e) /“上一步” tabControl1.SelectedIndex -= 1; private void button2_Click(object sender, EventArgs e) /“下一步” tabControl1.SelectedIndex += 1; private void button4_Click(object sender, EventArgs e) /“上一步” tabControl1.SelectedIndex -= 1; private void button7_Click(o

6、bject sender, EventArgs e) /“上一步” tabControl1.SelectedIndex -= 1; private void button6_Click(object sender, EventArgs e)/“確定” if (DialogResult.Yes = MessageBox.Show(真的確定嗎?, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Question) this.Close(); 10.1.3 10.1.3 選項卡控件的操作實例選項卡控件的操作實例 private void button5_Cli

7、ck(object sender, EventArgs e)/”完成” tabControl1.SelectedIndex += 1; string name = textBox1.Text; string sex; if (radioButton1.Checked) sex = radioButton1.Text; else sex = radioButton2.Text; string phone = textBox2.Text; string fathername = textBox3.Text; string mathername = textBox4.Text; string hom

8、epone = textBox5.Text; string department = comboBox1.Text; textBox6.Text = 姓名: + name + rnrn + 性別: + sex + rnrn + 電話: + phone + rnrn + 父親姓名: + fathername + rnrn + 母親姓名: + mathername + rnrn + 家庭電話: + homepone + rnrn + 所屬院系: + department; 菜單提供了將命令分組的一致方法用戶易于訪問支持使用訪問鍵啟用鍵盤快捷方式一個菜單可以帶有若干子菜單菜單是程序中顯示一個選項列表

9、的圖形元素10.2 10.2 菜單和菜單組件菜單和菜單組件 MenuStrip MenuStrip 控件主要用于生成所在窗體控件主要用于生成所在窗體的主菜單。在設(shè)計窗體中添加該控件后,會在的主菜單。在設(shè)計窗體中添加該控件后,會在窗體上顯示一個菜單欄,可以直接在此菜單欄窗體上顯示一個菜單欄,可以直接在此菜單欄上編輯各主菜單項及對應(yīng)的子菜單項。上編輯各主菜單項及對應(yīng)的子菜單項。 .1 MenuStripMenuStrip控件控件 編輯各菜單項內(nèi)容時,可以用符號編輯各菜單項內(nèi)容時,可以用符號“& &”指定該指定該菜單項的組合鍵,讓其后的字母帶下劃線顯示,如菜單項的

10、組合鍵,讓其后的字母帶下劃線顯示,如編輯菜單項編輯菜單項“文件(文件(&F&F)”,則會顯示為,則會顯示為“文件文件(F F)”,意思是可以直接用,意思是可以直接用“Alt+FAlt+F”組合鍵實現(xiàn)組合鍵實現(xiàn)與單擊該菜單項相同的功能;用符號與單擊該菜單項相同的功能;用符號“- -”可以在菜可以在菜單中顯示各項之間的分隔條。單中顯示各項之間的分隔條。.1 MenuStripMenuStrip控件控件(1 1)AllowItemReorderAllowItemReorder: 當程序運行時,按下當程序運行時,按下鍵是否允許改變各菜單項的左右排鍵是否允許改變各菜單

11、項的左右排列順序。列順序。(2 2)DockDock: 指示菜單欄在窗體中出現(xiàn)的位置,默認值為指示菜單欄在窗體中出現(xiàn)的位置,默認值為TopTop。(3 3)ItemsItems: 用于編輯菜單欄上顯示的各菜單項。單擊用于編輯菜單欄上顯示的各菜單項。單擊ItemsItems屬性后屬性后 按鈕,彈出按鈕,彈出 項集合編輯器項集合編輯器 對話框。對話框。 MenuStripMenuStrip控件的基本屬性控件的基本屬性(1 1)CheckedChecked: 指示菜單項是否被選中。默認值為指示菜單項是否被選中。默認值為falsefalse。(2 2)CheckOnClickCheckOnClick:

12、 決定單擊菜單項時是否使其選中狀態(tài)發(fā)生改變。決定單擊菜單項時是否使其選中狀態(tài)發(fā)生改變。(3 3)CheckStateCheckState: 指示菜單項的狀態(tài)。指示菜單項的狀態(tài)。(4 4)DisplayStyleDisplayStyle: 指示菜單項上的顯示內(nèi)容。共有指示菜單項上的顯示內(nèi)容。共有4 4個屬性值:個屬性值:NoneNone、TextText、ImageImage和和ImageAndTextImageAndText,分別表示不顯示任何內(nèi)容、僅顯示文本、,分別表示不顯示任何內(nèi)容、僅顯示文本、僅顯示圖標、同時顯示文本和圖標。默認值為僅顯示圖標、同時顯示文本和圖標。默認值為ImageAnd

13、TextImageAndText。(5 5)DropDownItemsDropDownItems: 單擊該屬性后的單擊該屬性后的 按鈕,調(diào)出按鈕,調(diào)出 項集合編輯器項集合編輯器 對話框,以對話框,以此編輯該菜單項對應(yīng)得子菜單中的各菜單項。此編輯該菜單項對應(yīng)得子菜單中的各菜單項。MenuItemMenuItem菜單項的基本屬性菜單項的基本屬性(6 6)ImageImage: 指定在該菜單項上顯示的圖標。指定在該菜單項上顯示的圖標。(7 7)ShortcutScalingShortcutScaling: 為菜單項指定的快捷鍵。為菜單項指定的快捷鍵。(8 8)ShowShortCutKeysShow

14、ShortCutKeys: 指示是否在菜單項上顯示快捷鍵。指示是否在菜單項上顯示快捷鍵。MenuItemMenuItem菜單項的基本屬性菜單項的基本屬性ItemClickedItemClicked事件:事件: 當單擊菜單欄上各主菜單項時觸發(fā)的操作。當單擊菜單欄上各主菜單項時觸發(fā)的操作。MenuStripMenuStrip控件的常用事件控件的常用事件ClickClick事件:事件: 單擊菜單項時觸發(fā)。單擊菜單項時觸發(fā)。MenuItemMenuItem菜單項的常用事件菜單項的常用事件菜單控件的操作實例菜單控件的操作實例 private void 新建新建ToolStripMenuItem_Clic

15、k(object sender, EventArgs e) textBox1.Visible = true; textBox1.Text = 微軟公司對微軟公司對C的定義是:的定義是:“C是一種類型安全的、現(xiàn)代的、是一種類型安全的、現(xiàn)代的、簡單的,由簡單的,由c和和c+衍生出來的面向?qū)ο蟮木幊陶Z言,它是牢牢根植于衍生出來的面向?qū)ο蟮木幊陶Z言,它是牢牢根植于C和和C+語言之上語言之上的,并可立即被的,并可立即被C和和C+開發(fā)人員所熟悉。開發(fā)人員所熟悉。C的目的就是綜合的目的就是綜合Visual Basic的高生產(chǎn)率的高生產(chǎn)率和和C+的行動力。的行動力。”; private void 退出退出To

16、olStripMenuItem_Click(object sender, EventArgs e) textBox1.Clear(); textBox1.Visible = false; private void 宋體宋體ToolStripMenuItem1_Click(object sender, EventArgs e) textBox1.Font = new Font(宋體宋體,textBox1.Font.Size,textBox1.Font.Style); private void 隸書隸書ToolStripMenuItem1_Click(object sender, EventArg

17、s e) textBox1.Font = new Font(隸書隸書, textBox1.Font.Size, textBox1.Font.Style); private void 楷體楷體ToolStripMenuItem_Click(object sender, EventArgs e) textBox1.Font = new Font(楷體楷體_GB2312, textBox1.Font.Size, textBox1.Font.Style); private void 一號一號ToolStripMenuItem_Click(object sender, EventArgs e) text

18、Box1.Font = new Font(textBox1.Font.Name, 26.25f, textBox1.Font.Style); private void 三號三號ToolStripMenuItem_Click(object sender, EventArgs e) textBox1.Font = new Font(textBox1.Font.Name, 15.75f, textBox1.Font.Style); private void 五號五號ToolStripMenuItem_Click(object sender, EventArgs e) textBox1.Font =

19、new Font(textBox1.Font.Name, 9f, textBox1.Font.Style); private void 加粗加粗ToolStripMenuItem_Click(object sender, EventArgs e) if (加粗加粗ToolStripMenuItem.Checked) textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style | FontStyle.Bold); else textBox1.Font = new Font(textBox

20、1.Font.Name, textBox1.Font.Size, textBox1.Font.Style & FontStyle.Bold); private void 傾斜傾斜ToolStripMenuItem_Click(object sender, EventArgs e) if (傾斜傾斜ToolStripMenuItem.Checked) textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style | FontStyle.Italic); else textBox1.

21、Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style & FontStyle.Italic); private void 下劃線下劃線ToolStripMenuItem_Click(object sender, EventArgs e) if (下劃線下劃線ToolStripMenuItem.Checked) textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style | Font

22、Style.Underline); else textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style & FontStyle.Underline); ContextMenuStripContextMenuStrip控件的功能是制作右鍵快捷菜控件的功能是制作右鍵快捷菜單。單。注意:該控件是用于為其他控件服務(wù)的,不能單獨注意:該控件是用于為其他控件服務(wù)的,不能單獨使用。使用。 當向窗體中添加一個當向窗體中添加一個ContextMenuStripContextMenuStrip控

23、件,會控件,會在窗體頂端出現(xiàn)與在窗體頂端出現(xiàn)與MenuStripMenuStrip控件相似的菜單欄,但是控件相似的菜單欄,但是不能在菜單欄上添加任何菜單項,只能在子菜單中編不能在菜單欄上添加任何菜單項,只能在子菜單中編輯各菜單項。編輯完成的輯各菜單項。編輯完成的ContextMenuStripContextMenuStrip控件需要控件需要在窗體或相關(guān)控件的在窗體或相關(guān)控件的ContextMenuStripContextMenuStrip屬性中與其屬性中與其建立關(guān)聯(lián),才可以在程序運行時用鼠標右鍵單擊對應(yīng)建立關(guān)聯(lián),才可以在程序運行時用鼠標右鍵單擊對應(yīng)控件,彈出該快捷菜單。控件,彈出該快捷菜單。1

24、.2 ContextMenuStripContextMenuStrip控件控件ItemsItems: 用于編輯快捷菜單上的各菜單項。其編輯方式與用于編輯快捷菜單上的各菜單項。其編輯方式與MenuStripMenuStrip控件的菜單項編輯相似,都是調(diào)用控件的菜單項編輯相似,都是調(diào)用 項集合編輯器項集合編輯器 對話框來生成菜單項的。對話框來生成菜單項的。ContextMenuStripContextMenuStrip控件的基本屬性控件的基本屬性(1 1)ItemClickedItemClicked事件:事件: 快捷菜單中的任何一個菜單項被單擊時觸發(fā)的操快捷菜單中的任何一個菜單項

25、被單擊時觸發(fā)的操作。作。ContextMenuStripContextMenuStrip控件的基本事件控件的基本事件ContextMenuStripContextMenuStrip控件的操作實例控件的操作實例10.3 10.3 工具欄控件工具欄控件 工具欄實際上可以看成是菜單項的快捷方式,工具欄上的每工具欄實際上可以看成是菜單項的快捷方式,工具欄上的每一個工具項都應(yīng)有對應(yīng)的菜單項一個工具項都應(yīng)有對應(yīng)的菜單項,在工具箱中雙擊,在工具箱中雙擊ToolStripToolStrip控件,控件,可在窗體上添加一個可在窗體上添加一個ToolStripToolStrip控件??梢栽诠ぞ邫谥刑砑影粹o、控件。可

26、以在工具欄中添加按鈕、文本、左側(cè)標準按鈕和右側(cè)下拉按鈕的組合、下拉菜單、垂直線文本、左側(cè)標準按鈕和右側(cè)下拉按鈕的組合、下拉菜單、垂直線或水平線、文本框和進度條?;蛩骄€、文本框和進度條。 10.3 10.3 工具欄控件工具欄控件 ToolStrip ToolStrip 控件及其派生類被設(shè)計成一個靈活的可擴展系統(tǒng),控件及其派生類被設(shè)計成一個靈活的可擴展系統(tǒng),以顯示工具欄、狀態(tài)和菜單項。以顯示工具欄、狀態(tài)和菜單項。控件名稱說明ToolStripButtonToolStripButton可以創(chuàng)建一個支持文本和圖像的工具欄按鈕可以創(chuàng)建一個支持文本和圖像的工具欄按鈕ToolStripLabelToolS

27、tripLabel創(chuàng)建一個標簽創(chuàng)建一個標簽ToolStripSplitButtonToolStripSplitButton左側(cè)標準按鈕和右側(cè)下拉按鈕的組合左側(cè)標準按鈕和右側(cè)下拉按鈕的組合ToolStripDropDownButtonToolStripDropDownButton可以創(chuàng)建一個下拉列表可以創(chuàng)建一個下拉列表ToolStripComboBoxToolStripComboBox可以創(chuàng)建一個組合框可以創(chuàng)建一個組合框ToolStripSeparatorToolStripSeparator直線,可以對菜單或直線,可以對菜單或 ToolStrip ToolStrip 上的相關(guān)項上的相關(guān)項進行分組

28、進行分組ToolStripTextBoxToolStripTextBox文本框,用戶可以在此輸入文本文本框,用戶可以在此輸入文本ToolStripProgressBarToolStripProgressBarWindows Windows 進度欄進度欄工具欄控件使用實例工具欄控件使用實例10.4 10.4 狀態(tài)欄控件狀態(tài)欄控件 狀態(tài)欄一般位于狀態(tài)欄一般位于windowswindows窗體的底部,主要用來顯示窗體的狀窗體的底部,主要用來顯示窗體的狀態(tài)信息態(tài)信息。10.4 10.4 狀態(tài)欄控件狀態(tài)欄控件 可以為狀態(tài)欄添加可以為狀態(tài)欄添加StatusLabelStatusLabel、Progress

29、BarProgressBar、DropDownButtonDropDownButton、SplitButtonSplitButton。名稱名稱說明說明ToolStripStatusLabelToolStripStatusLabelStatusStrip StatusStrip 控件中的一個面板控件中的一個面板ToolStripDropDownButtonToolStripDropDownButton用戶可以從中選擇單個項用戶可以從中選擇單個項ToolStripSplitButtonToolStripSplitButton標準按鈕和下拉菜單的一個兩部分控件標準按鈕和下拉菜單的一個兩部分控件Too

30、lStripProgressBarToolStripProgressBar顯示進程的完成狀態(tài)顯示進程的完成狀態(tài)圖標系統(tǒng)按鈕標題欄控件10.5 10.5 窗窗 體體10.5.1 10.5.1 窗體的屬性窗體的屬性 屬性說明ControlBoxControlBox 確定窗體是否有確定窗體是否有“控件控件/ /系統(tǒng)系統(tǒng)”菜單欄菜單欄FormBorderStyleFormBorderStyle 指定窗體的邊框樣式。指定窗體的邊框樣式。 HelpButtonHelpButton 確定窗體的標題欄上是否有確定窗體的標題欄上是否有“幫助幫助”按鈕。注:如按鈕。注:如果顯示最大化或最小化框,則忽略果顯示最大化

31、或最小化框,則忽略 HelpButton HelpButton 屬屬性的值性的值WindowStateWindowState 確定窗體的初始可視狀態(tài)確定窗體的初始可視狀態(tài)Fixed3D:固定的三維邊框。 FixedDialog:固定的對話框樣式的粗邊框。 FixedSingle:固定的單行邊框。 FixedToolWindow:不可調(diào)整大小的工具窗口邊框。None:無邊框。 Sizable:可調(diào)整大小的邊框。 SizableToolWindow:可調(diào)整大小的工具窗口邊框。10.5.2 10.5.2 窗體的方法和事件窗體的方法和事件 方法說明ShowShow方法方法該方法的作用是讓窗體顯示出來,

32、且該窗體是無模式窗體。該方法的作用是讓窗體顯示出來,且該窗體是無模式窗體。HideHide方法方法該方法的作用是把窗體隱藏出來。該方法的作用是把窗體隱藏出來。CloseClose方法方法該方法的作用是關(guān)閉窗體。該方法的作用是關(guān)閉窗體。ShowDialogShowDialog方法方法該方法的作用是將窗體顯示為模式對話框。該方法的作用是將窗體顯示為模式對話框。事件說明LoadLoad事件事件 該事件發(fā)生于該事件發(fā)生于FormForm窗體的加載時候。窗體的加載時候。 窗體和對話框要么是有模式的,要么是無模式的。窗體和對話框要么是有模式的,要么是無模式的。u“模式模式”窗體或?qū)υ捒虮仨氷P(guān)閉或隱藏,然后

33、才能窗體或?qū)υ捒虮仨氷P(guān)閉或隱藏,然后才能繼續(xù)使用應(yīng)用程序的其余部分。繼續(xù)使用應(yīng)用程序的其余部分。 u無模式窗體或?qū)υ捒蛟试S在不同窗口之間自由切換。無模式窗體或?qū)υ捒蛟试S在不同窗口之間自由切換。 10.5.2 10.5.2 窗體間數(shù)據(jù)傳遞窗體間數(shù)據(jù)傳遞 一個稍微復雜一點的程序一般都有二個或者更多一個稍微復雜一點的程序一般都有二個或者更多的窗體。有時在程序設(shè)計中,數(shù)據(jù)不僅要在同一個窗的窗體。有時在程序設(shè)計中,數(shù)據(jù)不僅要在同一個窗體中傳遞,還要在窗體間傳遞,這種傳遞是主窗體與體中傳遞,還要在窗體間傳遞,這種傳遞是主窗體與從窗體之間數(shù)據(jù)的互相傳遞。從窗體之間數(shù)據(jù)的互相傳遞。被調(diào)用的窗體類 窗體實例 =

34、 new 被調(diào)用的窗體類();窗體實例.Show(); private void button1_Click(object sender, EventArgs e) Form2 myform2 = new Form2(); myform2.Show(); 一個應(yīng)用程序可能有多個窗體,若要在當前窗體中顯一個應(yīng)用程序可能有多個窗體,若要在當前窗體中顯示另一窗體,可采用如下方法:示另一窗體,可采用如下方法:1 1、顯示另外一個窗體、顯示另外一個窗體功能描述:主窗體能夠?qū)崟r的向從窗體傳送數(shù)據(jù),表現(xiàn)為當更改主窗體中的文本框中的內(nèi)容時,從窗體中定義的一個文本框能夠顯示出主窗體中文本框中的內(nèi)容。實現(xiàn)思路:把

35、從窗體看成是主窗體的一個實例,加入到從窗體中的組件,可以看成是從窗體中定義的一個個變量,由于從窗體中加入的組件的組件缺省定義類型是Private(私有的),所以要想訪問這些組件,必須改變?yōu)镻ublic(共有的)。 2 2、向另外一個窗體傳送數(shù)據(jù)、向另外一個窗體傳送數(shù)據(jù)實現(xiàn)舉例:現(xiàn)在有兩個窗體:主窗體、從窗體,在主窗體中有兩個文本框控件,要求在文本框控件中輸入相應(yīng)的內(nèi)容后,點擊“確定”按鈕,從窗體顯示出來,并在從窗體的文本框中將主窗體中用戶輸入的信息顯示出來。2 2、向另外一個窗體傳送數(shù)據(jù)、向另外一個窗體傳送數(shù)據(jù)實現(xiàn)步驟:(1)創(chuàng)建一個Visual C#項目文件(2)在【Form1.cs】窗口中

36、,添加以下組件,并執(zhí)行相應(yīng)的操作: 二個TextBox組件 二個Label組件 一個Button組件(3)選擇菜單【項目】|【添加Windows窗體】后,彈出【添加新項】對話框。在此對話框中的【名稱(N):】文本框中輸入【Form2】后,單擊【添加】按鈕,則在該項目中添加了一個新的窗體,名稱為【Form2】。(4)把Visual Studio .Net的當前窗口切換到【Form2.cs(設(shè)計)】窗口,并從【工具箱】中的【W(wǎng)indows窗體】選項卡中拖入下列組件到【Form2.cs(設(shè)計)】窗體中,并執(zhí)行相應(yīng)操作: 一個TextBox組件,用以顯示主窗體發(fā)送來的數(shù)據(jù)2 2、向另外一個窗體傳送數(shù)據(jù)

37、、向另外一個窗體傳送數(shù)據(jù)(5)把從窗體看成是主窗體的一個實例,下面代碼是創(chuàng)建一個Form2類的實例myform2,即從窗體: private Form2 myform2 ; 注:此行代碼應(yīng)在主窗體(Form1)的類定義中添加(6)由于在主窗體中點擊“確定”按鈕后,需要對從窗體中文本框進行設(shè)置,所以要修改Form2.cs文件中TextBox組件的定義類型,把缺省定義為“private”類型修改為“public”類型,修改后的TextBox組件在Form2.cs中的定義語句如下: public System.Windows.Forms.TextBox textBox1; 注:此行代碼應(yīng)在從窗體(F

38、orm2)的類定義中修改(7)在主窗體的Button1的Click事件中填寫以下代碼: myform2 = new Form2(); myform2.Show(); myform2.textBox1.Text = “姓名:” + this.textBox1.Text + “rn” + “學號: + textBox2.Text;2 2、向另外一個窗體傳送數(shù)據(jù)、向另外一個窗體傳送數(shù)據(jù) 基于C#的Windows應(yīng)用程序以窗體為基礎(chǔ)。C#中窗體可分為單文檔窗體和多文檔窗體兩類。單文檔應(yīng)用程序中所有的窗體都是平等的,窗體之間不存在層次關(guān)系。多文檔應(yīng)用程序(MDI)包含一個父窗口(也稱為容器窗口)以及一個

39、或多個子窗體。3 3、多文檔窗體(、多文檔窗體(MDIMDI)多文檔應(yīng)用程序的特點u用戶一次可以打開多個文檔,每個文檔對應(yīng)不同的窗體;用戶一次可以打開多個文檔,每個文檔對應(yīng)不同的窗體;u容器窗體的菜單會自動隨著當前活動窗體的子窗體的變化而變化;容器窗體的菜單會自動隨著當前活動窗體的子窗體的變化而變化;u可以對子窗體進行層疊、平鋪等各種操作;可以對子窗體進行層疊、平鋪等各種操作;u子窗體可以在子窗體可以在MDIMDI容器窗體區(qū)域內(nèi)定位、改變大小、最大化和最小化,容器窗體區(qū)域內(nèi)定位、改變大小、最大化和最小化,當最大化子窗體時,它將占滿窗體的全部客戶區(qū);當最大化子窗體時,它將占滿窗體的全部客戶區(qū);u

40、所有子窗體都共享容器窗體的同一個工具欄和菜單欄;所有子窗體都共享容器窗體的同一個工具欄和菜單欄;u子窗體的一個限制是它們只能在容器窗體的邊界內(nèi)顯示。子窗體的一個限制是它們只能在容器窗體的邊界內(nèi)顯示。Form窗體中與MDI應(yīng)用程序相關(guān)的屬性和方法:uIsMdiContainerIsMdiContainer屬性:該屬性獲取和設(shè)置窗體是否作為一個屬性:該屬性獲取和設(shè)置窗體是否作為一個MDIMDI主主窗體(容器窗體)。窗體(容器窗體)。uMdiParentMdiParent屬性:獲取和設(shè)置此窗體的當前多文檔界面(屬性:獲取和設(shè)置此窗體的當前多文檔界面(MDIMDI)父窗)父窗體,利用此屬性可以將一個普

41、通窗體定義為一個體,利用此屬性可以將一個普通窗體定義為一個MDIMDI容器窗體的子窗容器窗體的子窗體,形成包含關(guān)系。體,形成包含關(guān)系。uLayoutMdiLayoutMdi方法:在方法:在MDIMDI父窗體內(nèi)排列多文檔界面(父窗體內(nèi)排列多文檔界面(MDIMDI)子窗體,)子窗體,以便更易于導航和操作以便更易于導航和操作MDIMDI子窗體。子窗體。MDIMDI子窗體可以在子窗體可以在MDIMDI父窗體內(nèi)水父窗體內(nèi)水平和垂直平鋪、層疊或作為圖標,其值為平和垂直平鋪、層疊或作為圖標,其值為MdilayoutMdilayout枚舉值之一。枚舉值之一。3 3、多文檔窗體(、多文檔窗體(MDIMDI)多文

42、檔窗體(多文檔窗體(MDIMDI)舉例)舉例多文檔窗體(多文檔窗體(MDIMDI)舉例)舉例 private void 加載窗體加載窗體ToolStripMenuItem_Click(object sender, EventArgs e) Form2 frm2 = new Form2(); frm2.MdiParent = this; frm2.Show(); Form3 frm3 = new Form3(); frm3.MdiParent = this; frm3.Show(); Form4 frm4 = new Form4(); frm4.MdiParent = this; frm4.Sh

43、ow(); private void 水平平鋪水平平鋪ToolStripMenuItem_Click(object sender, EventArgs e) LayoutMdi(MdiLayout.TileHorizontal); private void 垂直平鋪垂直平鋪ToolStripMenuItem_Click(object sender, EventArgs e) LayoutMdi(MdiLayout.TileVertical); private void 層疊排列層疊排列ToolStripMenuItem_Click(object sender, EventArgs e) Lay

44、outMdi(MdiLayout.Cascade); 10.6 10.6 對話框?qū)υ捒?在在WindowsWindows系統(tǒng)中,應(yīng)用程序如果需要用戶選擇一系統(tǒng)中,應(yīng)用程序如果需要用戶選擇一個文件或者文件夾,通常都會彈出一個選擇對話框。由個文件或者文件夾,通常都會彈出一個選擇對話框。由于這些對話框的通用性,于這些對話框的通用性,C#C#提供了對話框控件來快速創(chuàng)提供了對話框控件來快速創(chuàng)建對話框。常用的控件有打開文件對話框、存儲文件對建對話框。常用的控件有打開文件對話框、存儲文件對話框、瀏覽文件對話框等。話框、瀏覽文件對話框等。 打開文件對話框控件(打開文件對話框控件(OpenFileDialogO

45、penFileDialog)是一個預先定義的)是一個預先定義的對話框類,包括顯示樣式和方法等。它與對話框類,包括顯示樣式和方法等。它與WindowsWindows中常見的中常見的“打打開文件開文件”對話框相同。在對話框相同。在WindowsWindows應(yīng)用程序中可將該組件用作簡應(yīng)用程序中可將該組件用作簡單的文件選擇方案,快速創(chuàng)建用戶所熟悉的應(yīng)用程序。單的文件選擇方案,快速創(chuàng)建用戶所熟悉的應(yīng)用程序。 可使用可使用ShowDialogShowDialog方法在運行時顯示該對話框。方法在運行時顯示該對話框。 注意:注意:使用使用OpenFileDialogOpenFileDialog控件,只能獲取

46、要打開的文件路徑,控件,只能獲取要打開的文件路徑,而文件的打開邏輯必須由程序員編寫。而文件的打開邏輯必須由程序員編寫。 10.6.1 10.6.1 打開文件對話框控件(打開文件對話框控件(OpenFileDialogOpenFileDialog) OpenFileDialog控件基本屬性控件基本屬性屬性屬性說明說明InitialDirectoryInitialDirectory對話框的初始目錄對話框的初始目錄FilterFilter要在對話框中顯示的文件篩選器,例如,要在對話框中顯示的文件篩選器,例如, 文本文件文本文件( (* *.txt)|.txt)|* *.txt|.txt|所所有文件有

47、文件( (* *. .* *)|)|* *. .* * FilterIndexFilterIndex在對話框中選擇的文件篩選器的索引,如果選第一項就設(shè)為在對話框中選擇的文件篩選器的索引,如果選第一項就設(shè)為1 1RestoreDirectoryRestoreDirectory控制對話框在關(guān)閉之前是否恢復當前目錄,注:該屬性僅對控制對話框在關(guān)閉之前是否恢復當前目錄,注:該屬性僅對 SaveFileDialog SaveFileDialog 有效;在有效;在 OpenFileDialog OpenFileDialog 上設(shè)置時不起任何作用。上設(shè)置時不起任何作用。FileNameFileName獲取或

48、設(shè)置一個字符串,其中包含在文件對話框中選定的文件的完整獲取或設(shè)置一個字符串,其中包含在文件對話框中選定的文件的完整路徑。路徑。 TitleTitle將顯示在對話框標題欄中的字符將顯示在對話框標題欄中的字符AddExtensionAddExtension獲取或設(shè)置一個值,該值指示如果用戶省略擴展名,文件對話框是否獲取或設(shè)置一個值,該值指示如果用戶省略擴展名,文件對話框是否自動在文件名中添加擴展名。自動在文件名中添加擴展名。 CheckPathExistsCheckPathExists在對話框返回之前,檢查指定路徑是否存在在對話框返回之前,檢查指定路徑是否存在DefaultExtDefaultEx

49、t默認擴展名默認擴展名ShowHelpShowHelp啟用啟用 幫助幫助 按鈕按鈕ValiDateNamesValiDateNames控制對話框檢查文件名中是否不含有無效的字符或序列控制對話框檢查文件名中是否不含有無效的字符或序列 創(chuàng)建一個窗體,在該窗體中添加一個創(chuàng)建一個窗體,在該窗體中添加一個TextBoxTextBox、一個按鈕、一個按鈕和一個和一個OpenFileDialogOpenFileDialog。單擊按鈕可以激活。單擊按鈕可以激活OpenFileDialogOpenFileDialog并選擇文件,如果用戶在選擇對話框中確認了選擇,則將選定并選擇文件,如果用戶在選擇對話框中確認了選

50、擇,則將選定的文件路徑顯示到的文件路徑顯示到TextBoxTextBox中。中。 private void button1_Click(object sender, EventArgs e) if (openFileDialog1.ShowDialog() = DialogResult.OK) textBox1.Text = openFileDialog1.FileName; 打開文件對話框(打開文件對話框(OpenFileDialogOpenFileDialog)應(yīng)用實例)應(yīng)用實例 存儲文件對話框(存儲文件對話框(SaveFileDialogSaveFileDialog)與)與Windows

51、Windows的的“保存文保存文件件”對話框相同。使用該控件可使用戶能夠選擇保存文件的路對話框相同。使用該控件可使用戶能夠選擇保存文件的路徑,但是使用徑,但是使用SaveFileDialogSaveFileDialog控件時,程序員必須編寫文件保控件時,程序員必須編寫文件保存邏輯。存邏輯。 與打開文件對話框類似,可使用與打開文件對話框類似,可使用ShowDialogShowDialog方法在運行時方法在運行時顯示該對話框。顯示該對話框。 10.6.2 10.6.2 存儲文件對話框存儲文件對話框 (SaveFileDialogSaveFileDialog) SaveFileDialog控件基本屬

52、性控件基本屬性屬性屬性說明說明Filter要在對話框中顯示的文件篩選器,例如,要在對話框中顯示的文件篩選器,例如,文本文件文本文件(*.txt)|*.txt|所有文所有文件件(*.*)|*.*FilterIndex在對話框中選擇的文件篩選器的索引,如果選第一項就設(shè)為在對話框中選擇的文件篩選器的索引,如果選第一項就設(shè)為1CheckPathExists在對話框返回之前,檢查指定路徑是否存在在對話框返回之前,檢查指定路徑是否存在DefaultExt缺省擴展名缺省擴展名FileName第一個在對話框中顯示的文件或最后一個選取的文件第一個在對話框中顯示的文件或最后一個選取的文件InitialDirect

53、or對話框的初始目錄對話框的初始目錄OverwritePrompt控制在將要在改寫現(xiàn)在文件時是否提示用戶,只有在控制在將要在改寫現(xiàn)在文件時是否提示用戶,只有在ValidateNames為為真值時,才適用真值時,才適用ShowHelp啟用啟用幫助幫助按鈕按鈕Title將顯示在對話框標題欄中的字符將顯示在對話框標題欄中的字符ValidateNames控制對話框檢查文件名中是否不含有無效的字符或序列控制對話框檢查文件名中是否不含有無效的字符或序列SaveFileDialog控件基本事件控件基本事件事件事件說明說明FileOkFileOk當用戶點擊當用戶點擊 打開打開 或或 保存保存 按鈕時要處理的事

54、件按鈕時要處理的事件HelpRequestHelpRequest當用戶點擊當用戶點擊 幫助幫助 按鈕時要處理的事件按鈕時要處理的事件 創(chuàng)建一個窗體,在該窗體中添加一個創(chuàng)建一個窗體,在該窗體中添加一個TextBoxTextBox、一個按、一個按鈕和一個鈕和一個SaveFileDialogSaveFileDialog。單擊。單擊“瀏覽瀏覽”按鈕可以激活按鈕可以激活SaveFileDialogSaveFileDialog并選擇文件存儲路徑,如果用戶在選擇對話并選擇文件存儲路徑,如果用戶在選擇對話框中確認了選擇,則將選定的文件路徑顯示到框中確認了選擇,則將選定的文件路徑顯示到TextBoxTextBo

55、x中。中。 private void button1_Click(object sender, EventArgs e) if (saveFileDialog1.ShowDialog() = DialogResult.OK) textBox1.Text = saveFileDialog1.FileName; 存儲文件對話框(存儲文件對話框( SaveFileDialog SaveFileDialog )應(yīng)用實例)應(yīng)用實例 瀏覽文件夾對話框(瀏覽文件夾對話框(FolderBrowserDialogFolderBrowserDialog)是用于瀏覽和選擇文)是用于瀏覽和選擇文件夾的模式對話框。件夾

56、的模式對話框。 與前面兩個對話框一樣,使用與前面兩個對話框一樣,使用ShowDialogShowDialog方法可在運行時顯示方法可在運行時顯示FolderBrowserDialogFolderBrowserDialog控件??丶?。 10.6.3 10.6.3 瀏覽文件夾對話框(瀏覽文件夾對話框(FolderBrowserDialogFolderBrowserDialog) 創(chuàng)建一個窗體,在該窗體中添加一個創(chuàng)建一個窗體,在該窗體中添加一個TextBoxTextBox、一個按、一個按鈕和一個鈕和一個FolderBrowserDialogFolderBrowserDialog。單擊。單擊“瀏覽瀏覽”按鈕可以激活按鈕可以激活FolderBrowserDialogFolderBrowserDialog并選擇文件夾路徑,如果用戶在選擇對并選擇文件夾路徑,如果用戶在選擇對話框中確認了選擇,則將選定的文件路徑顯示到話框中確認了選擇,則將選定的文件路徑顯示到TextBoxTextBox中。中。 private void button3_Click(object sender, EventArgs e) if (folderBrowserDialog1.ShowDialog() = DialogR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論