第6章windows窗体应用程序编程_第1页
第6章windows窗体应用程序编程_第2页
第6章windows窗体应用程序编程_第3页
第6章windows窗体应用程序编程_第4页
第6章windows窗体应用程序编程_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1第6章Windows窗体应用程序编程1.Windows窗体应用程序2.Windows窗体3.Windows控件4.Windows消息框5.Windows对话框*21.Windows窗体应用程序1.1Windows窗体应用程序概述1.2创建Windows窗体应用程序31.1Windows窗体应用程序概述Windows窗体(

WindowsForm)应用程序是运行在用户计算机上的客户端应用程序。可显示信息、接收与处理用户输入的数据、通过网络与远程计算机通信等。Windows窗体应用程序的运行模式单机客户端/服务器(C/S)41.2创建Windows窗体应用程序新建项目,选择“Windows窗体应用程序”:51.2创建Windows窗体应用程序VisualStudio自动创建了一个Form1窗体,窗体设计界面如下:61.2创建Windows窗体应用程序选中窗体,点击“查看代码”,即可查看Form1窗体的后台代码:72.Windows窗体2.1窗体概述2.2窗体属性2.3窗体事件2.4窗体方法2.5模式窗体*82.1窗体概述Windows窗体(WindowsForm)是Windows窗体应用程序的可视化界面,是Windows控件的载体,用于与用户进行交互。92.1窗体概述Windows窗体是一个类,其父类为System.Windows.Forms.Form类。程序运行时创建的窗体是对应窗体类的一个实例对象。前面创建的Windows窗体应用程序定义的Form1窗体:publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}}staticclassProgram{[STAThread]staticvoidMain(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);

Application.Run(newForm1());}}102.2窗体属性窗体属性:用来控制窗体的状态与外观,比如窗体的标题、大小等。在VisualStudio的属性窗口(通过“视图—属性窗口”命令打开)设置窗体属性:112.2窗体属性常用窗体属性Name:窗体名称Text:窗体标题Height:窗体高度Width:窗体宽度BackColor:窗体背景颜色StartPosition:窗体启动位置设置窗体属性实例演示122.3窗体事件事件:一个对象为通知另一个对象做出响应而发的消息。事件通常由用户的操作触发,也可以由程序触发。触发事件的对象称为“事件发布者”,捕获事件并对其做出响应的对象称为“事件订阅者”。Windows窗体应用程序由事件驱动的,包括窗体、控件的各类事件,比如窗体加载事件、按钮点击事件、鼠标事件等,以实现程序与用户之间的各种交互。常用窗体事件:Load:加载窗体事件(窗体的默认事件)Click:单击窗体事件132.3.1定义窗体加载事件Load实例:在窗体上拖放一个标签Label控件,窗体加载时设置该标签的Text为“Hello”。转到窗体设计界面;在窗体设计界面,从工具栏拖动标签控件到窗体上;142.3.1定义窗体加载事件Load由于窗体加载事件是窗体的默认事件,所以只需双击窗体即可,VS自动跳转到代码窗口,生成Load事件空方法:152.3.1定义窗体加载事件Load在此窗体事件方法中编写事件代码:162.3.1定义窗体加载事件Load调试运行,查看结果:172.3.2定义窗体单击事件Click实例:单击窗体,使得标签的Text为“World”。选中窗体;由于窗体单击事件不是窗体的默认事件,所以需在属性窗口,点击“事件”图标(闪电),双击Click:182.3.2定义窗体单击事件ClickVS自动跳转到代码窗口,生成Click事件空方法:192.3.2定义窗体单击事件Click在此方法中可以编写相应的事件代码:202.3.2定义窗体单击事件Click调试运行,当窗体加载后,鼠标左键单击窗体,查看结果:212.4窗体方法窗体方法:表示窗体的某些行为与操作。窗体常用方法:Show():显示窗体Hide():隐藏窗体Close():关闭窗体222.4.1实例:窗体之间导航功能:建立2个Windows窗体,在窗体上各放置一个按钮,点击按钮可在2个窗体之间导航。新建一个Windows窗体应用程序项目;232.4.1实例:窗体之间导航在Form1窗体中添加一个按钮控件,按钮文本为“Form1按钮”;242.4.1实例:窗体之间导航添加Form2窗体252.4.1实例:窗体之间导航262.4.1实例:窗体之间导航在Form2窗体中添加一个按钮控件,按钮文本为“Form2按钮”272.4.1实例:窗体之间导航选择并打开Form1窗体设计窗口,双击按钮,VS自动生成按钮点击事件处理空方法,在此方法中编写代码,使得点击按钮跳转到Form2窗体282.4.1实例:窗体之间导航选择并打开Form2窗体设计窗口,双击按钮,VS自动生成按钮点击事件处理空方法,在此方法中编写代码,使得点击按钮关闭Form2窗体292.4.1实例:窗体之间导航调试运行,查看结果303.Windows控件3.1Windows控件概述3.2标签Label3.3文本框TextBox3.4按钮Button3.5单选按钮RadioButton*3.6复选框CheckBox*313.1Windows控件概述Windows控件:用于人机交互的组件,可向用户显示数据,接受用户输入的数据,触发事件等功能。所有的Windows控件都直接或间接的继承自System.Windows.Forms.Control类。Windows控件共有几十个,具体可查看VisualStudio的工具箱。在此只介绍几个最常用、最简单的控件:Label:标签TextBox:文本框Button:按钮RadioButton:单选按钮CheckBox:复选框323.1Windows控件概述各控件公共属性Name:控件名称Text:控件标题或显示内容Visable:控件是否可见Enabled:控件是否启用Height:控件高度Width:控件宽度333.2标签Label标签控件:用于提供说明性的文本,且该文本不可编辑。常用属性Text:标签的文本343.3文本框TextBox文本框控件:用于输入简单的文本。常用属性Text:文本框的文本MaxLength:可输入文本的最大字符个数ReadOnly:若设置为true则只读,表示文本不能编辑Multiline:若设置为true则为多行文本框PasswordChar:指定密码框的密码显示字符,通常设置为字符“*”常用事件TextChanged:文本框文本改变事件常用方法Focus():文本框获得焦点,即文本框光标定位353.3.1实例:文本框TextChanged事件功能:在Windows窗体上创建一个Label与一个TextBox控件,在Label中同步显示TextBox中输入的文本。363.3.1实例:文本框TextChanged事件步骤:新建一个Windows窗体应用程序项目;在Form1窗体上添加一个Label与一个TextBox控件:373.3.1实例:文本框TextChanged事件双击文本框,VS自动生成文本框TextChanged事件处理空方法:383.3.1实例:文本框TextChanged事件在TextChanged事件方法中编写代码,使得Label文本与TextBox的文本同步变化:393.3.2实例:文本框光标定位窗体中添加两个文本框、一个按钮,当点击按钮时,光标定位到指定的文本框。403.4按钮Button按钮控件:点击按钮可触发按钮点击事件,执行相应的命令。常用属性Text:按钮文本常用事件Click:按钮点击事件413.4.1实例:登录界面功能:制作如下登录界面,其中账号文本框最大长度为6个字符,密码文本框显示的字符为“*”,最多可输入4位密码。当输入的账号为“abc”,密码为“123”时,登录成功导航到欢迎界面,否则在标签控件中显示登录失败信息。423.4.1实例:登录界面Form1做为登录窗体,把Text设为“登录”;在登录窗体,添加如下控件:433.4.1实例:登录界面其中:账号文本框,Name设为txtLoginCode,MaxLength设为6;密码文本框,Name设为txtPassword,MaxLength设为4,PasswordChar设置“*”;按钮,Name设为btnLogin,Text设为“登录”;登录结果消息标签,Name设为lblMessage,Text设为“登录失败:账号或密码输入错误!”,FontColor设置红色;443.4.1实例:登录界面添加Form2窗体,把Text设置“欢迎您”;在此窗体上,添加一个标签控件,Text设为“登录成功!”,字体大小设为16:453.4.1实例:登录界面编写登录窗体加载事件:打开登录窗体设计界面;双击登录窗体,在VS自动生成的窗体加载事件中编写代码:privatevoidForm1_Load(objectsender,EventArgse){//窗体加载时登录结果标签不可见

this.lblMessage.Visible=false;}463.4.1实例:登录界面编写登录窗体的登录按钮点击事件:打开登录窗体设计界面;双击登录按钮,在VS自动生成的按钮点击事件中编写代码:privatevoidbtnLogin_Click(objectsender,EventArgse){//读取账号

stringloginCode=this.txtLoginCode.Text;//读取密码

stringpassword=this.txtPassword.Text;//判断账号与密码是否正确

if(loginCode=="abc"&&password=="123"){//登录成功,显示欢迎界面

Formfrm=newForm2();frm.Show(); }else{//登录失败,显示登录结果标签

this.lblMessage.Visible=true;}}474.Windows消息框4.1MessageBox4.2实例:登录界面的完善484.1消息框MessageBoxMessageBox:用来向用户显示信息用法:Show(stringtext)Show(stringtext,stringcaption)Show(stringtext,stringcaption,MessageBoxButtonsbuttons)Show(stringtext,stringcaption,MessageBoxButtonsbuttons,MessageBoxIconicon)

其中text:表示消息内容Caption:消息框标题Buttons:消息框按钮Icon:消息框图标494.1消息框MessageBoxMessageBox.Show("消息内容")MessageBox.Show("消息内容","标题")

504.1消息框MessageBoxMessageBox.Show("消息内容","标题",MessageBoxButtons.YesNo)MessageBox.Show("消息内容","标题",MessageBoxButtons.OKCancel)MessageBox.Show("消息内容","标题",MessageBoxButtons.YesNoCancel)514.1消息框MessageBoxMessageBox.Show("消息内容","标题",MessageBoxButtons.OK,MessageBoxIcon.Error)MessageBox.Show("消息内容","标题",MessageBoxButtons.OK,MessageBoxIcon.Warning)MessageBox.Show("消息内容","标题",MessageBoxButtons.YesNo,MessageBoxIcon.Question)524.2实例:登录界面的完善—账号与密码不能为空当账号或密码为空时,分别弹出如下消息框:53privatevoidbtnLogin_Click(objectsender,EventArgse){//读取账号

stringloginCode=this.txtLoginCode.Text;//读取密码

stringpassword=this.txtPassword.Text;

if(loginCode==""){MessageBox.Show("账号不能为空","输入错误",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}if(password==""){MessageBox.Show("密码不能为空","输入错误",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}//判断账号与密码是否正确

if(loginCode=="abc"&&password=="123"){//登录成功,显示欢迎界面

Formfrm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论