版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、考虑windows控件时主要考虑控件的属性和事件,事件一般对应有个方法,方法.而属性一般为:名字,文字,外观,是否有效(选中),是否可视等等.一、常用控件1 单选按钮(RadioButton)单选按钮也叫选项按钮,为用户提供从多个选项中选择一个选项的功能,因此单选按钮顾名思义是一种“多选一”的控件。 章节目录上一页下一页第4章 window窗体开发(1)RadioButton控件的常用属性 Checked属性 该属性用来设置或返回单选按钮是否被选中。 Text属性:显示文字 AutoCheck属性 如果AutoCheck属性被设置为true(默认),那么当选择该单选按钮时,将自动清除该组中所有
2、其他单选按钮。 (2)RadioButton控件的常用事件 Click事件 当单击单选按钮时,将把单选按钮的Checked属性值设置为true,同时发生Click事件。 CheckedChanged事件 当Checked属性值更改时,将触发CheckedChanged事件。2 复选按钮(CheckBox)复选框顾名思义可以同时选中多个选项,也就是说用户可以在窗口同时选中多个复选框,这是其和单选按钮的区别。(1)常用的属性: Text属性:显示文字 Checked属性:该属性值用来设置或返回复选框是否被选中. CheckState属性 该属性用来设置或返回复选框的状态。 ThreeState属性
3、 该属性用来返回或设置复选框是否能表示三种状态 (选中,不选中,中间).(默认为false,只有两种状态)章节目录上一页下一页(2)CheckBox控件的常用事件 CheckBox控件的常用事件有Click和CheckedChanged等,其含义及触发时机与单选按钮完成一致。 3.使用分组框控件(GroupBox) 分组框(GroupBox)控件也是一种容器类控件,在分组框控件内部的控件可以随分组框一起移动,并且受到分组框控件某些属性(Visible、Enabled)的控制。 在多数情况下不需响应分组框控件的事件。 需要修改的通常是分组框控件的Text或Font属性。例4-1 4-2 4-34
4、 列表框(ListBox) ListBox控件为用户提供了选项的列表,用户可以从列表中进行选择输入。如果项目数目超过列表框可显示的数目,控件上将自动出现滚动条,它是一种规范输入的好工具。(1). 列表框的常用属性、方法和事件P112-113(2)基本事件 Click和DoubleClick章节目录上一页下一页常用方法:若要在 ListBox 控件中添加或删除项,可使用 ListBox1.Items.Add(项)或者在设计时使用Items属性向列表添加项。.Items.Insert(位置,项).Items.Clear ()或 .Items.Remove(ListBox1.SelectedItem
5、) 方法。其中listBox1.Items.Count为列表框中的项目数,而listBox1.SelectedItems.Count为选中的项目数(多选时)listBox1.SelectedIndex为选中项的序号,值为-1时代表什么都没选listBox1.Text;/listBox1.SelectedItem.Tostring()为选中项;例4.45 组合框(ComboBox) 组合框是一个文本框和一个列表框的组合。与列表框不同的是列表框只能在给定的列表项中选择,而组合框除了可在给定的列表项中选择还可以直接在文本框中输入有三种不同的风格:通过DropDownStyle属性设置(1)下拉组合:
6、 DropDownStyle属性:DropDown,为文本框+下拉列表(2)简单组合:DropDownStyle属性:Simple,为文本框+下拉列表,但列表框不展开收拢(3)下拉式列表DropDownStyle属性:DropDownList,只有列表框展开收拢,无文本框常用属性和事件与列表框基本相同 如comboBox1.Items.Add增加项目 comboBox1.Items.Remove移走项目 日历控件1.日历控件MonthCalendar 常用属性P118,如选中日期显示在标签中,可用 label1.Text = monthCalendar1.SelectionStart.ToSt
7、ring();改变日历的显示日期,可用 monthCalendar1.SelectionStart =DateTime.Parse( textBox1.Text);,例4.52.日历控件DateTimePicker常用属性P119,还可以显示具体的时间,由Format属性设置例4.6时钟(计时)控件TimerTimer控件主要的作用是每间隔一定时间就执行一段指定的代码。(1)主要用到的属性:Enabled:主要是控制当前Timer控件是否可用,如:timer1.Enabled=false;不可用timer1.Enabled=true;可用Interval:程序运行间隔的时间,如:Timer1.
8、Interval=1000;主要是设置timer1_Tick事件的时间,单位为毫秒(2)主要的方法与事件Start()方法:开始启动Timer控件,如timer1.Start();它的作用与timer1.Enabled=true相当。Stop()方法:停止使用Timer控件。如timer1.Stop ();它的作用与timer1.Enabled=False相当。例4.7 红绿灯 二、菜单和工具栏 例4.81.菜单设计:下拉菜单MenuStrip控件MenuStrip控件(MainMenu控件)从工具箱的“菜单和工具栏”选项卡中拖动到窗体上,就会出现菜单编辑器,重要属性P124,基本事件Clic
9、k(1) 添加主菜单新建一个Windows应用程序,在工具箱中双击MenuStrip控件或者用鼠标拖放到窗体上,则在窗体的顶部将添加一个菜单,如图所示。 章节目录上一页下一页(2) 添加子菜单在图10-1中,单击菜单中“请在此输入”,输入该菜单项的名称为的为“文件”,建立文件子菜单项;然后在该菜单项的下方显示一个标注为“请在此输入”区域,一个位于该菜单项的右方显示标注为“请在此输入”区域,可以选择区域继续添加。 (3) 移动菜单项选中要移动的菜单项,是用鼠标拖动到相应的位置即可。(4). 添加快捷键 在菜单文本中输入“&”符号,为菜单项添加Alt访问键。例如,主菜单项“File(&F)” 为菜
10、单项添加快捷键。设置菜单项的ShortcutKeys属性。菜单中每一个选项为一个 toolStripMenuItem对象 如NewtoolStripMenuItem等之类即为菜单中的每一项, 常用的属性:()Checked属性:选中标记是否出现。()MergeAction:用于父子菜单,有append,insert等 菜单事件 建立菜单后,往往要求菜单实现相应的事件处理功能,一般通过菜单项Click事件处理相应的功能,即通过单击菜单项实现程序功能的交互。该事件在以下几种情况下发生:单击菜单项、使用该菜单项相应的快捷键、使用键盘操作时按回车键。章节目录上一页下一页(5). 添加分隔线可以通过输入
11、“-”作为菜单文本,来为菜单项之间加上分隔线。(6). 编辑菜单项 删除菜单项:可以选中该菜单项,然后按Del键。 在某一个菜单项前面插入另一个菜单项:右击菜单项,在快捷菜单中选择【插入】|【MenuItem】。2 弹出式菜单ContextMenuStrip的设计 弹出式菜单也称为上下文菜单,弹出式菜单能以更加灵活的方式为用户提供更加便利的操作,当用户在不同位置单击鼠标右键,则将显示一组不同的菜单项。 在C#中,使用工具箱中的ContextMenuStrip1控件很容易实现弹出式菜单的设计。方法: 从工具箱中拖放一个ContextMenuStrip1控件到窗体上,设计相应的子菜单项。其属性与主
12、菜单基本相同。弹出式菜单控件需要和别的控件结合使用。例如:与文本框结合时,要在文本框的属性ContextMenuStrip中选中该弹出式菜单,运行时,右击鼠标即可产生弹出该菜单。章节目录上一页下一页下面再介绍richTextBox1控件RichTextBox控件不仅允许输入和编辑文本,同时还提供了标准 TextBox 控件具有的、更高级的指定格式的许多功能。 可以使用控件的方法(LoadFile 和 SaveFile) 下面是打开文件 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); 下面是复制、剪切、粘贴等richTextBox1.Copy(); richTextBox1.Cut(); richTextBox1.Paste();下面是字体设置 richTextBox1.SelectionFont=new Font(
14、黑体, richTextBox1.Font.Size);下面是字号设置richTextBox1.SelectionFont= new Font(richTextBox1.SelectionFont.FontFamily,28);下面是颜色设置 richTextBox1.SelectionColor = Color.Red;复习上次课主要内容1.菜单MenuStrip控件添加快捷键, 在菜单文本中输入“&”,例如File(&F) 设置菜单项的ShortcutKeys属性。添加分隔线,“-” 菜单里面每一项为toolStripMenuItem2. richTextBox控件打开与保存文件:Load
15、File SaveFile (openFile, RichTextBoxStreamType.PlainText);复制、剪切、粘贴richTextBox1.Copy(); richTextBox1.Cut(); richTextBox1.Paste();字体、字号、颜色:richTextBox1.SelectionFont=new Font(黑体, richTextBox1.Font.Size);richTextBox1.SelectionFont= new Font(richTextBox1.SelectionFont.FontFamily,28);richTextBox1.Selecti
16、onColor = Color.Red;3.对话框openFileDialog, SaveFileDialog4.弹出式菜单ContextMenuStrip 注意:某个控件绑定必须在ContextMenuStrip属性中绑定该控件才能用3 工具栏的设计ToolStrip控件 工具栏是Windows的标准特性,通过使用工具栏,能改善软件界面的布局,达到快速实现相应功能的目的。一般情况下,工具栏可以实现与菜单相似的效果。在.NET的C#中使用toolStrip类实现工具栏的设计。(1) 工具栏的创建方法建立一个Windows应用程序,创建相应的程序。在指定的窗体上添加工具栏步骤如下: 在“工具箱”
17、中双击toolStrip控件,在窗体的顶部显示一个放置toolStrip的容器控件。然后可以插入标准项,或通过编辑项(edit item)添加工具栏按钮,并设计 toolStrip的属性,如添加各工具栏的Image,编写代码等.还可以右击某个按钮,在弹出的菜单中选标签、分隔条等。可以点击其上方的三角形进行插入标准控件 在该控件中添加工具按钮。选中工具栏,在该属性” items” 中可以添加各种控件,单击添加按钮,弹出如图10-2所示的集合编辑器。在集合编辑器中添加按钮并设置相应的属性。章节目录上一页下一页图10-4 Toolstrip集合编辑器每一个按钮都可以与普通按钮是一样的,主要事件是Cl
18、ick,双击它就可以写代码。另外,菜单、工具栏中的控件,窗体上的按钮可以共用代码,相同功能的设置,只需在一个地方写代码就可以了,其它地方用到相同的代码,只需在事件Click中选择在此之前写好代码的其它控件或菜单的点击事件方法即可。 给工具栏中的toolBarButton控件添加代码实现功能。 章节目录上一页下一页ImageList控件与工具栏结合是一个相同尺寸和颜色深度的图像集合 为ImageList控件添加图像的步骤:(1)在窗体上,添加一个ImageList控件;(2)在属性窗口中,选择Images属性;(3)单击 “”按钮,弹出“图像集合编辑器”对话框。 设置工具按钮的图像void Fo
19、rm1_Load(object sender, EventArgs e)/把ImageList控件赋值给工具栏的ImageList属性 toolStrip1.ImageList = imageList1;/给各个工具栏按钮的ImageIndex属性赋值/为ImageList中的图像的索引 toolStripButton1.ImageIndex = 0; /第一个按钮图片的序号 toolStripButton2.ImageIndex = 1; toolStripButton3.ImageIndex = 2; /也可以直接用下面语句加载图片 toolStripButton1.Image = ima
20、geList1.Images0; toolStripButton2.Image = imageList1.Images1; 例: 编写toolBar_ButtonClick事件工具栏中按钮的事件不是通过具体按钮的单击实现的,是通过工具栏的单击事件实现的。通过下例描述。根据工具栏中的按钮改变标签中的文字,如图10-3所示。章节目录上一页下一页图10-3 工具栏的使用29该题的工具栏单击事件的代码如下。 private void toolStripButton1_Click(object sender, EventArgs e) label1.Text = 滚滚长江东逝水,浪花淘尽英雄。是非成败转
21、头空,几度夕阳红。; private void toolStripButton2_Click(object sender, EventArgs e) label1.Text=春眠不觉晓,处处闻啼鸟,夜来风雨声,花落知多少。; private void toolStripButton3_Click(object sender, EventArgs e) label1.Text=少壮不努力,老大图悲伤。; 章节目录上一页下一页再声明一点:工具栏中按钮往往实现和菜单中选项相同的功能,这种情况下,只需在一个地方(如菜单)写代码就可以了,其它地方(如工具栏按钮)用到相同的代码,只需在属性栏的事件选项卡中
22、的Click事件选择在此之前写好代码的其它控件或菜单的点击事件方法即可。章节目录上一页下一页补充: 状态栏的设计 状态栏的创建在C#.NET 2.0版本中,用StatusStrip控件。在Windows的应用程序中,利用设计器打开要创建状态栏的窗体。然后添加状态栏,添加过程如下:() 在工具箱的Windows选项中双击StatusStrip控件,在窗体上显示一个状态栏。() 在StatusStrip控件的属性items中进行添加StripStatusLabel项()添加完上述项后,每一个StripStatusLabel项与标签label的用法一样()为了让两个StripStatusLabel之
23、间分隔好看,可设每个StripStatusLabel的属性BordSide:left章节目录上一页下一页例如:在状态栏中显示时间先加入Timer控件,并设置间隔时间及有效,然后在Timer控件的事件中加入代码: toolStripStatusLabel2.Text = DateTime.Now.ToLongTimeString();三、通用对话框 这些按钮不直接在窗体显示,而在窗体下方专用板中。用ShowDialog方法显示,一般要确认一下。1. 打开文件对话框(OpenFileDialog)在C中的选择文件对话框控件用OpenFileDialog,常用的属性P131.例:if (openFi
24、leDialog1.ShowDialog () = DialogResult.OK ) MyRTBox.LoadFile (openFileDialog1.FileName ,RichTextBoxStreamType.PlainText );MyStatus.Text = 打开文件;章节目录上一页下一页2. 保存文件对话框( SaveFileDialog ) 在C中创建一个保存文件对话框是通过SaveFileDialog来实现的。下列代码是创建一个此类的对象:SaveFileDialog saveFileDialog1 = new SaveFileDialog ( ) ;例:if (save
25、FileDialog1.ShowDialog () = = DialogResult.OK ) MyRTBox.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);章节目录上一页下一页3 字体对话框(fontDialog)文本的显示要使用一定的风格,通过fontDialog的Font属性描述字体,通过FontStyle指定应用到文本的字体的样式,结合这两个属性描述文本的显示风格例: if (fontDialog1.ShowDialog()=DialogResult.OK) MyRTBox.SelectionFo
26、nt = fontDialog1.Font;章节目录上一页下一页4.颜色对话框对话框ColorDialog控件(1)Color属性:该属性用来获取或设置用户选定的颜色。(2)AllowFullOpen属性:该属性用来获取或设置一个值,该值指示用户是否可以使用该对话框定义自定义颜色。 (3)FullOpen属性:该属性用来获取或设置一个值,该值指示用于创建自定义颜色的控件在对话框打开时是否可见。(4)AnyColor属性:该属性用来获取或设置一个值,该值指示对话框是否显示基本颜色集中可用的所有颜色。例4.9四 多窗体程序设计 Windows应用程序很少只由一个窗体组成,一般情况下一个应用程序均拥
27、有很多个窗体。C#项目刚建立时只有一个名为Form1的窗体,要建立多窗体应用程序应首先为项目添加窗体,添加窗体的方法如下: (1)单击工具栏上的“ ”按钮或执行【项目】【添加Windows窗体】命令,将会出现如图10-17所示的【添加新项】对话框。 (2)在该对话框的【模板】下面的列表框中选中【Windows 窗体】图标,在名称后面的文本框中输入窗体名,然后按【打开】按钮,即为应用程序添加了一个窗体。 例4.10 对话框窗体的特性,需要设置一下.2. 多文档界面(MDI)应用程序设计 (1).窗体的实例化与显示 Form2 fm=new Form2() fm.Show();关闭:fm.Clos
28、e();(2) 不同窗体间的数据访问 在Designer.cs文件中设控件为public综合运用:例4.11后面是补充的补充(3)MDI应用程序的概念 MDI程序中的应用程序窗口称为父窗口,应用程序内部的窗口称为子窗口。 与MDI应用程序设计有关的属性、方法和事件 (1)属性常用的MDI父窗体属性如下。 ActiveMdiChild属性:该属性用来表示当前活动的MDI子窗口,如果当前没有子窗口,则返回null。 IsMdiContainer属性:该属性用来获取或设置一个值,该值指示窗体是否为多文档界面(MDI)子窗体的容器,即MDI父窗体。 MdiChildren属性:该属性以窗体数组形式返回
29、MDI子窗体,每个数组元素对应一个MDI子窗体。 菜单合并 父窗体和子窗体可以使用不同的菜单,这些菜单会在选择子窗体的时候合并。如果需要指定菜单的合并方式,程序员可以设置每个菜单项的MergeOrder属性和MergeType属性。(1)MergeOrder属性:该属性用来确定当两个菜单合并时菜单项出现的顺序,具有较低MergeOrder的菜单项会首先出现。(2)MergeType属性:当合并的两个菜单的某些菜单项的MergeOrder属性值相等时,使用该属性可以控制这些菜单项的显示方式。 编写一个能够显示多个文本文件的多文档程序。程序设计时的MDI父窗口如图10-20所示,子窗口如图10-2
30、1所示。程序运行时的菜单如图10-22(a)和图10-22(b)所示。打开了多个文件后的程序运行界面分别如图10-22(c)和图10-22(d)所示。程序运行时【文件】【打开】命令将弹出一个打开对话框让用户选择一个文件打开。打开文件后【文件】菜单中多个一项【关闭】,执行它将关闭当前打开的文件,执行【文件】【退出】命令将退出应用程序。【窗口】菜单的前四项用来对子窗口进行相应的排列,【窗口】菜单中的【关闭所有子窗口】命令的作用是删除所有的子窗口,【窗口列表】用来列出打开的所有子窗体。 图10-20 父窗口设计界面 图10-21 子窗口设计界面 (a) (b) (c) (d) 图10-22 程序运行
31、时的菜单 10.4.1 模式对话框和非模式对话框 对话框可以分为模式对话框和非模式对话框两种。 模式对话框是指用户只能在当前的窗体进行操作,在该窗体关闭之前不能切换到其它窗体。 非模式对话框是指当前所操作的窗体可以切换。两者区别是在对话框被关闭之前用户能否在同一应用程序的其他地方进行工作。 C#的From类中,使用show方法实现非模式窗体显示。通常情况下,窗体的显示为非模式显示。如显示非模式窗体From2,代码如下:Form2 frm=new Form2();frm.Show();章节目录上一页下一页 模式窗体的显示通过ShowDialog方法实现,如在程序运行过程中,以下代码实现窗体的模式
32、显示:Form2 frm=new Form2();frm.ShowDialog();【例10-4】通过多窗体了解模式窗体显示和非模式窗体显示。如图10-5所示。 本例使用3个窗体了解模式窗体显示和非模式窗体显示。主窗体定义为Form1,标题为“欢迎使用本系统”,通过“说明”按钮实现Form3即标题为“系统说明”窗体非模式显示,即在运行过程中,可以通过鼠标点击和Form1之间切换;章节目录上一页下一页通过“登录”按钮实现运行过中Form2即标题为“使用密码登录”的窗体模式显示,不能通过鼠标点击和Form1之间切换。 章节目录上一页下一页图10-11 多窗体显示在窗体Form1为button1控件
33、编写单击事件,实现说明窗体Form3的非模式显示。代码如下:private void button1_Click(object sender, System.EventArgs e) Form3 frm=new Form3(); / 声明frm为From3 frm.Show(); / 非模式显示章节目录上一页下一页为窗体Form1中的button2控件编写单击事件,实现使用密码登录窗体Form2的模式显示。代码如下:private void button2_Click(object sender, System.EventArgs e) Form2 frm=new Form2(); frm.S
34、howDialog(); 章节目录上一页下一页 为窗体Form2中的button1控件编写单击事件,实现密码判断,代码如下:private void button1_Click(object sender, System.EventArgs e) if (textBox1.Text=abcd) MessageBox.Show(您成功登录了本系统,提示); Application.Exit(); / 应用程序终止运行 else MessageBox.Show(您的密码有误,请重新输入!,提示);章节目录上一页下一页10.5.2 消息框( MessageBox )消息框一般用于程序运行过程中显示提示或信息。可以有不同格式的消息框。Windows应用程序中,为提高于用户的交互能力,消息框大量使用。C#中通过MessageBox类实现消息框的定义。1. MessageBox类该类提供了静态方法Show显示消息框,常用的有三种形式实现消息框的显示。(1) 用于显示指定文本的消息框格式如下:图10-12 显示文本的消息框MessageBox.Show(“文本内容”);章节目录上一页下一页(2) 显示指定文本和标题的消息框格式如下:图10-13 显示文本和标题的消息框MessageBox.Show(“文本内容”, “消息框标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年山东郓城八里湾小学四年级数学第二学期期末复习检测模拟试题含答案解析
- 2026医疗诊断软件行业市场发展深度剖析及疾病预测技术创新与投资布局研究报告
- 2026锑矿石行业市场发展分析及前景趋势与投融资发展机会研究报告
- 2026中国民宿行业品质化升级与区域集群发展差异化竞争报告
- 2026磁铁行业产能扩张与市场投资机会分析报告
- 2026真空热成型包装行业政策环境变化与合规经营报告
- 2026企业差旅管理解决方案市场供需格局与投资价值评估报告
- 2026磁铁行业安全生产要求对供需影响分析研究报告
- 2026免税购物市场政策环境及消费行为洞察分析报告
- 2026中国智慧城市交通管理系统市场渗透率与投资回报分析报告
- 2026年中级会计实务真题及答案解析
- 2026年秋季开学大学开学第一课(校规校纪)课件
- 2026年开学第一课法治教育课件
- 2026年重庆市从“五方面人员”中选拔乡镇领导班子成员考试试卷(含完整答案解析)
- 2026年广州市中考语文试卷(含答案及解析)
- 2026年秋季开学初中开学第一课(科学启蒙)课件
- GA/T 1999.3-2025道路交通事故车辆速度鉴定方法第3部分:基于视频图像
- (2026年)水利工程监理总结汇报
- 2026年一建管理四色笔记
- 2026贵州农商联合银行第二批社会招聘11人笔试参考题库及答案详解
- 新版2026年秋统编版小学道德与法治四年级上册(全册)教学设计
评论
0/150
提交评论