《初识Windows程序课件》由会员分享,可在线阅读,更多相关《初识Windows程序课件(40页珍藏版)》请在金锄头文库上搜索。
1、初初初识识识WindowsWindowsWindows程序程序程序第一章第一章第一章第一章课程地位每阶段已包括:项目实战、每阶段已包括:项目实战、COTCOT课程课程 总课时:总课时: 10081008C#OOPC#OOPJavaScriptJavaScriptT-SQLT-SQLJava OOPJava OOPS2350Y2344JSPJSPS2S2:JavaJava阶段项目阶段项目预备课程预备课程WinFormsWinFormsLogic JavaLogic JavaS1314S1S1:.NET.NET阶段项目阶段项目ASP.NETASP.NETHibernateHibernateN-Ti
2、erN-TierAjaxAjaxSpringSpringStrutsStrutsHTMLHTMLC#C#NTCNTCProjectProject知识知识Y2Y2:.NET.NET毕业设计项目毕业设计项目COTCOTCOTCOTCOTCOTY2Y2:JavaJava毕业设计项目毕业设计项目目标岗位标准手册目标岗位标准手册就业技能结构图本门课程目标学完本门课程后,你能够:学完本门课程后,你能够:设计美观的设计美观的Windows窗体窗体开发开发 Windows 应用程序应用程序课程项目展示贯穿案例:贯穿案例:MySchool 学生信息管理系统学生信息管理系统项目案例:超市商品管理系统项目案例:超市
3、商品管理系统教员演示课程项目教员演示课程项目相关课程回顾C# 中的流程控制语句有哪些?中的流程控制语句有哪些?StringBuilder 对象和对象和 String 对象相比有什么对象相比有什么优点?优点?ADO.NET 操作数据库的几个对象是什么?操作数据库的几个对象是什么?预习检查Windows 窗体中常用的控件有哪些?窗体中常用的控件有哪些?使用什么弹出消息框?使用什么弹出消息框?实现实现MySchool的登录功能的登录功能本章任务掌握掌握Windows程序的开发步骤程序的开发步骤使用基本控件设计窗体使用基本控件设计窗体编写简单的事件处理程序编写简单的事件处理程序使用使用ExecuteS
4、calar()方法查询数据方法查询数据本章目标窗体的革命简单简单强大强大方便方便灵活灵活Windows 操作系统中,处处是窗体操作系统中,处处是窗体无处不在的窗体在在 VS 中创建中创建 Windows 应用程序的步骤:应用程序的步骤:1、新建项目、新建项目2、项目类型:、项目类型:Visual C# 项目项目3、模板:、模板:Windows 应用程序应用程序创建 Windows 程序演示示例演示示例演示示例演示示例11:创建:创建:创建:创建WindowsWindows程序程序程序程序我们编写代码的文件我们编写代码的文件窗体设计器代码文件,窗体设计器代码文件,VS自动生成自动生成解决方案名称
5、解决方案名称项目名称项目名称主程序文件,主程序文件,包含包含Main方法方法位于位于 Program.cs 文件文件Windows程序的入口程序的入口/ 省略引入命名空间部分省略引入命名空间部分 namespace MyForm static class Program . static void Main( ) Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1(); Main() 方法方法,程序的入口程序的入口应用程
6、序运行应用程序运行的第一个窗体的第一个窗体 Main 方法Windows 窗体有两种编辑视图:窗体有两种编辑视图:窗体设计器窗体设计器代码编辑器代码编辑器设计编码各司其职partial让程序更清晰用用 partial 将将同一个窗体同一个窗体的代码分开放在的代码分开放在两个文件两个文件中:中:一个存放一个存放 VS 自动生成的代码自动生成的代码一个存放我们自己编写的代码一个存放我们自己编写的代码调用调用构造函数构造函数做一些初始化的工作做一些初始化的工作/ Form1.cs namespace MySchool public partial class Form1 : Form public
7、Form1() InitializeComponent(); 冒号表示继承冒号表示继承像孩子继承父母的特征像孩子继承父母的特征所有窗体都继承所有窗体都继承FormForm 类:类:.NET 预定义的窗体类预定义的窗体类Form1 继承自继承自 Form认识窗体类窗体属性可视化设置属性,快速实现效果:可视化设置属性,快速实现效果:如何设置背景色?如何设置背景色?如何设置图标和窗体标题?如何设置图标和窗体标题?如何让窗体大小固定不变?如何让窗体大小固定不变?讲解窗体常用属性讲解窗体常用属性使用控件设计窗体设计设计MySchool登录窗体登录窗体演示示例演示示例演示示例演示示例22:设计:设计:设计
8、:设计MySchoolMySchool窗体窗体窗体窗体命名规范命名规范-前缀前缀控件命名规范控件名称控件名称控件类名控件类名命名前缀命名前缀标签标签Labellbl文本框文本框TextBoxtxt组合框组合框ComboBoxcbo按钮按钮Buttonbtn练习1设计登录窗体需求说明:需求说明:按照图片效果设计登录窗体按照图片效果设计登录窗体完成时间:完成时间:15分钟分钟Windows 系统通过事件处理来响应用户的请求系统通过事件处理来响应用户的请求鼠标按下、鼠标释放、键盘键按下鼠标按下、鼠标释放、键盘键按下事件触发事件触发 事件响应的结果事件响应的结果 单击单击双击双击随时发生的事件我们需要
9、做的:我们需要做的:针对我们感兴趣的事件,编写相应的事件处理程序针对我们感兴趣的事件,编写相应的事件处理程序 事件驱动机制Windows 应用程序是事件驱动应用程序是事件驱动事件驱动:随时响应用户触发的事件,做出相应的事件驱动:随时响应用户触发的事件,做出相应的响应响应编写事件处理程序的步骤:编写事件处理程序的步骤:1、选中控件、选中控件 2、在、在“属性属性”窗口中单击窗口中单击3、找到事件、找到事件4、双击生成事件处理方法、双击生成事件处理方法5、编写处理代码、编写处理代码编写事件处理程序/ 关闭当前窗体关闭当前窗体this.Close();教员讲解并操作教员讲解并操作事件处理方法分析pr
10、ivate void btnCancel_Click(object sender, EventArgs e) this . Close(); 事件源:事件源:如按钮如按钮事件参数事件参数关闭窗体关闭窗体当前窗体当前窗体练习2取消登录需求说明:需求说明:点击点击“取消取消”按钮时,关闭窗体按钮时,关闭窗体完成时间:完成时间:10分钟分钟练习3窗体变色1训练要点:训练要点:窗体属性、事件处理窗体属性、事件处理需求说明:需求说明:当鼠标在窗体上点击时,窗体的背景色改变:如当鼠标在窗体上点击时,窗体的背景色改变:如果是红色,变成黄色;如果是黄色,变成绿色,果是红色,变成黄色;如果是黄色,变成绿色,否则
11、变成红色否则变成红色教员讲解需求教员讲解需求练习3窗体变色2实现思路:实现思路:1、处理窗体的单击事件、处理窗体的单击事件2、编写事件处理程序、编写事件处理程序完成时间:完成时间:10分钟分钟this.BackColor红色红色Color.Red 绿色绿色Color.Green 黄色黄色Color.Yellowif (this.BackColor = Color.Red)难点指导:难点指导:1、获得窗体背景颜色:、获得窗体背景颜色:2、通过、通过Color获得颜色获得颜色3、判断背景颜色、判断背景颜色共性问题集中讲解n常见调试问题及解决办法常见调试问题及解决办法n代码规范问题代码规范问题共性问
12、题集中讲解共性问题集中讲解为什么使用消息框?为什么使用消息框?显示消息显示消息向用户请求信息向用户请求信息怎样显示消息框?怎样显示消息框?使用使用MessageBox对对象象友好的交互:消息框演示消息框演示消息框/ 最简单的消息框最简单的消息框MessageBox.Show(确定退出吗?确定退出吗?); / 带标题的消息框带标题的消息框MessageBox.Show(确定退出吗?确定退出吗?, 输入提示输入提示); / 带标题、按钮的消息框带标题、按钮的消息框MessageBox.Show( 确定退出吗?确定退出吗?, 输入提示输入提示, MessageBoxButtons.OKCancel
13、); / 带标题、按钮、图标的消息框带标题、按钮、图标的消息框MessageBox.Show( 确定退出吗?确定退出吗?, 输入提示输入提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Information ); MessageBoxButtons提供按钮的类型提供按钮的类型OKCancel 表示表示“确定确定”、“取消取消”按按钮钮MessageBoxIcon提供图标类型提供图标类型Information 表示消息图标表示消息图标4种消息框用户点了哪个按钮?用户点了哪个按钮?消息框的返回值演示示例演示示例演示示例演示示例3 33 3:获得消息框的
14、返回值:获得消息框的返回值:获得消息框的返回值:获得消息框的返回值DialogResult result = MessageBox.Show( 请输入用户姓名请输入用户姓名, 输入提示输入提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Information);if (result = DialogResult.OK) MessageBox.Show(你选择了确认按钮你选择了确认按钮); else MessageBox.Show(你选择了取消按钮你选择了取消按钮); 通过通过 “.”运算符取得运算符取得某种消息框的结果某种消息框的结果输入验证如何验
15、证用户是否输入了用户名?如何验证用户是否输入了用户名?/ 获得文本框的值,判断是否为空获得文本框的值,判断是否为空if (this.txtUserName.Text.Trim().Equals (string.Empty) ) MessageBox.Show(请输入用户名请输入用户名, CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Information); this.txtUserName.Focus(); return false;去空格去空格获得输入焦点获得输入焦点演示示例演示示例演示示例演示示例4 44 4:非空输入验证:非空输入验证:非空
16、输入验证:非空输入验证步骤:步骤:1、定义窗体对象、定义窗体对象2、显示窗体、显示窗体定义窗体对象:定义窗体对象:被调用的窗体类名被调用的窗体类名 窗体对象窗体对象 = new 被调用的窗体类名被调用的窗体类名( );显示窗体:显示窗体:窗体对象窗体对象 . Show( );实现窗体间的跳转练习4登录跳转需求说明:需求说明:单击单击“登录登录”按钮时,判断输入的用户名、密码按钮时,判断输入的用户名、密码是否为空,是否选择了登录类型,弹出相应的消是否为空,是否选择了登录类型,弹出相应的消息框息框验证成功后跳转到相应用户的主窗体验证成功后跳转到相应用户的主窗体单击单击“取消取消”按钮时,用户确定后
17、,关闭窗体按钮时,用户确定后,关闭窗体完成时间:完成时间:20分钟分钟用户验证登录的用户是否存在?登录的用户是否存在?输入验证通过后,验证用户合法性输入验证通过后,验证用户合法性查询数据库查询数据库 Count(*)使用使用ExecuteScalar()方法方法演示示例演示示例演示示例演示示例5 55 5:用户验证:用户验证:用户验证:用户验证private void btnLogin_Click(object sender, EventArgs e) if (CheckInput() / 输入验证通过输入验证通过 if (CheckUser(ref message) / 验证用户是否存在验证
18、用户是否存在 / 跳转到管理员主窗体跳转到管理员主窗体 窗体间的数据传递如何把登录名传递到主窗体中?如何把登录名传递到主窗体中?在主窗体中增加一个字段在主窗体中增加一个字段userId在登录窗体中为在登录窗体中为userId赋值赋值演示示例演示示例演示示例演示示例6 66 6:传递登录名:传递登录名:传递登录名:传递登录名FrmAdminMain frmAdmin = new FrmAdminMain(); / 数据传递数据传递frmAdmin.userId = txtUserName.Text.Trim();frmAdmin.Show();练习5用户登录需求说明:需求说明:如果用户存在,跳转
19、到相应用户的主窗体,并在如果用户存在,跳转到相应用户的主窗体,并在主窗体标题处显示登录的用户名主窗体标题处显示登录的用户名如果用户不存在,弹出消息框如果用户不存在,弹出消息框完成时间:完成时间:25分钟分钟总结窗体的主要属性有哪些?窗体的主要属性有哪些?消息框的返回值是什么类型?消息框的返回值是什么类型?如何关闭窗体?如何关闭窗体?如何实现窗体间的跳转?如何实现窗体间的跳转?作业课后作业课后作业必做必做教师备课时在此添加内容教师备课时在此添加内容选做选做教师备课时在此添加内容教师备课时在此添加内容提交时间:提交时间:xxxxxx提交形式:提交形式:xxxxxx预习作业预习作业背诵英文单词背诵英文单词教师备课时在此添加内容教师备课时在此添加内容