Windows程序开发.ppt
Windows程序开发,本节目标,理解窗体及窗体的基本属性 最常用的控件,设计出登录界面 理解事件的作用,能够编写简单的事件处理程序 会使用窗体的消息框,什么是窗体,Windows 操作系统中,处处是窗体,为什么要使用窗体,简单 强大 方便 灵活 ,怎样创建 Windows 程序,在 VS 中创建 Windows 应用程序的步骤: 1、打开 VS 2、新建项目 3、项目类型:Visual C# 项目 4、模板:Windows 应用程序,演示示例1:创建一个 Windows 窗体,认识 WinForms,项目名称,主程序文件, 包含Main方法,我们编写代码的文件,解决方案名称,窗体设计器代码文件, 代码为VS自动生成,Main 方法,位于 Program.cs 文件 Windows程序的入口,/ Program.cs namespace MyForm static class Program static void Main( ) Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1(); ,Main 方法, 程序的入口,VS 自动生成 一般不需要理会,决定首先运行哪个窗体,进一步认识窗体文件,WinForms 窗体有两种编辑窗口:,窗体设计器窗口,窗体代码编辑窗口,?,为什么使用partial,具有双钥匙的密码箱,第一把钥匙,第二把钥匙,为了安全,两把钥匙分开放置,只有两把钥匙同时使用才能打开密码箱,用 partial 将同一个窗体的代码分开放在两个文件中: 一个存放 VS 自动生成的代码 一个存放我们自己编写的代码,程序员编写的代码,VS自动生成的代码,/ Form1.Designer.cs namespace MyForm partial class Form1 / private void InitializeComponent() / VS自动生成的代码 this.ShowInTaskbar = false; this.Name = “Form1“; this.Text = “Form1“; this.TopMost = true; ,运行时 合到一起 组成一个窗体文件,怎样使用partial,/ Form1.cs namespace MyForm public partial class Form1 : Form public Form1() InitializeComponent(); / 我们编写的代码 ,构造函数 做一些初始化的工作 编译器自动调用,认识窗体类,/ Form1.cs namespace MyForm public partial class Form1 : Form public Form1() InitializeComponent(); ,冒号表示继承 Form类定义了窗体的基本属性和行为 我们创建的窗体都继承自Form类 Form1具有相应的属性和行为,Form 类:.NET 预定义的窗体类 Form1 继承自 Form,窗体的重要属性,Name :窗体对象的名字,一般以“Frm”开头,如:FrmLogin,Icon :窗体标题栏上显示的图片,Text :窗体标题栏显示的文字,WindowState :窗体出现时最初的状态(正常、最大化、最小化),演示示例:窗体常用属性(修改示例1),FormBorderStyle :设置窗体的边框,StartPosition :设置窗体运行后出现的位置,Label控件,工具箱,常用属性 Name:控件的名称,一般以“lbl”开头,如:lblMessage Text:该属性用于设定标签显示的文本,使用步骤:,双击Label,属性窗口,设置属性,TextBox控件,工具箱,常用属性 Name:控件的名称,一般以“txt”开头,如:txtName Text:该属性用于设定文本框显示的文本 PasswordChar:文本框控件以密码输入方式使用,输入字母用该属性指定字符屏蔽。,使用步骤:,双击TextBox,属性窗口,设置属性,Button控件,工具箱,常用属性 Name:控件的名称,一般以“btn”开头,如:btnLogin Text:该属性用于设定文本框显示的文本,使用步骤:,双击Button,属性窗口,设置属性,PictureBox控件,工具箱,常用属性 Image:该属性用于设置图像控件上显示的图片 Dock:设置控件在窗体中填充的位置,使用步骤:,双击PictureBox,属性窗口,设置属性,Image,本地资源,导入,编程练习,为什么使用事件,Windows 系统中处处是事件: 鼠标按下、鼠标释放、键盘键按下 Windows 系统通过事件处理来响应用户的请求,显示开始菜单,我的电脑 窗口打开,事件触发,事件响应的结果,单击,双击,事件驱动,Windows 通过随时响应用户触发的事件做出相应的响应事件驱动机制,我们需要做的: 针对我们感兴趣的事件,编写相应的事件处理程序,WinForms 应用程序也是事件驱动的,编写事件处理程序,编写事件处理程序的步骤: 1、选中控件 2、在“属性”窗口中单击 3、找到事件 4、生成事件处理方法 5、编写处理代码,演示示例2:MouseMove 的事件处理程序,事件处理程序分析,/ 窗体的鼠标移动事件处理程序 private void Form1_MouseMove(object sender, MouseEventArgs e ) this.Text = String.Format(“捕捉到鼠标了!(0,1)“, e.X,e.Y ); ,示例2中添加的事件处理程序:,this关键字 代表窗体本身,鼠标的横纵坐标,窗体标题栏显示的文字,鼠标事件参数,事件源,控件事件,/ 登录按钮的单击事件处理程序 private void btnLogin_Click(object sender, EventArgs e) /取出用户的登录信息进行验证 ,Button常用事件:Click事件,MessageBox 对象,为什么使用消息框? 显示消息 向用户请求信息,怎样显示消息框? 使用MessageBox对象,演示示例3:显示验证用户输入的消息框,示例代码分析,/ 最简单的消息框 MessageBox.Show( “请输入用户姓名“ );,/ 带标题的消息框 MessageBox.Show(“请输入用户姓名“, “输入提示“);,/ 带标题、按钮的消息框 MessageBox.Show( “请输入用户姓名“, “输入提示“, MessageBoxButtons.OKCancel );,/ 带标题、按钮、图标的消息框 MessageBox.Show( “请输入用户姓名“, “输入提示“, MessageBoxButtons.OKCancel, MessageBoxIcon.Information );,MessageBoxButtons提供按钮的类型 OKCancel 表示“确定”、“取消”按钮,MessageBoxIcon提供图标类型 Information 表示消息图标,消息框的返回值,用户点了哪个按钮?,DialogResult,演示示例3:获得消息框的结果,示例3代码分析,示例3-关闭窗口代码分析:,DialogResult dr = MessageBox.Show(“是否关闭窗体“, “提示“, MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dr = DialogResult.Yes) /使用if语句判定是否单击“是”按钮 e.Cancel = false; /如果单击“是”按钮则关闭窗体 else e.Cancel = true; /否则,不执行操作 ,通过 “.”运算符取得某种消息框的结果,总结,Label、TextBox、Button的常用属性 举出几个事件的示例。 怎样显示消息框(MessageBox)? 消息框的返回值是什么?,练习,实现登录窗口中“登录”按钮的单击事件,如果用户输入的用户名和密码分别是“admin”和“123”,验证成功,否则分别给出输入错误提示 用户单击“取消”按钮时,关闭登录窗口,