第10章 Windows窗体高级控件的使用_第1页
第10章 Windows窗体高级控件的使用_第2页
第10章 Windows窗体高级控件的使用_第3页
第10章 Windows窗体高级控件的使用_第4页
第10章 Windows窗体高级控件的使用_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1010章章 WindowsWindows窗体高级控件的使用窗体高级控件的使用本本 章章 要要 点点 选项卡控件选项卡控件 菜单控件菜单控件 工具栏与状态栏控件工具栏与状态栏控件 窗体控件窗体控件 对话框控件对话框控件p在在 Windows Windows 应用程序中,选项卡用于将相应用程序中,选项卡用于将相关的控件集中在一起,放在一个页面中关的控件集中在一起,放在一个页面中p选项卡控件选项卡控件用于显示多个选项卡,其中每个用于显示多个选项卡,其中每个选项卡均可包含图片和其他控件选项卡均可包含图片和其他控件p选项卡相当于另一个窗体,可以容纳其他控选项卡相当于另一个窗体,可以容纳其他控件件1

2、0.1 10.1 选项卡控件选项卡控件10.1.1 10.1.1 选项卡控件的常用属性选项卡控件的常用属性属性属性说明说明TabPages TabPages TabControlTabControl中的选项卡页的集合中的选项卡页的集合MultiLineMultiLine指定是否可以显示多行选项卡。如果可以显示多行选项指定是否可以显示多行选项卡。如果可以显示多行选项卡,该值应为卡,该值应为 TrueTrue,否则为,否则为 FalseFalse。默认值为。默认值为 FalseFalseSelectedIndexSelectedIndex当前所选选项卡页的索引值。该属性的值为当前所选选当前所选选项

3、卡页的索引值。该属性的值为当前所选选项卡页的基于项卡页的基于 0 0 的索引。默认值为的索引。默认值为 -1-1,如果未选定选,如果未选定选项卡页,则为同一值项卡页,则为同一值ShowToolTipsShowToolTips指定在鼠标移至选项卡时,是否应显示该选项卡的工具指定在鼠标移至选项卡时,是否应显示该选项卡的工具提示。提示。 如果对带有工具提示的选项卡显示工具提示,如果对带有工具提示的选项卡显示工具提示,该值应为该值应为 TrueTrue,否则为,否则为 False False TabCountTabCount检索选项卡控件中选项卡的数目检索选项卡控件中选项卡的数目事件事件 说明说明Se

4、lectedIndexChangedSelectedIndexChanged更改更改 SelectedIndex SelectedIndex 属性值时,将触发该事件属性值时,将触发该事件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 控件主要用于生成所在窗体控件主要用于生成所在窗体的主菜单。在设计窗体中添加该控件后,会在的主菜单。在设计窗体中添加该控件后,会在窗体上显示一个菜单栏,可以直接在此菜单栏窗体上显示一个菜单栏,可以直接在此菜单栏上编辑各主菜单项及对应的子菜单项。上编辑各主菜单项及对应的子菜单项。 .1 MenuStripMenuStrip控件控件 编辑各菜单项内容时,可以用符号编辑各菜单项内容时,可以用符号“& &”指定该指定该菜单项的组合键,让其后的字母带下划线显示,如菜单项的

10、组合键,让其后的字母带下划线显示,如编辑菜单项编辑菜单项“文件(文件(&F&F)”,则会显示为,则会显示为“文件文件(F F)”,意思是可以直接用,意思是可以直接用“Alt+FAlt+F”组合键实现组合键实现与单击该菜单项相同的功能;用符号与单击该菜单项相同的功能;用符号“- -”可以在菜可以在菜单中显示各项之间的分隔条。单中显示各项之间的分隔条。.1 MenuStripMenuStrip控件控件(1 1)AllowItemReorderAllowItemReorder: 当程序运行时,按下当程序运行时,按下键是否允许改变各菜单项的左右排键是否允许改变各菜单

11、项的左右排列顺序。列顺序。(2 2)DockDock: 指示菜单栏在窗体中出现的位置,默认值为指示菜单栏在窗体中出现的位置,默认值为TopTop。(3 3)ItemsItems: 用于编辑菜单栏上显示的各菜单项。单击用于编辑菜单栏上显示的各菜单项。单击ItemsItems属性后属性后 按钮,弹出按钮,弹出 项集合编辑器项集合编辑器 对话框。对话框。 MenuStripMenuStrip控件的基本属性控件的基本属性(1 1)CheckedChecked: 指示菜单项是否被选中。默认值为指示菜单项是否被选中。默认值为falsefalse。(2 2)CheckOnClickCheckOnClick:

12、 决定单击菜单项时是否使其选中状态发生改变。决定单击菜单项时是否使其选中状态发生改变。(3 3)CheckStateCheckState: 指示菜单项的状态。指示菜单项的状态。(4 4)DisplayStyleDisplayStyle: 指示菜单项上的显示内容。共有指示菜单项上的显示内容。共有4 4个属性值:个属性值:NoneNone、TextText、ImageImage和和ImageAndTextImageAndText,分别表示不显示任何内容、仅显示文本、,分别表示不显示任何内容、仅显示文本、仅显示图标、同时显示文本和图标。默认值为仅显示图标、同时显示文本和图标。默认值为ImageAnd

13、TextImageAndText。(5 5)DropDownItemsDropDownItems: 单击该属性后的单击该属性后的 按钮,调出按钮,调出 项集合编辑器项集合编辑器 对话框,以对话框,以此编辑该菜单项对应得子菜单中的各菜单项。此编辑该菜单项对应得子菜单中的各菜单项。MenuItemMenuItem菜单项的基本属性菜单项的基本属性(6 6)ImageImage: 指定在该菜单项上显示的图标。指定在该菜单项上显示的图标。(7 7)ShortcutScalingShortcutScaling: 为菜单项指定的快捷键。为菜单项指定的快捷键。(8 8)ShowShortCutKeysShow

14、ShortCutKeys: 指示是否在菜单项上显示快捷键。指示是否在菜单项上显示快捷键。MenuItemMenuItem菜单项的基本属性菜单项的基本属性ItemClickedItemClicked事件:事件: 当单击菜单栏上各主菜单项时触发的操作。当单击菜单栏上各主菜单项时触发的操作。MenuStripMenuStrip控件的常用事件控件的常用事件ClickClick事件:事件: 单击菜单项时触发。单击菜单项时触发。MenuItemMenuItem菜单项的常用事件菜单项的常用事件菜单控件的操作实例菜单控件的操作实例 private void 新建新建ToolStripMenuItem_Clic

15、k(object sender, EventArgs e) textBox1.Visible = true; textBox1.Text = 微软公司对微软公司对C的定义是:的定义是:“C是一种类型安全的、现代的、是一种类型安全的、现代的、简单的,由简单的,由c和和c+衍生出来的面向对象的编程语言,它是牢牢根植于衍生出来的面向对象的编程语言,它是牢牢根植于C和和C+语言之上语言之上的,并可立即被的,并可立即被C和和C+开发人员所熟悉。开发人员所熟悉。C的目的就是综合的目的就是综合Visual Basic的高生产率的高生产率和和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控件的功能是制作右键快捷菜控件的功能是制作右键快捷菜单。单。注意:该控件是用于为其他控件服务的,不能单独注意:该控件是用于为其他控件服务的,不能单独使用。使用。 当向窗体中添加一个当向窗体中添加一个ContextMenuStripContextMenuStrip控

23、件,会控件,会在窗体顶端出现与在窗体顶端出现与MenuStripMenuStrip控件相似的菜单栏,但是控件相似的菜单栏,但是不能在菜单栏上添加任何菜单项,只能在子菜单中编不能在菜单栏上添加任何菜单项,只能在子菜单中编辑各菜单项。编辑完成的辑各菜单项。编辑完成的ContextMenuStripContextMenuStrip控件需要控件需要在窗体或相关控件的在窗体或相关控件的ContextMenuStripContextMenuStrip属性中与其属性中与其建立关联,才可以在程序运行时用鼠标右键单击对应建立关联,才可以在程序运行时用鼠标右键单击对应控件,弹出该快捷菜单。控件,弹出该快捷菜单。1

24、.2 ContextMenuStripContextMenuStrip控件控件ItemsItems: 用于编辑快捷菜单上的各菜单项。其编辑方式与用于编辑快捷菜单上的各菜单项。其编辑方式与MenuStripMenuStrip控件的菜单项编辑相似,都是调用控件的菜单项编辑相似,都是调用 项集合编辑器项集合编辑器 对话框来生成菜单项的。对话框来生成菜单项的。ContextMenuStripContextMenuStrip控件的基本属性控件的基本属性(1 1)ItemClickedItemClicked事件:事件: 快捷菜单中的任何一个菜单项被单击时触发的操快捷菜单中的任何一个菜单项

25、被单击时触发的操作。作。ContextMenuStripContextMenuStrip控件的基本事件控件的基本事件ContextMenuStripContextMenuStrip控件的操作实例控件的操作实例10.3 10.3 工具栏控件工具栏控件 工具栏实际上可以看成是菜单项的快捷方式,工具栏上的每工具栏实际上可以看成是菜单项的快捷方式,工具栏上的每一个工具项都应有对应的菜单项一个工具项都应有对应的菜单项,在工具箱中双击,在工具箱中双击ToolStripToolStrip控件,控件,可在窗体上添加一个可在窗体上添加一个ToolStripToolStrip控件。可以在工具栏中添加按钮、控件。可

26、以在工具栏中添加按钮、文本、左侧标准按钮和右侧下拉按钮的组合、下拉菜单、垂直线文本、左侧标准按钮和右侧下拉按钮的组合、下拉菜单、垂直线或水平线、文本框和进度条。或水平线、文本框和进度条。 10.3 10.3 工具栏控件工具栏控件 ToolStrip ToolStrip 控件及其派生类被设计成一个灵活的可扩展系统,控件及其派生类被设计成一个灵活的可扩展系统,以显示工具栏、状态和菜单项。以显示工具栏、状态和菜单项。控件名称说明ToolStripButtonToolStripButton可以创建一个支持文本和图像的工具栏按钮可以创建一个支持文本和图像的工具栏按钮ToolStripLabelToolS

27、tripLabel创建一个标签创建一个标签ToolStripSplitButtonToolStripSplitButton左侧标准按钮和右侧下拉按钮的组合左侧标准按钮和右侧下拉按钮的组合ToolStripDropDownButtonToolStripDropDownButton可以创建一个下拉列表可以创建一个下拉列表ToolStripComboBoxToolStripComboBox可以创建一个组合框可以创建一个组合框ToolStripSeparatorToolStripSeparator直线,可以对菜单或直线,可以对菜单或 ToolStrip ToolStrip 上的相关项上的相关项进行分组

28、进行分组ToolStripTextBoxToolStripTextBox文本框,用户可以在此输入文本文本框,用户可以在此输入文本ToolStripProgressBarToolStripProgressBarWindows Windows 进度栏进度栏工具栏控件使用实例工具栏控件使用实例10.4 10.4 状态栏控件状态栏控件 状态栏一般位于状态栏一般位于windowswindows窗体的底部,主要用来显示窗体的状窗体的底部,主要用来显示窗体的状态信息态信息。10.4 10.4 状态栏控件状态栏控件 可以为状态栏添加可以为状态栏添加StatusLabelStatusLabel、Progress

29、BarProgressBar、DropDownButtonDropDownButton、SplitButtonSplitButton。名称名称说明说明ToolStripStatusLabelToolStripStatusLabelStatusStrip StatusStrip 控件中的一个面板控件中的一个面板ToolStripDropDownButtonToolStripDropDownButton用户可以从中选择单个项用户可以从中选择单个项ToolStripSplitButtonToolStripSplitButton标准按钮和下拉菜单的一个两部分控件标准按钮和下拉菜单的一个两部分控件Too

30、lStripProgressBarToolStripProgressBar显示进程的完成状态显示进程的完成状态图标系统按钮标题栏控件10.5 10.5 窗窗 体体10.5.1 10.5.1 窗体的属性窗体的属性 属性说明ControlBoxControlBox 确定窗体是否有确定窗体是否有“控件控件/ /系统系统”菜单栏菜单栏FormBorderStyleFormBorderStyle 指定窗体的边框样式。指定窗体的边框样式。 HelpButtonHelpButton 确定窗体的标题栏上是否有确定窗体的标题栏上是否有“帮助帮助”按钮。注:如按钮。注:如果显示最大化或最小化框,则忽略果显示最大化

31、或最小化框,则忽略 HelpButton HelpButton 属属性的值性的值WindowStateWindowState 确定窗体的初始可视状态确定窗体的初始可视状态Fixed3D:固定的三维边框。 FixedDialog:固定的对话框样式的粗边框。 FixedSingle:固定的单行边框。 FixedToolWindow:不可调整大小的工具窗口边框。None:无边框。 Sizable:可调整大小的边框。 SizableToolWindow:可调整大小的工具窗口边框。10.5.2 10.5.2 窗体的方法和事件窗体的方法和事件 方法说明ShowShow方法方法该方法的作用是让窗体显示出来,

32、且该窗体是无模式窗体。该方法的作用是让窗体显示出来,且该窗体是无模式窗体。HideHide方法方法该方法的作用是把窗体隐藏出来。该方法的作用是把窗体隐藏出来。CloseClose方法方法该方法的作用是关闭窗体。该方法的作用是关闭窗体。ShowDialogShowDialog方法方法该方法的作用是将窗体显示为模式对话框。该方法的作用是将窗体显示为模式对话框。事件说明LoadLoad事件事件 该事件发生于该事件发生于FormForm窗体的加载时候。窗体的加载时候。 窗体和对话框要么是有模式的,要么是无模式的。窗体和对话框要么是有模式的,要么是无模式的。u“模式模式”窗体或对话框必须关闭或隐藏,然后

33、才能窗体或对话框必须关闭或隐藏,然后才能继续使用应用程序的其余部分。继续使用应用程序的其余部分。 u无模式窗体或对话框允许在不同窗口之间自由切换。无模式窗体或对话框允许在不同窗口之间自由切换。 10.5.2 10.5.2 窗体间数据传递窗体间数据传递 一个稍微复杂一点的程序一般都有二个或者更多一个稍微复杂一点的程序一般都有二个或者更多的窗体。有时在程序设计中,数据不仅要在同一个窗的窗体。有时在程序设计中,数据不仅要在同一个窗体中传递,还要在窗体间传递,这种传递是主窗体与体中传递,还要在窗体间传递,这种传递是主窗体与从窗体之间数据的互相传递。从窗体之间数据的互相传递。被调用的窗体类 窗体实例 =

34、 new 被调用的窗体类();窗体实例.Show(); private void button1_Click(object sender, EventArgs e) Form2 myform2 = new Form2(); myform2.Show(); 一个应用程序可能有多个窗体,若要在当前窗体中显一个应用程序可能有多个窗体,若要在当前窗体中显示另一窗体,可采用如下方法:示另一窗体,可采用如下方法:1 1、显示另外一个窗体、显示另外一个窗体功能描述:主窗体能够实时的向从窗体传送数据,表现为当更改主窗体中的文本框中的内容时,从窗体中定义的一个文本框能够显示出主窗体中文本框中的内容。实现思路:把

35、从窗体看成是主窗体的一个实例,加入到从窗体中的组件,可以看成是从窗体中定义的一个个变量,由于从窗体中加入的组件的组件缺省定义类型是Private(私有的),所以要想访问这些组件,必须改变为Public(共有的)。 2 2、向另外一个窗体传送数据、向另外一个窗体传送数据实现举例:现在有两个窗体:主窗体、从窗体,在主窗体中有两个文本框控件,要求在文本框控件中输入相应的内容后,点击“确定”按钮,从窗体显示出来,并在从窗体的文本框中将主窗体中用户输入的信息显示出来。2 2、向另外一个窗体传送数据、向另外一个窗体传送数据实现步骤:(1)创建一个Visual C#项目文件(2)在【Form1.cs】窗口中

36、,添加以下组件,并执行相应的操作: 二个TextBox组件 二个Label组件 一个Button组件(3)选择菜单【项目】|【添加Windows窗体】后,弹出【添加新项】对话框。在此对话框中的【名称(N):】文本框中输入【Form2】后,单击【添加】按钮,则在该项目中添加了一个新的窗体,名称为【Form2】。(4)把Visual Studio .Net的当前窗口切换到【Form2.cs(设计)】窗口,并从【工具箱】中的【Windows窗体】选项卡中拖入下列组件到【Form2.cs(设计)】窗体中,并执行相应操作: 一个TextBox组件,用以显示主窗体发送来的数据2 2、向另外一个窗体传送数据

37、、向另外一个窗体传送数据(5)把从窗体看成是主窗体的一个实例,下面代码是创建一个Form2类的实例myform2,即从窗体: private Form2 myform2 ; 注:此行代码应在主窗体(Form1)的类定义中添加(6)由于在主窗体中点击“确定”按钮后,需要对从窗体中文本框进行设置,所以要修改Form2.cs文件中TextBox组件的定义类型,把缺省定义为“private”类型修改为“public”类型,修改后的TextBox组件在Form2.cs中的定义语句如下: public System.Windows.Forms.TextBox textBox1; 注:此行代码应在从窗体(F

38、orm2)的类定义中修改(7)在主窗体的Button1的Click事件中填写以下代码: myform2 = new Form2(); myform2.Show(); myform2.textBox1.Text = “姓名:” + this.textBox1.Text + “rn” + “学号: + textBox2.Text;2 2、向另外一个窗体传送数据、向另外一个窗体传送数据 基于C#的Windows应用程序以窗体为基础。C#中窗体可分为单文档窗体和多文档窗体两类。单文档应用程序中所有的窗体都是平等的,窗体之间不存在层次关系。多文档应用程序(MDI)包含一个父窗口(也称为容器窗口)以及一个

39、或多个子窗体。3 3、多文档窗体(、多文档窗体(MDIMDI)多文档应用程序的特点u用户一次可以打开多个文档,每个文档对应不同的窗体;用户一次可以打开多个文档,每个文档对应不同的窗体;u容器窗体的菜单会自动随着当前活动窗体的子窗体的变化而变化;容器窗体的菜单会自动随着当前活动窗体的子窗体的变化而变化;u可以对子窗体进行层叠、平铺等各种操作;可以对子窗体进行层叠、平铺等各种操作;u子窗体可以在子窗体可以在MDIMDI容器窗体区域内定位、改变大小、最大化和最小化,容器窗体区域内定位、改变大小、最大化和最小化,当最大化子窗体时,它将占满窗体的全部客户区;当最大化子窗体时,它将占满窗体的全部客户区;u

40、所有子窗体都共享容器窗体的同一个工具栏和菜单栏;所有子窗体都共享容器窗体的同一个工具栏和菜单栏;u子窗体的一个限制是它们只能在容器窗体的边界内显示。子窗体的一个限制是它们只能在容器窗体的边界内显示。Form窗体中与MDI应用程序相关的属性和方法:uIsMdiContainerIsMdiContainer属性:该属性获取和设置窗体是否作为一个属性:该属性获取和设置窗体是否作为一个MDIMDI主主窗体(容器窗体)。窗体(容器窗体)。uMdiParentMdiParent属性:获取和设置此窗体的当前多文档界面(属性:获取和设置此窗体的当前多文档界面(MDIMDI)父窗)父窗体,利用此属性可以将一个普

41、通窗体定义为一个体,利用此属性可以将一个普通窗体定义为一个MDIMDI容器窗体的子窗容器窗体的子窗体,形成包含关系。体,形成包含关系。uLayoutMdiLayoutMdi方法:在方法:在MDIMDI父窗体内排列多文档界面(父窗体内排列多文档界面(MDIMDI)子窗体,)子窗体,以便更易于导航和操作以便更易于导航和操作MDIMDI子窗体。子窗体。MDIMDI子窗体可以在子窗体可以在MDIMDI父窗体内水父窗体内水平和垂直平铺、层叠或作为图标,其值为平和垂直平铺、层叠或作为图标,其值为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 对话框对话框 在在WindowsWindows系统中,应用程序如果需要用户选择一系统中,应用程序如果需要用户选择一个文件或者文件夹,通常都会弹出一个选择对话框。由个文件或者文件夹,通常都会弹出一个选择对话框。由于这些对话框的通用性,于这些对话框的通用性,C#C#提供了对话框控件来快速创提供了对话框控件来快速创建对话框。常用的控件有打开文件对话框、存储文件对建对话框。常用的控件有打开文件对话框、存储文件对话框、浏览文件对话框等。话框、浏览文件对话框等。 打开文件对话框控件(打开文件对话框控件(OpenFileDialogO

45、penFileDialog)是一个预先定义的)是一个预先定义的对话框类,包括显示样式和方法等。它与对话框类,包括显示样式和方法等。它与WindowsWindows中常见的中常见的“打打开文件开文件”对话框相同。在对话框相同。在WindowsWindows应用程序中可将该组件用作简应用程序中可将该组件用作简单的文件选择方案,快速创建用户所熟悉的应用程序。单的文件选择方案,快速创建用户所熟悉的应用程序。 可使用可使用ShowDialogShowDialog方法在运行时显示该对话框。方法在运行时显示该对话框。 注意:注意:使用使用OpenFileDialogOpenFileDialog控件,只能获取

46、要打开的文件路径,控件,只能获取要打开的文件路径,而文件的打开逻辑必须由程序员编写。而文件的打开逻辑必须由程序员编写。 10.6.1 10.6.1 打开文件对话框控件(打开文件对话框控件(OpenFileDialogOpenFileDialog) OpenFileDialog控件基本属性控件基本属性属性属性说明说明InitialDirectoryInitialDirectory对话框的初始目录对话框的初始目录FilterFilter要在对话框中显示的文件筛选器,例如,要在对话框中显示的文件筛选器,例如, 文本文件文本文件( (* *.txt)|.txt)|* *.txt|.txt|所所有文件有

47、文件( (* *. .* *)|)|* *. .* * FilterIndexFilterIndex在对话框中选择的文件筛选器的索引,如果选第一项就设为在对话框中选择的文件筛选器的索引,如果选第一项就设为1 1RestoreDirectoryRestoreDirectory控制对话框在关闭之前是否恢复当前目录,注:该属性仅对控制对话框在关闭之前是否恢复当前目录,注:该属性仅对 SaveFileDialog SaveFileDialog 有效;在有效;在 OpenFileDialog OpenFileDialog 上设置时不起任何作用。上设置时不起任何作用。FileNameFileName获取或

48、设置一个字符串,其中包含在文件对话框中选定的文件的完整获取或设置一个字符串,其中包含在文件对话框中选定的文件的完整路径。路径。 TitleTitle将显示在对话框标题栏中的字符将显示在对话框标题栏中的字符AddExtensionAddExtension获取或设置一个值,该值指示如果用户省略扩展名,文件对话框是否获取或设置一个值,该值指示如果用户省略扩展名,文件对话框是否自动在文件名中添加扩展名。自动在文件名中添加扩展名。 CheckPathExistsCheckPathExists在对话框返回之前,检查指定路径是否存在在对话框返回之前,检查指定路径是否存在DefaultExtDefaultEx

49、t默认扩展名默认扩展名ShowHelpShowHelp启用启用 帮助帮助 按钮按钮ValiDateNamesValiDateNames控制对话框检查文件名中是否不含有无效的字符或序列控制对话框检查文件名中是否不含有无效的字符或序列 创建一个窗体,在该窗体中添加一个创建一个窗体,在该窗体中添加一个TextBoxTextBox、一个按钮、一个按钮和一个和一个OpenFileDialogOpenFileDialog。单击按钮可以激活。单击按钮可以激活OpenFileDialogOpenFileDialog并选择文件,如果用户在选择对话框中确认了选择,则将选定并选择文件,如果用户在选择对话框中确认了选

50、择,则将选定的文件路径显示到的文件路径显示到TextBoxTextBox中。中。 private void button1_Click(object sender, EventArgs e) if (openFileDialog1.ShowDialog() = DialogResult.OK) textBox1.Text = openFileDialog1.FileName; 打开文件对话框(打开文件对话框(OpenFileDialogOpenFileDialog)应用实例)应用实例 存储文件对话框(存储文件对话框(SaveFileDialogSaveFileDialog)与)与Windows

51、Windows的的“保存文保存文件件”对话框相同。使用该控件可使用户能够选择保存文件的路对话框相同。使用该控件可使用户能够选择保存文件的路径,但是使用径,但是使用SaveFileDialogSaveFileDialog控件时,程序员必须编写文件保控件时,程序员必须编写文件保存逻辑。存逻辑。 与打开文件对话框类似,可使用与打开文件对话框类似,可使用ShowDialogShowDialog方法在运行时方法在运行时显示该对话框。显示该对话框。 10.6.2 10.6.2 存储文件对话框存储文件对话框 (SaveFileDialogSaveFileDialog) SaveFileDialog控件基本属

52、性控件基本属性属性属性说明说明Filter要在对话框中显示的文件筛选器,例如,要在对话框中显示的文件筛选器,例如,文本文件文本文件(*.txt)|*.txt|所有文所有文件件(*.*)|*.*FilterIndex在对话框中选择的文件筛选器的索引,如果选第一项就设为在对话框中选择的文件筛选器的索引,如果选第一项就设为1CheckPathExists在对话框返回之前,检查指定路径是否存在在对话框返回之前,检查指定路径是否存在DefaultExt缺省扩展名缺省扩展名FileName第一个在对话框中显示的文件或最后一个选取的文件第一个在对话框中显示的文件或最后一个选取的文件InitialDirect

53、or对话框的初始目录对话框的初始目录OverwritePrompt控制在将要在改写现在文件时是否提示用户,只有在控制在将要在改写现在文件时是否提示用户,只有在ValidateNames为为真值时,才适用真值时,才适用ShowHelp启用启用帮助帮助按钮按钮Title将显示在对话框标题栏中的字符将显示在对话框标题栏中的字符ValidateNames控制对话框检查文件名中是否不含有无效的字符或序列控制对话框检查文件名中是否不含有无效的字符或序列SaveFileDialog控件基本事件控件基本事件事件事件说明说明FileOkFileOk当用户点击当用户点击 打开打开 或或 保存保存 按钮时要处理的事

54、件按钮时要处理的事件HelpRequestHelpRequest当用户点击当用户点击 帮助帮助 按钮时要处理的事件按钮时要处理的事件 创建一个窗体,在该窗体中添加一个创建一个窗体,在该窗体中添加一个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 )应用实例)应用实例 浏览文件夹对话框(浏览文件夹对话框(FolderBrowserDialogFolderBrowserDialog)是用于浏览和选择文)是用于浏览和选择文件夹的模式对话框。件夹

56、的模式对话框。 与前面两个对话框一样,使用与前面两个对话框一样,使用ShowDialogShowDialog方法可在运行时显示方法可在运行时显示FolderBrowserDialogFolderBrowserDialog控件。控件。 10.6.3 10.6.3 浏览文件夹对话框(浏览文件夹对话框(FolderBrowserDialogFolderBrowserDialog) 创建一个窗体,在该窗体中添加一个创建一个窗体,在该窗体中添加一个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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论