C# WinForm应用程序设计_第1页
C# WinForm应用程序设计_第2页
C# WinForm应用程序设计_第3页
C# WinForm应用程序设计_第4页
C# WinForm应用程序设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

C#程序设计第六章WinForm应用程序设计本章任务 能正确使用控件设计界面 能正确编写事件处理程序代码 能创建菜单、窗口和多文档界面(MDI)任务6.1“学生信息管理系统”项目

——主界面的设计

用户可以使用菜单和工具栏分别实现各项功能任务6.1“学生信息管理系统”项目

——主界面的设计

处理菜单响应、工具栏响应事件需要菜单栏(menuStrip)控件、工具栏(ToolStrip)控件和状态栏(statusStrip)控件分三步实现主界面的设计

1、设置窗体frmMain,作为系统的主界面

2、使用菜单栏(menuStrip)控件设计系统主菜单3、使用工具栏(ToolStrip)控件设计系统工具栏4、使用状态栏(statusStrip)控件设计系统状态栏将窗体命名为frmMain

作为系统的主界面

属性说明Form1NamefrmMain

Text学生信息管理系统Icon添加界面图标Size1024,768StartpositonCenterScreen添加菜单栏添加菜单栏(menuStrip)控件,到frmMain窗体中,命名为msMain

关键代码回顾//编写“退出系统”菜单项Click事件响应程序代码

privatevoidtsmiQuit_Click(objectsender,EventArgse){

Application.Exit();}添加工具栏添加工具栏(ToolStrip)控件,到frmMain窗体中,命名为tsMain

关键代码回顾//编写工具栏“退出”按钮Click事件响应程序代码

privatevoidtsbntQuit_Click(objectsender,EventArgse){

tsmiQuit_Click(sender,e)}添加状态栏添加状态栏(statusStrip)

,到frmMain窗体中,命名为ssMain

menuStrip的常用属性属性说明Name控件名称,统一用ms+菜单名

Text菜单项的文本标题

ShortcutKeys

设置与菜单项关联的快捷键

ShowShortcutKeys

显示与菜单项关联的快捷键

ToolStripMenuItem控件

常用属性属性说明Checked表示菜单是否被选中DropDownItems返回一个项集合,用于菜单项相关的下拉菜单CheckOnClick根据Checked属性显示菜单是否被选中Enabled设置菜单是否可用

ToolStripMenuItem主要事件事件说明Click单击菜单项引发该事件CheckedChanged

单击带有CheckOnClick属性的菜单项时,引发这个事件

任务6.2“学生信息管理系统”项目

——登陆界面的设计

检查登陆的用户名和密码是否为空

如果用户名和密码不为空,则跳转到“学生信息管理系统”主界面

任务6.2“学生信息管理系统”项目

——登陆界面的设计当用户单击“取消”按钮时,触发取消按钮的Click事件,执行btnCancel_Click事件处理程序,调用Application.Exit()退出整个应用程序

当用户单击“确定”按钮时,执行btnLogin_Click事件处理程序,首先调用自定义方法TestInput(),当验证用户已经输入了用户名和密码信息才能调用系统的主界面frmMain,并关闭登陆窗口

关键代码回顾//“确定”按钮,Click事件的响应方法

privatevoidbtnLogin_Click(objectsender,EventArgse){if(TestInput())//验证用户已经输入用户名和密码{

//显示主窗体

frmMain

mainform=newfrmMain();

mainform.Show();

//如果验证通过,就显示相应的用户窗体,并将当前登陆窗体设为不可见

this.Visible=false;}}关键代码回顾//“取消”按钮,Click事件的响应方法

privatevoidbtnCancel_Click(objectsender,EventArgse){

Application.Exit();}创建Windows程序步骤在VS中创建Windows应用程序的步骤:1、打开VS2、新建项目3、项目类型:VisualC#项目4、模板:Windows应用程序解决方案资源管理器项目名称主程序文件,包含Main方法我们编写代码的文件解决方案名称窗体设计器代码文件,代码为VS自动生成窗体常用属性属性说明BackColor窗体背景色BackGroundImage设置窗体的背景图片

Text窗体标题栏显示的文字Fore窗体标题字体属性包括字体字体、字号、颜色等WindowState窗体出现时最初的状态(正常、最大化、最小化)Icon窗体标题栏显示的图标窗体的常用事件

事件说明TextChange用户加载窗体时发生Paint控件需要重新绘制时发生MouseMove鼠标指针移过控件时发生KeyPress当TextBox得到焦点并且在用户按下某键并松开时触发为什么使用事件Windows系统中处处是事件:鼠标按下、鼠标释放、键盘键按下……Windows系统通过事件处理来响应用户的请求显示开始菜单我的电脑窗口打开事件触发事件响应的结果单击双击事件驱动Windows通过随时响应用户触发的事件做出相应的响应——事件驱动机制WinForms

应用程序也是事件驱动的编写事件处理程序编写事件处理程序的步骤:1、选中控件

2、在“属性”窗口中单击3、找到事件4、在对应的位置填写事件处理程序的方法名称,也可以直接在该处双击鼠标左键,系统将自动给事件处理程序加方法名5、编写处理代码实现窗体间的跳转步骤:1、定义窗体对象2、显示窗体定义窗体对象:被调用的窗体类名

窗体对象

=new被调用的窗体类名();显示窗体:窗体对象

.Show();MessageBox

对象代码分析//最简单的消息框MessageBox.Show(

"请输入用户姓名“,);//带标题的消息框MessageBox.Show("请输入用户姓名","输入提示");//带标题、按钮的消息框MessageBox.Show(

"请输入用户姓名","输入提示",

MessageBoxButtons.OKCancel);

//带标题、按钮、图标的消息框MessageBox.Show(

"请输入用户姓名","输入提示",

MessageBoxButtons.OKCancel,

MessageBoxIcon.Information);

MessageBoxButtons提供按钮的类型OKCancel

表示“确定”、“取消”按钮MessageBoxIcon提供图标类型Information

表示消息图标消息框的返回值用户点了哪个按钮?

DialogResultresult;result=MessageBox.Show("请输入用户姓名","输入提示",

MessageBoxButtons.OKCancel,

MessageBoxIcon.Information);if(result==DialogResult.OK){MessageBox.Show("你选择了确认按钮");}else{MessageBox.Show("你选择了取消按钮");}

代码分析通过“.”运算符取得某种消息框的结果实现窗体间的跳转步骤:1、定义窗体对象2、显示窗体定义窗体对象:被调用的窗体类名

窗体对象

=new被调用的窗体类名();显示窗体:窗体对象

.Show();排列控件不美观不友好排列控件——对齐对齐窗体的控件步骤1、选择要对齐的控件

注意:所选的第一个控件为主控件2、“格式”→“对齐”,选择对齐的方式

排列控件——用Anchor控件使用Anchor与窗体一起动态调整控件的大小,具体步骤:1、选中需要锚定的控件(可以按下“Ctrl”选择多个控件,一起设置Anchor属性)2、单击Anchor属性右边的箭头,显示一个编辑器,该编辑器显示一个十字线3、关闭Anchor编辑器排列控件——用Dock控件使用Dock将控件停靠在窗体的边缘或填充窗体,具体步骤:1、选择要停靠的控件。在“属性”窗口中,单击Dock属性右边的箭头,打开Dock属性编辑器2、单击表示控件停靠位置按钮,设置停靠方式。任务6.3“学生信息管理系统”项目

——学生信息录入界面的设计

在界面中录入学生的学号、姓名、性别、出生日期、系部名称、班级名称、联系电话、身份证号、家庭住址和备注信息任务6.2“学生信息管理系统”项目

——登陆界面的设计用户单击“添加”按钮时触发取消按钮的Click事件,执行btnConfirm_Click事件处理程序将用户输入的信息保存到各个字符串变量中;将字符串变量作为参数,调用自定义方法addStuInfo()来实现向数据库中添加记录的操作(具体方法内容将在第7章中详细介绍)

关键代码回顾//“添加”按钮,Click事件的响应方法

privatevoidbtnConfirm_Click(objectsender,EventArgse){//将输入的内容赋值给各个字符串变量stringparamStudentID=this.txtStudentID.Text.Trim();……if(rbtM.Checked)

paramStudentSex=this.rbtM.Text.Trim();else

paramStudentSex=this.rbtW.Text.Trim();stringparamStudyDate=dtpStudyDate.Value.ToShortDateString();……stringparamExtendField=this.txtExtendField.Text.Trim();关键代码回顾//调用自定义方法addStuInfo实现向数据库中添加记录的功能

returnValue=addStuInfo(paramStudentID,paramStudentName,paramStudentSex,paramStudyDate,paramDepartName,paramClassName,paramStudentIDCard,paramAddress,paramStudentTel,paramExtendField);

if(returnValue>0)//根据方法返回值判断添加是否成功

MessageBox.Show("添加成功!");elseMessageBox.Show("添加不成功");}RadioButton控件属性说明name名称,一般用rbt+名称的方式命名Text设置单选按钮控件的显示标题AutoSize自动调整单选按钮控件的大小以适应其内容的大小Checked表示控件的状态。如果控件有一个选中标记,它就是true,否则为falseRadioButton控件事件说明CheckChanged当RadioButton的Checked的值发生改变时发生Click鼠标单击单选按钮时发生关键代码回顾//“添加”按钮,Click事件的响应方法

if(rbtM.Checked)

paramStudentSex=this.rbtM.Text.Trim();else

paramStudentSex=this.rbtW.Text.Trim();

RadioButton控件演示示例CheckBox控件属性说明ThreeState当属性为false时,复选框控件不允许设置不确定状态(Indeterminate),只可以在代码中把CheckState属性改为IndeterminateCheckState获取或设计复选框控件的状态,取值分别为Checked(选中)、Unchecked(未选中)和Indeterminate(不确定,控件旁边的复选框通常是灰色的,表示复选框的当前值是无效的,或者无法确定)CheckBox控件事件说明CheckedChanged当复选框的Checked属性发生改变时,就引发该事件。CheckedStateChanged当CheckedState属性改变时,引发该事件。CheckBox控件演示示例ListBox控件属性说明Name获取或设置列表框控件的名称,一般用“lst+名称”的方式命名。Items用于存放列表框中的所有选项,是一个集合。使用该属性,可以添加列表项、移除列表项和获得列表项的数目。MultiColumn是否支持多列,当值为true时表示支持多列,当值为false时不支持多列。SelectedIndex获取或设置ListBox控件中当前选定项从零开始的索引。如果未选定任何项,则返回值为1。Text该属性用来获取或搜索ListBox

控件中当前选定项的文本。当把此属性值设置为字符串值时,ListBox

控件将在列表框内搜索与指定文本匹配的项并选择该项。若在列表中选择了一项或多项,该属性将返回第一个选定项的文本。ListBox控件属性说明ColumnWidth在包含多个列的列表框中,这个属性指定列的宽度。SelectedItems它是一个集合可以获取或设置ListBox中当前选定的所有选项。Count用于返回列表框中列表项的个数。Sorted把这个属性设置为true,会使列表框对它包含的选项按照字母顺序排序。SelectionMode

用来获取或设置在ListBox控件中选择列表项的方法。默认为One:一次只能选择一个选项。其它几种模式为:CheckBox控件方法调用格式

说明

Add()ListBox对象.Items.Add(“s”)把字符型参数s添加到“listBox对象”指定的列表框的列表项中Insert()ListBox对象.Items.Insert(n,”s”)把字符型参数s插入到“listBox对象”指定的列表框中索引为n的位置处。IndexOf()ListBox对象.Items.IndexOf(“s”);用于返回指定项s在集合中的索引Remove()ListBox对象.Items.Remove(“s”);从ListBox对象中移除字符型参数列表项sCheckBox控件方法调用格式

说明

RemoveAt()ListBox对象.Items.RemoveAt(s);从ListBox对象移除指定索引号的列表项Clear()ListBox对象.Items.Clear()清除列表框中的所有项FindString()ListBox对象.Items.FindString("s")查找列表框中第一个以指定字符串s开头的字符串CheckBox控件演示示例DateTimePicker控件

DateTimePicker控件

属性说明Name获取或设置DateTimePicker控件的名称,一般用“dtp+名称”的方式命名。Value用于表示当前日期/时间值。若当前日期为“2008年4月22日10点12分28秒”,则表达式“dtpNow.Value”的值为“2008-4-2210:12:28”。Date用于获取当前日期/时间值的日期部分。若当前日期为“2008年4月22日10点12分28秒”,则表达式“dtpNow.Value.Date”的值为“20

温馨提示

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

评论

0/150

提交评论