版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章Windows窗体高级控件的使用本章要点选项卡控件菜单控件工具栏与状态栏控件窗体控件对话框控件在Windows应用程序中,选项卡用于将相关的控件集中在一起,放在一个页面中选项卡控件用于显示多个选项卡,其中每个选项卡均可包含图片和其他控件选项卡相当于另一个窗体,可以容纳其他控件10.1选项卡控件10.1.1选项卡控件的常用属性属性说明TabPagesTabControl中的选项卡页的集合MultiLine指定是否可以显示多行选项卡。如果可以显示多行选项卡,该值应为True,否则为False。默认值为FalseSelectedIndex当前所选选项卡页的索引值。该属性的值为当前所选选项卡页的基于0的索引。默认值为-1,如果未选定选项卡页,则为同一值ShowToolTips指定在鼠标移至选项卡时,是否应显示该选项卡的工具提示。如果对带有工具提示的选项卡显示工具提示,该值应为True,否则为FalseTabCount检索选项卡控件中选项卡的数目事件说明SelectedIndexChanged更改SelectedIndex属性值时,将触发该事件10.1.2选项卡控件的常用事件10.1.3选项卡控件的操作实例10.1.3选项卡控件的操作实例
privatevoidbutton3_Click(objectsender,EventArgse)//“下一步”{tabControl1.SelectedIndex+=1;}privatevoidbutton1_Click(objectsender,EventArgse)//“上一步”{tabControl1.SelectedIndex-=1;}privatevoidbutton2_Click(objectsender,EventArgse)//“下一步”{tabControl1.SelectedIndex+=1;}privatevoidbutton4_Click(objectsender,EventArgse)//“上一步”{tabControl1.SelectedIndex-=1;}privatevoidbutton7_Click(objectsender,EventArgse)//“上一步”{tabControl1.SelectedIndex-=1;}privatevoidbutton6_Click(objectsender,EventArgse)//“确定”{if(DialogResult.Yes==MessageBox.Show("真的确定吗?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question))this.Close();}10.1.3选项卡控件的操作实例privatevoidbutton5_Click(objectsender,EventArgse)//”完成”{tabControl1.SelectedIndex+=1;stringname=textBox1.Text;stringsex;if(radioButton1.Checked)sex=radioButton1.Text;elsesex=radioButton2.Text;stringphone=textBox2.Text;stringfathername=textBox3.Text;stringmathername=textBox4.Text;stringhomepone=textBox5.Text;stringdepartment=comboBox1.Text;textBox6.Text="姓名:"+name+"\r\n\r\n"+"性别:"+sex+"\r\n\r\n"+"电话:"+phone+"\r\n\r\n"+"父亲姓名:"+fathername+"\r\n\r\n"+"母亲姓名:"+mathername+"\r\n\r\n"+"家庭电话:"+homepone+"\r\n\r\n"+"所属院系:"+department;}菜单提供了将命令分组的一致方法用户易于访问支持使用访问键启用键盘快捷方式一个菜单可以带有若干子菜单菜单是程序中显示一个选项列表的图形元素10.2菜单和菜单组件
MenuStrip控件主要用于生成所在窗体的主菜单。在设计窗体中添加该控件后,会在窗体上显示一个菜单栏,可以直接在此菜单栏上编辑各主菜单项及对应的子菜单项。10.2.1
MenuStrip控件编辑各菜单项内容时,可以用符号“&”指定该菜单项的组合键,让其后的字母带下划线显示,如编辑菜单项“文件(&F)”,则会显示为“文件(F)”,意思是可以直接用“Alt+F”组合键实现与单击该菜单项相同的功能;用符号“-”可以在菜单中显示各项之间的分隔条。10.2.1
MenuStrip控件(1)AllowItemReorder:当程序运行时,按下<Alt>键是否允许改变各菜单项的左右排列顺序。(2)Dock:指示菜单栏在窗体中出现的位置,默认值为Top。(3)Items:用于编辑菜单栏上显示的各菜单项。单击[Items]属性后[…]按钮,弹出[项集合编辑器]对话框。MenuStrip控件的基本属性(1)Checked:指示菜单项是否被选中。默认值为false。(2)CheckOnClick:决定单击菜单项时是否使其选中状态发生改变。(3)CheckState:指示菜单项的状态。(4)DisplayStyle:指示菜单项上的显示内容。共有4个属性值:None、Text、Image和ImageAndText,分别表示不显示任何内容、仅显示文本、仅显示图标、同时显示文本和图标。默认值为ImageAndText。(5)DropDownItems:单击该属性后的[…]按钮,调出[项集合编辑器]对话框,以此编辑该菜单项对应得子菜单中的各菜单项。MenuItem菜单项的基本属性(6)Image:指定在该菜单项上显示的图标。(7)ShortcutScaling:为菜单项指定的快捷键。(8)ShowShortCutKeys:指示是否在菜单项上显示快捷键。MenuItem菜单项的基本属性ItemClicked事件:当单击菜单栏上各主菜单项时触发的操作。MenuStrip控件的常用事件Click事件:单击菜单项时触发。MenuItem菜单项的常用事件菜单控件的操作实例
privatevoid新建ToolStripMenuItem_Click(objectsender,EventArgse){textBox1.Visible=true;textBox1.Text="微软公司对C#的定义是:“C#是一种类型安全的、现代的、简单的,由c和c++衍生出来的面向对象的编程语言,它是牢牢根植于C和C++语言之上的,并可立即被C和C++开发人员所熟悉。C#的目的就是综合VisualBasic的高生产率和C++的行动力。”";}privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse){textBox1.Clear();textBox1.Visible=false;}privatevoid宋体ToolStripMenuItem1_Click(objectsender,EventArgse){textBox1.Font=newFont("宋体",textBox1.Font.Size,textBox1.Font.Style);}privatevoid隶书ToolStripMenuItem1_Click(objectsender,EventArgse){textBox1.Font=newFont("隶书",textBox1.Font.Size,textBox1.Font.Style);}
privatevoid楷体ToolStripMenuItem_Click(objectsender,EventArgse){textBox1.Font=newFont("楷体_GB2312",textBox1.Font.Size,textBox1.Font.Style);}privatevoid一号ToolStripMenuItem_Click(objectsender,EventArgse){textBox1.Font=newFont(textBox1.Font.Name,26.25f,textBox1.Font.Style);}privatevoid三号ToolStripMenuItem_Click(objectsender,EventArgse){textBox1.Font=newFont(textBox1.Font.Name,15.75f,textBox1.Font.Style);}privatevoid五号ToolStripMenuItem_Click(objectsender,EventArgse){textBox1.Font=newFont(textBox1.Font.Name,9f,textBox1.Font.Style);}
privatevoid加粗ToolStripMenuItem_Click(objectsender,EventArgse){if(加粗ToolStripMenuItem.Checked){textBox1.Font=newFont(textBox1.Font.Name,textBox1.Font.Size,textBox1.Font.Style|FontStyle.Bold);}else{textBox1.Font=newFont(textBox1.Font.Name,textBox1.Font.Size,textBox1.Font.Style&~FontStyle.Bold);}}privatevoid倾斜ToolStripMenuItem_Click(objectsender,EventArgse){if(倾斜ToolStripMenuItem.Checked){textBox1.Font=newFont(textBox1.Font.Name,textBox1.Font.Size,textBox1.Font.Style|FontStyle.Italic);}else{textBox1.Font=newFont(textBox1.Font.Name,textBox1.Font.Size,textBox1.Font.Style&~FontStyle.Italic);}}privatevoid下划线ToolStripMenuItem_Click(objectsender,EventArgse){if(下划线ToolStripMenuItem.Checked){textBox1.Font=newFont(textBox1.Font.Name,textBox1.Font.Size,textBox1.Font.Style|FontStyle.Underline);}else{textBox1.Font=newFont(textBox1.Font.Name,textBox1.Font.Size,textBox1.Font.Style&~FontStyle.Underline);}}
ContextMenuStrip控件的功能是制作右键快捷菜单。注意:该控件是用于为其他控件服务的,不能单独使用。
当向窗体中添加一个ContextMenuStrip控件,会在窗体顶端出现与MenuStrip控件相似的菜单栏,但是不能在菜单栏上添加任何菜单项,只能在子菜单中编辑各菜单项。编辑完成的ContextMenuStrip控件需要在窗体或相关控件的[ContextMenuStrip]属性中与其建立关联,才可以在程序运行时用鼠标右键单击对应控件,弹出该快捷菜单。10.2.2
ContextMenuStrip控件Items:用于编辑快捷菜单上的各菜单项。其编辑方式与MenuStrip控件的菜单项编辑相似,都是调用[项集合编辑器]对话框来生成菜单项的。ContextMenuStrip控件的基本属性(1)ItemClicked事件:快捷菜单中的任何一个菜单项被单击时触发的操作。ContextMenuStrip控件的基本事件ContextMenuStrip控件的操作实例10.3工具栏控件工具栏实际上可以看成是菜单项的快捷方式,工具栏上的每一个工具项都应有对应的菜单项,在工具箱中双击ToolStrip控件,可在窗体上添加一个ToolStrip控件。可以在工具栏中添加按钮、文本、左侧标准按钮和右侧下拉按钮的组合、下拉菜单、垂直线或水平线、文本框和进度条。10.3工具栏控件ToolStrip控件及其派生类被设计成一个灵活的可扩展系统,以显示工具栏、状态和菜单项。控件名称说明ToolStripButton可以创建一个支持文本和图像的工具栏按钮ToolStripLabel创建一个标签ToolStripSplitButton左侧标准按钮和右侧下拉按钮的组合ToolStripDropDownButton可以创建一个下拉列表ToolStripComboBox可以创建一个组合框ToolStripSeparator直线,可以对菜单或ToolStrip上的相关项进行分组ToolStripTextBox文本框,用户可以在此输入文本ToolStripProgressBarWindows进度栏工具栏控件使用实例10.4状态栏控件状态栏一般位于windows窗体的底部,主要用来显示窗体的状态信息。10.4状态栏控件可以为状态栏添加StatusLabel、ProgressBar、DropDownButton、SplitButton。名称说明ToolStripStatusLabelStatusStrip控件中的一个面板ToolStripDropDownButton用户可以从中选择单个项ToolStripSplitButton标准按钮和下拉菜单的一个两部分控件ToolStripProgressBar显示进程的完成状态图标系统按钮标题栏控件10.5窗体10.5.1窗体的属性
属性说明ControlBox确定窗体是否有“控件/系统”菜单栏FormBorderStyle指定窗体的边框样式。HelpButton确定窗体的标题栏上是否有“帮助”按钮。注:如果显示最大化或最小化框,则忽略HelpButton属性的值WindowState确定窗体的初始可视状态Fixed3D:固定的三维边框。
FixedDialog:固定的对话框样式的粗边框。
FixedSingle:固定的单行边框。
FixedToolWindow:不可调整大小的工具窗口边框。None:无边框。
Sizable:可调整大小的边框。
SizableToolWindow:可调整大小的工具窗口边框。10.5.2窗体的方法和事件
方法说明Show方法该方法的作用是让窗体显示出来,且该窗体是无模式窗体。Hide方法该方法的作用是把窗体隐藏出来。Close方法该方法的作用是关闭窗体。ShowDialog方法该方法的作用是将窗体显示为模式对话框。事件说明Load事件该事件发生于Form窗体的加载时候。窗体和对话框要么是有模式的,要么是无模式的。“模式”窗体或对话框必须关闭或隐藏,然后才能继续使用应用程序的其余部分。无模式窗体或对话框允许在不同窗口之间自由切换。10.5.2窗体间数据传递一个稍微复杂一点的程序一般都有二个或者更多的窗体。有时在程序设计中,数据不仅要在同一个窗体中传递,还要在窗体间传递,这种传递是主窗体与从窗体之间数据的互相传递。[被调用的窗体类][窗体实例]=new[被调用的窗体类]();[窗体实例].Show();privatevoidbutton1_Click(objectsender,EventArgse){Form2myform2=newForm2();myform2.Show();}一个应用程序可能有多个窗体,若要在当前窗体中显示另一窗体,可采用如下方法:
1、显示另外一个窗体功能描述:主窗体能够实时的向从窗体传送数据,表现为当更改主窗体中的文本框中的内容时,从窗体中定义的一个文本框能够显示出主窗体中文本框中的内容。实现思路:把从窗体看成是主窗体的一个实例,加入到从窗体中的组件,可以看成是从窗体中定义的一个个变量,由于从窗体中加入的组件的组件缺省定义类型是Private(私有的),所以要想访问这些组件,必须改变为Public(共有的)。2、向另外一个窗体传送数据实现举例:现在有两个窗体:主窗体、从窗体,在主窗体中有两个文本框控件,要求在文本框控件中输入相应的内容后,点击“确定”按钮,从窗体显示出来,并在从窗体的文本框中将主窗体中用户输入的信息显示出来。2、向另外一个窗体传送数据实现步骤:(1)创建一个VisualC#项目文件(2)在【Form1.cs】窗口中,添加以下组件,并执行相应的操作:二个TextBox组件二个Label组件一个Button组件(3)选择菜单【项目】|【添加Windows窗体】后,弹出【添加新项】对话框。在此对话框中的【名称(N):】文本框中输入【Form2】后,单击【添加】按钮,则在该项目中添加了一个新的窗体,名称为【Form2】。(4)把VisualStudio.Net的当前窗口切换到【Form2.cs(设计)】窗口,并从【工具箱】中的【Windows窗体】选项卡中拖入下列组件到【Form2.cs(设计)】窗体中,并执行相应操作:
一个TextBox组件,用以显示主窗体发送来的数据2、向另外一个窗体传送数据(5)把从窗体看成是主窗体的一个实例,下面代码是创建一个Form2类的实例myform2,即从窗体:
privateForm2myform2
;
注:此行代码应在主窗体(Form1)的类定义中添加(6)由于在主窗体中点击“确定”按钮后,需要对从窗体中文本框进行设置,所以要修改Form2.cs文件中TextBox组件的定义类型,把缺省定义为“private”类型修改为“public”类型,修改后的TextBox组件在Form2.cs中的定义语句如下:
publicSystem.Windows.Forms.TextBoxtextBox1;
注:此行代码应在从窗体(Form2)的类定义中修改(7)在主窗体的Button1的Click事件中填写以下代码:
myform2=newForm2();myform2.Show();myform2.textBox1.Text=“姓名:”+this.textBox1.Text+“\r\n”+“学号:"+textBox2.Text;2、向另外一个窗体传送数据基于C#的Windows应用程序以窗体为基础。C#中窗体可分为单文档窗体和多文档窗体两类。单文档应用程序中所有的窗体都是平等的,窗体之间不存在层次关系。多文档应用程序(MDI)包含一个父窗口(也称为容器窗口)以及一个或多个子窗体。3、多文档窗体(MDI)多文档应用程序的特点用户一次可以打开多个文档,每个文档对应不同的窗体;容器窗体的菜单会自动随着当前活动窗体的子窗体的变化而变化;可以对子窗体进行层叠、平铺等各种操作;子窗体可以在MDI容器窗体区域内定位、改变大小、最大化和最小化,当最大化子窗体时,它将占满窗体的全部客户区;所有子窗体都共享容器窗体的同一个工具栏和菜单栏;子窗体的一个限制是它们只能在容器窗体的边界内显示。Form窗体中与MDI应用程序相关的属性和方法:IsMdiContainer属性:该属性获取和设置窗体是否作为一个MDI主窗体(容器窗体)。MdiParent属性:获取和设置此窗体的当前多文档界面(MDI)父窗体,利用此属性可以将一个普通窗体定义为一个MDI容器窗体的子窗体,形成包含关系。LayoutMdi方法:在MDI父窗体内排列多文档界面(MDI)子窗体,以便更易于导航和操作MDI子窗体。MDI子窗体可以在MDI父窗体内水平和垂直平铺、层叠或作为图标,其值为Mdilayout枚举值之一。3、多文档窗体(MDI)多文档窗体(MDI)举例多文档窗体(MDI)举例
privatevoid加载窗体ToolStripMenuItem_Click(objectsender,EventArgse){Form2frm2=newForm2();frm2.MdiParent=this;frm2.Show();Form3frm3=newForm3();frm3.MdiParent=this;frm3.Show();Form4frm4=newForm4();frm4.MdiParent=this;frm4.Show();}privatevoid水平平铺ToolStripMenuItem_Click(objectsender,EventArgse){LayoutMdi(MdiLayout.TileHorizontal);}privatevoid垂直平铺ToolStripMenuItem_Click(objectsender,EventArgse){LayoutMdi(MdiLayout.TileVertical);}privatevoid层叠排列ToolStripMenuItem_Click(objectsender,EventArgse){LayoutMdi(MdiLayout.Cascade);}10.6对话框
在Windows系统中,应用程序如果需要用户选择一个文件或者文件夹,通常都会弹出一个选择对话框。由于这些对话框的通用性,C#提供了对话框控件来快速创建对话框。常用的控件有打开文件对话框、存储文件对话框、浏览文件对话框等。
打开文件对话框控件(OpenFileDialog)是一个预先定义的对话框类,包括显示样式和方法等。它与Windows中常见的“打开文件”对话框相同。在Windows应用程序中可将该组件用作简单的文件选择方案,快速创建用户所熟悉的应用程序。
可使用ShowDialog方法在运行时显示该对话框。
注意:使用OpenFileDialog控件,只能获取要打开的文件路径,而文件的打开逻辑必须由程序员编写。10.6.1打开文件对话框控件(OpenFileDialog)
OpenFileDialog控件基本属性属性说明InitialDirectory对话框的初始目录Filter要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"FilterIndex在对话框中选择的文件筛选器的索引,如果选第一项就设为1RestoreDirectory控制对话框在关闭之前是否恢复当前目录,注:该属性仅对SaveFileDialog有效;在OpenFileDialog上设置时不起任何作用。FileName获取或设置一个字符串,其中包含在文件对话框中选定的文件的完整路径。
Title将显示在对话框标题栏中的字符AddExtension获取或设置一个值,该值指示如果用户省略扩展名,文件对话框是否自动在文件名中添加扩展名。
CheckPathExists在对话框返回之前,检查指定路径是否存在DefaultExt默认扩展名ShowHelp启用"帮助"按钮ValiDateNames控制对话框检查文件名中是否不含有无效的字符或序列
创建一个窗体,在该窗体中添加一个TextBox、一个按钮和一个OpenFileDialog。单击按钮可以激活OpenFileDialog并选择文件,如果用户在选择对话框中确认了选择,则将选定的文件路径显示到TextBox中。
privatevoidbutton1_Click(objectsender,EventArgse){if(openFileDialog1.ShowDialog()==DialogResult.OK)textBox1.Text=openFileDialog1.FileName;}打开文件对话框(OpenFileDialog)应用实例存储文件对话框(SaveFileDialog)与Windows的“保存文件”对话框相同。使用该控件可使用户能够选择保存文件的路径,但是使用SaveFileDialog控件时,程序员必须编写文件保存逻辑。
与打开文件对话框类似,可使用ShowDialog方法在运行时显示该对话框。10.6.2存储文件对话框(SaveFileDialog)
SaveFileDialog控件基本属性属性说明Filter要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"FilterIndex在对话框中选择的文件筛选器的索引,如果选第一项就设为1CheckPathExists在对话框返回之前,检查指定路径是否存在DefaultExt缺省扩展名FileName第一个在对话框中显示的文件或最后一个选取的文件InitialDirector对话框的初始目录OverwritePrompt控制在将要在改写现在文件时是否提示用户,只有在ValidateNames为真值时,才适用ShowHelp启用"帮助"按钮Title将显示在对话框标题栏中的字符ValidateNames控制对话框检查文件名中是否不含有无效的字符或序列SaveFileDialog控件基本事件事件说明FileOk当用户点击"打开"或"保存"按钮时要处理的事件HelpRequest当用户点击"帮助"按钮时要处理的事件
创建一个窗体,在该窗体中添加一个TextBox、一个按钮和一个SaveFileDialog。单击“浏览”按钮可以激活SaveFileDialog并选择文件存储路径,如果用户在选择对话框中确认了选择,则将选定的文件路径显示到TextBox中。
privatevoidbutton1_Click(objectsender,EventArgse){if(saveFileDialog1.ShowDialog()==DialogResult.OK)textBox1.Text=saveFileDialog1.FileName;}存储文件对话框(SaveFileDialog)应用实例浏览文件夹对话框(FolderBrowserDialog)是用于浏览和选择文件夹的模式对话框。
与前面两个对话框一样,使用ShowDialog方法可在运行时显示FolderBrowserDialog控件。
10.6.3浏览文件夹对话框(FolderBrowserDialog)
创建一个窗体,在该窗体中添加一个TextBox、一个按钮和一个FolderBrowserDialog。单击“浏览”按钮可以激活FolderBrowserDialog并选择文件夹路径,如果用户在选择对话框中确认了选择,则将选定的文件路径显示到TextBox中。
privatevoidbutton3_Click(objectsender,E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度房地产项目担保合同标准范本3篇
- 2024年度企业专项人力资源派遣服务合同3篇
- 2024中介服务专业版二手房买卖合同范本3篇
- 2024年房产居中代理协议
- 2024年度消防设施安装调试合同范本492323篇
- 2024年度供应链金融担保履约保证协议3篇
- 2024年度企业担保合同变更及转让操作规范3篇
- 2024年度绿色建材认证地板砖批发合同范本3篇
- 2024年电子商务师专业实务及理论知识考试题库与答案
- 进口稻草出售合同范例
- 2024年7月国家开放大学法学本科《知识产权法》期末考试试题及答案
- 北京市西城区2022-2023学年六年级上学期数学期末试卷(含答案)
- 2024秋期国家开放大学本科《经济学(本)》一平台在线形考(形考任务1至6)试题及答案
- 2019年最新部编版四年级语文上册第七单元达标检测卷含答案(新版)
- 年处理500吨玄参提取车间初步设计
- 数学专业英语论文含中文版
- 浅谈演出公司的组织结构设置
- 2006年度银行业金融机构信息科技风险评价审计要点(共5页)
- 资产负债表、业务活动表(民非)
- 《土地利用规划》简答题复习
- 继电保护误动事故的处理.ppt
评论
0/150
提交评论