ImageVerifierCode 换一换
格式:PPT , 页数:70 ,大小:1.42MB ,
资源ID:10040842      下载积分:16 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10040842.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(c#Windows窗体应用程序设计PPT学习课件.ppt)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

c#Windows窗体应用程序设计PPT学习课件.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Windows,窗体应用程序设计,8.1,窗体设计,8.2,常用的控件设计,8.3,多文档窗体,8.4,窗体设计的事件机制,1,窗体设计,窗体(,Form,)是一个窗口或对话框,是存放各种控件(包括标签、文本框、命令按钮等)的容器,可用来向用户显示信息。,8.1.1,创建,Windows,窗体应用程序的过程,添加一个窗体的操作步骤是:选择“项目”,|“,添加,Windows,窗体”菜单命令,在出现的“添加新项”对话框中,选中“,Windows,窗体”,输入相应的名称(这里为,Form2.cs,),单击“添加

2、按钮。,一个,Windows,应用程序可以包含多个窗体。,2,窗体类型,在,C#,中,窗体分为如下两种类型:,(,1,)普通窗体,也称为单文档,窗体,(,SDI,),前面所有创建的窗体均为普通窗体。普通窗体又分为如下两种:,模式窗体。这类窗体在屏幕上显示后用户必须响应,只有在它关闭后才能操作其他窗体或程序。,无模式窗体。这类窗体在屏幕上显示后用户可以不必响应,可以随意切换到其他窗体或程序进行操作。通常情况下,当建立新的窗体时,都默认设置为无模式窗体。,(,2,),MDI,父窗体,即多文档窗体,其中可以放置普通子窗体。,3,窗体的常用属性,1.,布局属性,2.,窗口样式属性,3.,外观样式属性

3、4.,行为属性,8.1.4,窗体的常用事件,8.1.5,窗体的常用方法,4,1.,Form1,窗体:,(,1,)设计界面,(,2,)事件过程:,Form1.cs,文件:,/,引用部分,using System;,using System.Collections.Generic;,using System.ComponentModel;,using System.Data;,using System.Drawing;,using System.Text;,using System.Windows.Forms;,5,namespace Proj8_1,public partial class F

4、orm1:Form,/,从,Form,类继承,Form1,窗体,public Form1()/Form1,类构造函数,InitializeComponent();,/,调用初始化方法,其代码在,Form1.Designer.cs,文件中,private void button1_Click(object sender,EventArgs e),Form myform=new Form1_1();/,定义,Form1_1,类对象,myform.,ShowDialog,();/,以,模式窗体,方式调用,private void button2_Click(object sender,EventAr

5、gs e),Form myform=new Form1_2();/,定义,Form1_2,类对象,myform.,Show,();/,以,无模式窗体,方式调用,6,Form1.Designer.cs,文件:,namespace Proj8_1,partial class Form1,/,/,必需的设计器变量。,/,private System.ComponentModel.IContainer components=null;,/,/,清理所有正在使用的资源。,/,/,如果应释放托管资源,为,true,;,/,否则为,false,。,protected override void Dispos

6、e(bool disposing),/,重写基类,Dispose(),方法,if(disposing&(components!=null),components.Dispose();,base.Dispose(disposing);/,调用基类的,Dispose(),方法,7,#region Windows,窗体设计器生成的代码,/,/,设计器支持所需的方法,-,不要,/,使用代码编辑器修改此方法的内容。,/,private void InitializeComponent()/,初始化方法,this.button1=new System.Windows.Forms.button();,thi

7、s.button2=new System.Windows.Forms.button();,this.SuspendLayout();,/button1,this.button1.Font=new System.Drawing.Font(,宋体,9F,System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,(byte)(134);,this.button1.Location=new System.Drawing.Point(28,21);,this.button1.Name=button1;,this.button1.Siz

8、e=new System.Drawing.Size(117,33);,this.button1.TabIndex=0;,this.button1.Text=,调用模式窗体,;,this.button1.UseVisualStyleBackColor=true;,this.button1.Click+=new System.EventHandler(this.button1_Click);,8,/button2,this.button2.Font=new System.Drawing.Font(,宋体,9F,System.Drawing.FontStyle.Bold,System.Drawing

9、GraphicsUnit.Point,(byte)(134);,this.button2.Location=new System.Drawing.Point(28,69);,this.button2.Name=button2;,this.button2.Size=new System.Drawing.Size(117,33);,this.button2.TabIndex=1;,this.button2.Text=,调用无模式窗体,;,this.button2.UseVisualStyleBackColor=true;,this.button2.Click+=new System.EventH

10、andler(this.button2_Click);,/Form1,this.AutoScaleDimensions=new System.Drawing.SizeF(6F,12F);,this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;,this.ClientSize=new System.Drawing.Size(169,128);,this.Controls.Add(this.button2);,this.Controls.Add(this.button1);,this.Name=Form1;,this.StartPos

11、ition=System.Windows.Forms.FormStartPosition.CenterScreen;,this.Text=Form1;,this.ResumeLayout(false);,9,#endregion,private System.Windows.Forms.button button1;,/,私有字段,private System.Windows.Forms.button button2;/,私有字段,10,2.,Form1_1,窗体:,(,1,)设计界面,(,2,)事件过程:无,3.,Form1_1,窗体:,(,1,)设计界面,(,2,)事件过程:无,11,Pr

12、ogram.cs,文件,:,using System;,using System.Collections.Generic;,using System.Windows.Forms;,namespace Proj8_1,static class Program,/,/,应用程序的主入口点。,/,STAThread,static void Main(),Application.EnableVisualStyles();,Application.SetCompatibleTextRenderingDefault(false);,Application.Run(new Form1();,/,启动窗体为,

13、Form1,12,按,F5,键或单击工具栏中的按钮运行本项目。,上机调试运行结果。,13,窗体上各事件的引发顺序,当一个窗体启动时,执行事件过程的次序如下:,(,1,)本窗体上的,Load,事件过程。,(,2,)本窗体上的,Activated,事件过程。,(,3,)本窗体上的其他,Form,级事件过程。,(,4,)本窗体上包含对象的相应事件过程。,一个窗体被卸载时,执行事件过程的次序如下:,(,1,)本窗体上的,Closing,事件过程。,(,2,)本窗体上的,FormClosing,事件过程。,(,3,)本窗体上的,Closed,事件过程。,(,4,)本窗体上的,FormClosed,事件过

14、程。,14,焦点与,Tab,键次序,焦点(,Focus,)是指当前处于活动状态的窗体或控件。,要将焦点移到当前窗体中的,textBox1,文本框,可以使用以下命令:,textBox1.Focus();,15,控件概述,控件是包含在窗体上的对象,是构成用户界面的基本元素,也是,C#,可视化,编程的重要工具。,工具箱中包含了建立应用程序的各种控件,根据控件的不同用途分为若干个选项卡,可根据用途单击相应的选项卡,将其展开,选择需要的控件。,常用的控件设计,16,大多数控件共有的基本属性如下,:,1,),Name,属性,2,),Text,属性,3,)尺寸大小(,Size,)和位置(,Location,

15、属性,4,)字体属性(,Font,),5,)颜色属性(,BackColor,和,ForeColor,),6,),Cursor,属性,7,)可见(,Visible,)和有效(,Enabled,)属性,17,富文本框控件,提供类似,Microsoft Word,能够输入、显示或处理具有格式的文本。,【,例,8.2】,设计一个窗体,说明富文本框的使用方法。,Form2,窗体:,(,1,)设计界面,(,2,)事件过程:,private void Form2_Load(object sender,EventArgs e),richtextBox1.LoadFile(H:C#2005ch8file.RT

16、F,RichtextBoxStreamType.RichText);,H:C#2005ch8file.RTF,18,将本窗体设计为启动窗体,运行本项目,在富文本框,RichtextBox1,中显示,H:C#2005ch8file.rtf,文件的内容。,19,分组框控件,面板控件,20,复选框控件,属于选择类控件,用来设置需要或不需要某一选项功能。在运行时,如果用户用鼠标单击复选框左边的方框,方框中就会出现一个“”符号,表示已选取这个功能了。,复选框的功能是独立的,如果在同一窗体上有多个复选框,用户可根据需要选取一个或几个。,主要属性:,Checked,:获取或设置一个布尔值,该值指示是否已选中

17、控件。如果为,True,,则指示选中状态;否则为,False,(默认值)。,主要事件:,Click,21,【,例,8.3】,设计一个窗体,说明复选框的应用。,Form3,窗体:,(,1,)设计界面,(,2,)事件过程:,private void button1_Click(object sender,EventArgs e),if(checkBox1.Checked&checkBox3.Checked&,!checkBox2.Checked&!checkBox4.Checked),MessageBox.Show(,您答对了,真的很棒,!,信息提示,MessageBoxButtons.OK);,

18、else,MessageBox.Show(,您答错了,继续努力吧,!,信息提示,MessageBoxButtons.OK);,22,运行界面,23,单选按钮控件,单选按钮是多选一,只能从多个选项中选择一个,各选项间的关系是互斥的。,单选按钮使用时经常用多个控件构成一个组,同一时刻只能选择同一组中的一个单选按钮,因此,经常将单选按钮放在一个分组框中构成一个选项组。,24,设计一个窗体,说明单选按钮的使用方法。,Form4,窗体:,(,1,)设计界面,(,2,)事件过程:,private void button1_Click(object sender,EventArgs e),if(radiob

19、utton3.Checked),MessageBox.Show(,您选对了,这是微软公司开发的操作系统,信息提示,MessageBoxButtons.OK);,else if(radiobutton1.Checked|radiobutton4.Checked),MessageBox.Show(,您选错了,这是程序设计语言,信息提示,MessageBoxButtons.OK);,else,MessageBox.Show(,您选错了,这是数据库管理系统,信息提示,MessageBoxButtons.OK);,25,运行界面,26,图片框控件,用于在窗体的特殊位置上放置图形信息,也可以在其上放置多个

20、控件,因此它可作为其他控件的容器。,主要属性:,Image,获取或设置图片框中显示的图像。在运行时再使用,Image.FromFile,函数加载图像。,27,设计一个窗体,以选择命令按钮方式显示春、夏、秋、冬,4,个季节的图片。,Form5,窗体:,(,1,)设计界面,(,2,)事件过程:,private void button1_Click(object sender,EventArgs e),pictureBox1.Image=Image.FromFile(H:C#2005ch8spring.jpg);,private void button2_Click(object sender,Ev

21、entArgs e),pictureBox1.Image=Image.FromFile(H:C#2005ch8summer.jpg);,private void button3_Click(object sender,EventArgs e),pictureBox1.Image=Image.FromFile(H:C#2005ch8fall.jpg);,private void button4_Click(object sender,EventArgs e),pictureBox1.Image=Image.FromFile(H:C#2005ch8winter.jpg);,28,29,组合框控件,

22、从一个列表中一次只能选取或输入一个选项,其主要特点是具有带向下箭头的方框。,在程序运行时,按下此按钮就会下拉出一个列表框供用户选择项目。另外,还可以在组合框上方的框中输入数据。,组合框的属性,说明,DropDownStyle,获取或设置指定组合框样式的值。可取以下值之一:,DropDown,(默认值):文本部分可编辑。用户必须单击箭头按钮来显示列表部分。,DropDownList,:用户不能直接编辑文本部分。用户必须单击箭头按钮来显示列表部分。,Simple,:文本部分可编辑。列表部分总可见。,各种样式的组合框如图,8.19,所示。,DropDownWidth,获取或设置组合框下拉部分的宽度(

23、以像素为单位)。,DropDownHeight,获取或设置组合框下拉部分的高度(以像素为单位)。,Items,表示该组合框中所包含项的集合。,SelectedItem,获取或设置当前组合框中选定项的索引。,SelectedText,获取或设置当前组合框中选定项的文本。,Sorted,指示是否对组合框中的项进行排序。,30,DropDownStyle=Simple,DropDownStyle=DropDown,DropDownStyle=DropDownList,31,组合框的,Items,属性是最重要的属性,它是存放组合框中所有项的集合,对组合框的操作实际上就是对该属性即项集合的操作。,Ite

24、ms,的属性,说明,Count,组合框的项集合中项个数。,Items,的方法,说明,Add,向,ComboBox,项集合中添加一个项。,AddRange,向,ComboBox,项集合中添加一个项的数组。,Clear,移除,ComboBox,项集合中的所有项。,Contains,确定指定项是否在,ComboBox,项集合中。,Equqls,判断是否等于当前对象。,GetType,获取当前实例的,Type,。,Insert,将一个项插入到,ComboBox,项集合中指定的索引处。,IndexOf,检索指定的项在,ComboBox,项集合中的索引。,Remove,从,ComboBox,项集合中移除指

25、定的项。,RemoveAt,移除,ComboBox,项集合中指定索引处的项,32,组合框的事件,组合框的事件,说明,Click,在单击控件时发生。,TextChanged,在,Text,属性值更改时发生。,SelectedIndexChanged,在,SelectedIndex,属性值改变时发生。,KeyPress,在控件有焦点的情况下按下键时发生。,33,设计一个窗体,通过一个文本框向合框中添加项。,Form6,窗体:,(,1,)设计界面,(,2,)事件过程:,private void button1_Click(object sender,EventArgs e),if(textBox1.

26、Text!=),if(!comboBox1.Items.Contains(textBox1.Text),comboBox1.Items.Add(textBox1.Text);/,不添加重复项,34,运行界面,35,列表框控件,是一个为用户提供选择的列表,用户可从列表框列出的一组选项中用鼠标选取一个或多个所需的选项。,如果有较多的选择项,超出规定的区域而不能一次全部显示时,,C#,会自动加上滚动条。,与组合框类似。,36,列表框的属性,说明,MultiColumn,获取或设置列表框控件是否支持多列。设置为,True,,则支持多列,设置为,False,(默认值),则不支持多列,SelectedIn

27、dex,获取或设置列表框控件中当前选定项从,0,开始的索引。,SelectedIndices,获取一个集合,它包含所有当前选定项的从,0,开始的索引。,SelectedItem,获取或设置列表框控件中当前选定项。,SelectedItems,获取一个集合,它包含所有当前选定项。,Items,获取列表控件项的集合。,SelectionMode,获取或设置列表框控件的选择模式。可选以下值之一:,one,:表示只能选择一项。,none,:表示无法选择。,MultiSimple,:表示可以选择多项。,MultiExtended,:表示可以选择多项。并且按下,Shift,键的同时单击鼠标或者同时按下,S

28、hift,键和箭头键,会将选定内容从前一选定项扩展到当前项,按下,Ctrl,键的同时单击鼠标将选择或撤销选择列表中的某项。,Text,当前选取的选项文本。,37,设计一个窗体,其功能是在两个列表框中移动数据项。,Form7,窗体:,(,1,)设计界面,(,2,)事件过程:,private void Form7_Load(object sender,EventArgs e),listBox1.Items.Add(,清华大学,);,listBox1.Items.Add(,北京大学,);,listBox1.Items.Add(,浙江大学,);,listBox1.Items.Add(,南京大学,);,

29、listBox1.Items.Add(,武汉大学,);,listBox1.Items.Add(,中国科技大学,);,listBox1.Items.Add(,中国人民大学,);,listBox1.Items.Add(,华中科技大学,);,listBox1.Items.Add(,复旦大学,);,enbutton();/,调用,enbutton(),方法,38,private void enbutton()/,自定义方法,if(listBox1.Items.Count=0)/,当左列表框为空时右移命令按钮不可用,button1.Enabled=false;,button2.Enabled=false

30、else/,当左列表框不为空时右移命令按钮可用,button1.Enabled=true;,button2.Enabled=true;,if(listBox2.Items.Count=0)/,当右列表框为空时左移命令按钮不可用,button3.Enabled=false;,button4.Enabled=false;,else/,当右列表框不为空时左移命令按钮可用,button3.Enabled=true;,button4.Enabled=true;,39,private void button1_Click(object sender,EventArgs e),if(listBox1.S

31、electedIndex=0)/,将左列表框中选中项移到右列表框中,listBox2.Items.Add(listBox1.SelectedItem);,listBox1.Items.RemoveAt(listBox1.SelectedIndex);,enbutton();/,调用,enbutton(),方法,private void button2_Click(object sender,EventArgs e),foreach(object item in listBox1.Items)/,将左列表框中所有项移到右列表框中,listBox2.Items.Add(item);,listBox

32、1.Items.Clear();,enbutton();/,调用,enbutton(),方法,40,private void button3_Click(object sender,EventArgs e),if(listBox2.SelectedIndex=0)/,将右列表框中选中项移到左列表框中,listBox1.Items.Add(listBox2.SelectedItem);,listBox2.Items.RemoveAt(listBox2.SelectedIndex);,enbutton();/,调用,enbutton(),方法,private void button4_Click(

33、object sender,EventArgs e),foreach(object item in listBox2.Items)/,将右列表框中所有项移到左列表框中,listBox1.Items.Add(item);,listBox2.Items.Clear();,enbutton();/,调用,enbutton(),方法,41,运行界面,42,带复选框的列表框控件,用来显示一系列列表项的,不过每个列表项前面都有一个复选项。这样,是否选中了某个列表项就可以很清楚地表现出来。,43,定时器控件,特点是每隔一定的时间间隔就会自动运行一次定时器事件。所谓时间间隔,指的是定时器事件两次调用之间的时间

34、间隔,一般以毫秒(,ms,)为基本单位。,定时器的属性,说明,Enabled,设置是否起用定时器控件。若设置为,True,(默认值),表示启动定时器开始计时;否则,表示暂停定时器的使用。,Interval,设置两个定时器事件之间的时间间隔。设置时以毫秒为单位,设置的范围是,0,65535ms,。,定时器的方法,说明,Start,启动定时器,也可以将,Enabled,属性设置为,True,来启动定时器。,Stop,停止定时器,也可以将,Enabled,属性设置为,False,来停止定时器。,44,设计一个窗体说明定时器的使用方法。,Form9,窗体:,(,1,)设计界面,(,2,)事件过程:,p

35、rivate void Form9_Load(object sender,EventArgs e),textBox1.Text=DateTime.Now.ToString(h:mm:ss);,timer1.Enabled=true;/,启到定时器,timer1,timer1.Interval=100;,private void timer1_Tick(object sender,EventArgs e),textBox1.Text=DateTime.Now.ToString(h:mm:ss);,45,运行界面,46,滚动条控件,滚动条的结构为两端各有一个滚动箭头,两个滚动箭头中间是滚动条部分,

36、在滚动条上有一个能够移动的小方块,叫做滚动框。,水平滚动条和垂直滚动条,47,滚动条的属性,说明,Maximum,表示滚动条的最大值。,Minimum,表示滚动条的最小值。,Value,表示目前滚动条所在位置对应的值。,LargeChange,设置滚动条的最大变动值。,SmallChange,设置滚动条的最小变动值。,滚动条的事件,说明,Scroll,当用鼠标压住滚动条上的滑块进行移动时,滑块被重新定位时发生。,Change,当改变,Value,属性值时发生。,48,设计一个窗体说明滚动条的使用方法。,Form10,窗体:,(,1,)设计界面,(,2,)事件过程:,private void F

37、orm10_Load(object sender,EventArgs e),hScrollBar1.Maximum=100;,hScrollBar1.Minimum=0;,hScrollBar1.SmallChange=2;,hScrollBar1.LargeChange=5;,vScrollBar1.Maximum=100;,vScrollBar1.Minimum=0;,vScrollBar1.SmallChange=2;,vScrollBar1.LargeChange=5;,hScrollBar1.Value=0;,vScrollBar1.Value=0;,textBox1.Text=0;

38、49,private void hScrollBar1_Scroll(object sender,ScrollEventArgs e),textBox1.Text=hScrollBar1.Value.ToString(d);,/,将,hScrollBar1.Value,整数将实际宽度转换成字符串在,textBox1,中显示,vScrollBar1.Value=hScrollBar1.Value;,private void vScrollBar1_Scroll(object sender,ScrollEventArgs e),textBox1.Text=vScrollBar1.Value.To

39、String(d);,hScrollBar1.Value=vScrollBar1.Value;,50,private void button1_Click(object sender,EventArgs e),if(Convert.ToInt16(textBox1.Text)=0,&Convert.ToInt16(textBox1.Text)=100),hScrollBar1.Value=Convert.ToInt16(textBox1.Text);,vScrollBar1.Value=Convert.ToInt16(textBox1.Text);,运行界面,51,月历控件,日期,/,时间控件

40、超链接标签控件,52,多文档窗体,多文档界面应用程序由一个应用程序(,MDI,父窗体)中包含多个文档(,MDI,子窗体)组成,父窗体作为子窗体的容器,子窗体显示各自文档,它们具有不同的功能。处于活动状态的子窗体的最大数目是,1,,子窗体本身不能成为父窗体,而且不能将其移动到父窗体的区域之外。,多文档界面应用程序有如下特性:,(,1,)所有子窗体均显示在,MDI,窗体的工作区内,用户可改变、移动子窗体的大小,但被限制在,MDI,窗体中。,(,2,)当最小化子窗体时,它的图标将显示在,MDI,窗体上而不是在任务栏中。,(,3,)当最大化子窗体时,它的标题与,MDI,窗体的标题一起显示在,MDI,

41、窗体的标题栏上。,(,4,),MDI,窗体和子窗体都可以有各自的菜单,当子窗体加载时覆盖,MDI,窗体的菜单。,53,MDI,父窗体属性,说明,ActiveMdiChild,表示当前活动的,MDI,子窗口,如没有子窗口则返回,NULL,IsMdiContainer,指示窗体是否为,MDI,父窗体,值为,True,时表示是父窗体,值为,False,时表示是普通窗体,MdiChildren,以窗体数组形式返回所有,MDI,子窗体,54,MDI,父窗体的方法,一般只使用父窗体的,LayoutMdi,方法,其使用格式为:,MDI,父窗体名,.LayoutMdi(value),其功能是在,MDI,父窗体

42、中排列,MDI,子窗体,参数,value,决定排列方式,有以下,4,种取值:,LayoutMdi.ArrangeIcons,:所有,MDI,子窗体以图标形式排列在,MDI,父窗体中。,LayoutMdi.TileHorizontal,:所有,MDI,子窗体均垂直平铺在,MDI,父窗体中。,LayoutMdi.TileVertical,:所有,MDI,子窗体均水平平铺在,MDI,父窗体中。,LayoutMdi.Cascade,:所有,MDI,子窗体均层叠在,MDI,父窗体中。,55,MDI,子窗体属性,说明,IsMdiChild,指示窗体是否为,MDI,子窗体,值为,True,时表示是子窗体,值

43、为,False,时表示是一般窗体,MdiParent,用来指定该子窗体的,MDI,父窗体,56,【,例,8.13】,设计一个,Windows,应用程序,说明多文档窗体的使用方法。,Form1,窗体,将其,IsMdiContainer,属性设为,True,:,设计界面,57,事件过程:,private void button1_Click(object sender,EventArgs e),Form2 child=new Form2();,child.MdiParent=this;,child.Show();,n+;,child.Text=,第,+n+,个子窗体,;,private void

44、button2_Click(object sender,EventArgs e),this.LayoutMdi(System.Windows.Forms.,MdiLayout.ArrangeIcons);,private void button3_Click(object sender,EventArgs e),this.LayoutMdi(System.Windows.Forms.,MdiLayout.Cascade);,private void button4_Click(object sender,EventArgs e),this.LayoutMdi(System.Windows.Fo

45、rms.,MdiLayout.TileVertical);,58,private void button5_Click(object sender,EventArgs e),this.LayoutMdi(System.Windows.Forms.,MdiLayout.TileHorizontal);,运行界面,59,窗体设计的事件机制,什么是事件处理程序,事件处理程序是代码中的过程,用于确定事件(如用户单击按钮或消息队列收到消息)发生时要执行的操作。,事件处理程序是绑定到事件的方法。当引发事件时,将执行收到该事件的一个或多个事件处理程序。,每个事件处理程序提供两个参数。例如,窗体中一个命令按钮

46、button1,的,Click,事件的事件处理程序如下:,60,其中,第一个参数,sender,提供对引发事件的对象的引用,第二个参数,e,传递特定于要处理的事件的对象。通过引用对象的属性(有时引用其方法)可获得一些信息,如鼠标事件中鼠标的位置或拖放事件中传输的数据。,创建事件处理程序有以下两种方法:,(,1,)在,Windows,窗体中创建事件处理程序。,(,2,)在运行时为,Windows,窗体创建事件处理程序。,private void button1_Click(object sender,System.EventArgs e),/,输入相应的代码,61,在,Windows,窗体中创

47、建事件处理程序,在,Windows,窗体设计器上创建事件处理程序的过程如下:,(,1,)单击要为其创建事件处理程序的窗体或控件。,(,2,)在属性窗口中单击“事件”按钮。,(,3,)在可用事件的列表中,单击要为其创建事件处理程序的事件。,(,4,)在事件名称右侧的框中,键入处理程序的名称,然后按,Enter,键。如图,8.40,所示是为,button1,命令按钮选择,button1_Click,事件处理程序,这样,C#,系统会在对应窗体的,.Designer.cs,文件中自动添加以下语句:,this.button1.Click+=new System.EventHandler(this.but

48、ton1_Click);,该语句的功能是订阅事件(参见第,6,章),即接收器使用加法赋值运算符,(+=),将该委托,System.EventHandler(this.button1_Click),添加到源对象,button1,的事件中。,(,5,)将适当的代码添加到该事件处理程序中。,62,在运行时为,Windows,窗体创建事件处理程序,在运行时创建事件处理程序的过程如下:,(,1,)在代码编辑器中打开要向其添加事件处理程序的窗体。,(,2,)对于要处理的事件,将带有其方法签名的方法添加到窗体上。,例如,如果要处理命令按钮,button1,的,Click,事件,则需创建如下的一个方法:,pr

49、ivate void button1_Click(object sender,System.EventArgs e),/,输入相应的代码,63,(,3,)将适合应用程序的代码添加到事件处理程序中。,(,4,)确定要创建事件处理程序的窗体或控件。,(,5,)打开对应窗体的,.Designer.cs,文件,添加指定事件处理程序的代码处理事件。例如,以下代码指定事件处理程序,button1_Click,处理命令按钮控件的,Click,事件:,button1.Click+=new System.EventHandler(button1_Click);,64,将多个事件连接到,Windows,窗体中的单

50、个事件处理程序,在应用程序设计中,可能需要将单个事件处理程序用于多个事件或让多个事件执行同一过程,这样便于简化代码。在,C#,中将多个事件连接到单个事件处理程序的过程如下:,(,1,)选择要将事件处理程序连接到的控件。,(,2,)在“属性”窗口中,单击“事件”按钮。,(,3,)单击要处理的事件的名称。,(,4,)在事件名称旁边的值区域中,单击下拉按钮显示现有事件处理程序列表,这些事件处理程序会与要处理的事件的方法签名相匹配。,(,5,)从该列表中选择适当的事件处理程序。,代码将添加到该窗体中,以便将该事件绑定到现有事件处理程序。,65,【,例,8.14】,设计一个,Windows,应用程序,用

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服