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

下载本文档

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

文档简介

第四章窗体应用程序设计C#面向对象程序设计C#面向对象程序设计第1章编写C#程序第2章面向对象编程方法第3章异常处理第4章窗体应用程序设计第5章数据库开发技术第6章数据绑定第7章文件数据存储第8章XML第9章线程和同步第10章ActiveX控件和自定义组件的开发第11章综合实例本章导读创建Windows窗体程序常用控件常用组件菜单和工具栏设计实验4.1创建Windows窗体程序4.1.1创建Windows窗体程序图4-2Windows窗体应用程序设计界面4.1创建Windows窗体程序【例4.1】Hello

World

1、窗体设计:点击打开“工具箱”,在“所有Windows窗体”中选择“Label”标签控件,双击或者直接拖拽到Form1窗体中相应的位置上,如图4-3所示。

2、属性修改:将鼠标放在窗体中的“Label”标签控件上,单击右键,选择“属性”,当属性窗口出现后,将其Text属性的值修改为“HelloWorld!”,通过修改Font字体的属性值,将文字修改为合适的字体和大小,如图4-4和图4-5所示。

3、运行程序:在菜单栏选择“调试—>启动调试”或者按F5快捷键或者单击工具栏上的按钮均可;也可以在菜单栏选择“调试—>开始执行(不调试)”或者按“Ctrl+F5”快捷键执行Windows窗体应用程序。程序的运行结果如图4-6所示。

4、程序停止:当窗体运行后,可以通过窗体关闭按钮直接关闭,也可以单击工具栏上中的停止按钮或者在菜单栏选择“调试—>停止调试”还可以按“Shift+F5”快捷键终止程序运行。4.1创建Windows窗体程序图4-3“Label”标签控件图4-4打开“Label”标签控件的属性窗口4.1创建Windows窗体程序图4-5修改“Label”标签控件的相关属性图4-6窗体程序运行结果4.1创建Windows窗体程序4.1.2程序结构解析【例4.2】

在图4-6中添加一个按钮,当单击此按钮时,“HelloWorld”的字体会发生变化。具体步骤如下:

1、窗体设计:与上例相同部分的步骤省略。对“Label”标签控件的相关基本属性修改完后,在窗体右下角拖入“button”按钮控件,并将其Text属性值设置为“改变字体”。

2、编写程序:在窗体设计窗口上双击“改变字体”按钮,打开Form1.cs文件,如图4-7所示。此文件为程序文件,用户将编写的代码存储在此文件中。将下列代码插入图4-7中的指定位置。

label1.Font=newFont("方正舒体",30);button1.Enabled=false;3、运行程序:运行程序,结果如图4-8所示。单击“改变字体”按钮,结果如图4-9所示。4.1创建Windows窗体程序图4-7Form1.cs文件4.1创建Windows窗体程序图4-8运行结果图4-9点击按钮后的运行结果4.1创建Windows窗体程序引用语句:可以看到程序的最开始,有这样一段代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;

这些代码由两个部分组成:using+命名空间的名称。Using是一个C#关键字,主要用于引入命名空间。每个命名空间中间可以包含多个类,默认情况下,系统会默认导入上述8个命名空间,这些命名空间提供了常用的类。若程序设计者需要实现其它非默认功能,也可以手工导入相应的系统命名空间。4.1创建Windows窗体程序类声明:C#应用程序的相关程序代码都必须写在类中,如下:namespaceHello_World{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){label1.Font=newFont("方正舒体",30);button1.Enabled=false;}}}4.1创建Windows窗体程序4.2

常用控件

控件是包含在窗体上的对象,是用户界面的基本组成元素,也是C#可视化编程的重要工具。在Windows应用程序开发中通过使用控件可以减少程序设计中大量的重复工作,提高代码编写效率。4.2.1按钮类控件1、Button按钮控件表4-1Button按钮控件的部分属性属性名称功能描述TabIndex在Web页面中用Tab键切换控件时,控件顺序的编号。DialogResult获取或设置一个值,该值在单击按钮时返回到父窗体。Image获取或设置显示在按钮控件上的图片。FlatStyle获取或设置按钮控件的平面样式外观。2、RadioButton单选按钮控件该控件的作用是为用户提供选择,但是在一组单选按钮中,用户只能选择其中的一个。3、CheckBox复选框控件该控件与RadioButton单选按钮控件控件一样也是为用户提供选择,不同的是,在一组复选框中,用户可以同时选择多个。

名称功能描述Checked属性表示控件的状态。当其属性值为true时,表明该控件被选中;当其属性值为false时,表明该控件未被选中。Click事件单击控件时,把按钮的Checked属性值置为true,同时发生Click事件。CheckedChanged事件当Checked属性值更改时,触发该事件。4.2

常用控件【例4.3】图4-10窗体设计4.2

常用控件图4-11回答错误图4-12回答正确4.2

常用控件4.2.2文本类控件1、Label标签控件该控件在Windows应用程序设计中应用的非常频繁,它的作用是在窗体上显示文本。Lable标签的属性很多,其中最常用的就是Text属性。该控件的主要作用是用户用其进行文本的输入。它的常见属性如表4-3所示。4.2

常用控件属性名称功能描述RightMargin用来设置或获取右侧空白的大小,单位是像素。通过该属性可以设置右侧空白。Rtf用来获取或设置RichTextBox控件中的文本,包括所有RTF格式代码。可以使用此属性将RTF格式文本放到控件中以进行显示,或提取控件中的RTF格式文本。SelectedRtf用来获取或设置控件中当前选定的RTF格式的格式文本。此属性使用户得以获取控件中的选定文本,包括RTF格式代码。如果当前未选定任何文本,给该属性赋值将把所赋的文本插入到插入点处。如果选定了文本,则给该属性所赋的文本值将替换掉选定文本。SelectionColor用来获取或设置当前选定文本或插入点处的文本颜色。SelectionFont用来获取或设置当前选定文本或插入点处的字体。CanRedo当其值设为true时,表明上一个被撤销的操作可以使用Redo重复。CanUndo当其值设为true时,可以撤销上一个操作。4.2

常用控件方法名称功能描述Redo用来重做上次被撤销的操作。Find用来从RichTextBox控件中查找指定的字符串。SaveFile用来把RichTextBox中的信息保存到指定的文件中。LoadFile使用LoadFile方法可以将文本文件、RTF文件装入RichTextBox控件。Clear将富文本框中的文本内容清空。4.2

常用控件【例4.4】Label标签控件与TextBox文本框控件的使用。图4-13简易登录界面的设计

双击Button按钮控件,进入到代码编写界面,在button1_Click按钮单击事件中添加如下代码:

stringname="张三";stringpassword="123";if(textBox1.Text==name&&textBox2.Text==password){MessageBox.Show(textBox1.Text+",欢迎登录!");}elseMessageBox.Show("用户名或密码错误!请重新登录");4.2

常用控件图4-14登录不成功图4-15登录成功4.2

常用控件【例4.5】RichTextBox富文本框控件的使用。①在D盘根目录下用写字板创建一个文件,将文件中的文本设置为不同的字体或颜色,并将其保存为.rft富文件格式,如图4-16所示。4.2

常用控件②设计窗体界面,在窗体上放置一个RichTextBox富文本框控件,并调整至合适的大小,如图4-17所示。图4-17界面设计4.2

常用控件③双击窗体,进入代码编辑界面,在自动生成的Form1_Load窗体加载事件中写入如下代码:richTextBox1.LoadFile("d:\\富文件.rtf",RichTextBoxStreamType.RichText);④运行程序,可以看到,之前编写的富文件被顺利加载在窗体中,如图4-18示。4.2

常用控件4.2

常用控件属性名称功能描述Items用于存放列表框中的列表项,是一个集合。通过该属性,可以添加列表项、移除列表项和获得列表项的数目。MultiColumn用来获取或设置一个值,该值指示ListBox是否支持多列。ColumnWidth用来获取或设置多列ListBox控件中列的宽度。SelectionMode用来获取或设置在ListBox控件中选择列表项的方法。SelectedIndex用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。SelectedIndices该属性用来获取一个集合,该集合包含ListBox控件中所有选定项的从零开始的索引。SelectedItem获取或设置ListBox中的当前选定项。SelectedItems获取ListBox控件中选定项的集合。Sorted获取或设置一个值,该值指示ListBox控件中的列表项是否按字母顺序排序。Text该属性用来获取或搜索ListBox控件中当前选定项的文本。ItemsCount该属性用来返回列表项的数目。表4-7ListBox列表框控件的常用方法方法名称功能描述FindString查找列表项中以指定字符串开始的第一个项。SetSelected选中某一项或取消对某一项的选择。Items.Add向列表框中增添一个列表项。Items.Insert在列表框中指定位置插入一个列表项。Items.Remove从列表框中删除一个列表项。Items.Clear用来清除列表框中的所有项。4.2

常用控件2、CheckedListBox带复选框的列表框控件属性名称功能描述CheckOnClick获取或设置一个值,该值指示当某项被选定时是否应切换左侧的复选框。CheckedItems该属性是复选列表框中选中项的集合,只代表处于CheckState.Checked或CheckState.Indeterminate状态的那些项。该集合中的索引按升序排列。CheckedIndices该属性代表选中项(处于选中状态或中间状态的那些项)索引的集合。4.2

常用控件3、ComboBox组合框控件属性值功能描述Simple文本框与下拉框为展开状态,允许在文本框输入和在下拉框中选择。DropDown默认不显示下拉框,支持在文本框输入,也支持在下拉框中选择。DropDownList默认不显示下拉框,只能进行选择,不能输入文本。4.2

常用控件

组合框的这三种样式如图4-19所示。图4-19组合框的三种样式4.2

常用控件【例4.6】学生信息录入界面

设计窗体界面,如图4-20所示。在窗体中适当的位置上分别拖入ListBox列表框控件、CheckedListBox带复选框的列表框控件以及ComboBox组合框控件。Label标签控件、button、TextBox文本框控件及按钮控件的设置方法这里不再赘述。4.2

常用控件图4-21程序运行界面

图4-22录入学生信息图4-23运行结果4.2

常用控件4、ListView列表视图控件属性名称功能描述Items获取包含控件中所有项的集合。CheckBoxes获取或设置一个值,用来指示控件中各项的旁边是否显示复选框。FullRowSelect获取或设置一个值,该值表示当单击某项是否会选择其所有子项。MultiSelect获取或设置一个值,该值表示是否可以选择多个项。SelectedItems获取在控件中选定的项。LargeImageList获取或设置ImageList,当该项在控件中显示为大图标时使用。SmallImageList获取或设置ImageList,当该项在控件中显示为小图标时使用。Sorting获取或设置控件中项目的排列顺序。4.2

常用控件表4-11ListView列表视图控件常用事件事件名称功能描述ColumnClick当单击控件中的一个列时发生。ItemActivate当激活一个选项时发生。ItemChecked当某项的选中状态发生变化时发生。ItemSelectionChanged当某项的选定状态发生变化时发生。BeforeLabelEdit在编辑标签前发生。AfterLabelEdit在编辑了标签后发生。4.2

常用控件表4-12ListView列表视图控件常用方法方法名称功能描述Clear删除列表中的所有选项和列。BeginUpdate告知列表视图停止更新,直到调用EndUpdate为止。EndUpdate用在BeginUpdate之后,列表视图会显示出所有选项。4.2

常用控件5、TreeView树形视图控件属性名称功能描述ImageList指定各节点可以使用的图标集合。ImageIndex控件中各节点的默认图标在指定ImageList中的索引。Nodes获取控件中根节点的集合。ShowPlusMinus设置是否在父节点处显示加减号,即是否可以通过点击+或者-展开或收缩子节点,默认值为true。ShowRootLines设置是否显示各根节点之间的连接线,默认值为true。SelectedNode获取或设置控件中被选中的节点。Sorted设置是否对根节点进行排序,默认为false。4.2

常用控件4.3.1打开文件对话框组件属性名称功能描述Title用来获取或设置对话框标题,默认值为空字符串。Filter用来获取或设置当前文件名筛选器字符串,该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容。对于每个筛选选项,筛选器字符串都包含筛选器说明、垂直线条(|)和筛选器模式。不同筛选选项的字符串由垂直线条隔开,例如:“文本文件(*.txt)|*.txt|所有文件(*.*)|*.*”

。FilterIndex用来获取或设置文件对话框中当前选定筛选器的索引。FileName用来获取在打开文件对话框中选定的文件名的字符串。InitialDirectory用来获取或设置文件对话框显示的初始目录,默认值为空字符串。ShowReadOnly用来获取或设置一个值,该值指示对话框是否包含只读复选框。ReadOnlyChecked用来获取或设置一个值,该值指示是否选定只读复选框。Multiselect用来获取或设置一个值,该值指示对话框是否允许选择多个文件。FileNames用来获取对话框中所有选定文件的文件名。每个文件名都既包含文件路径又包含文件扩展名。RestoreDirectory用来获取或设置一个值,该值指示对话框在关闭前是否还原当前目录。4.3

常用组件4.3.2保存文件对话框组件4.3.3字体和颜色对话框组件属性名称功能描述Font用来设置或获取字体信息。Color用来设置或获取字符的颜色。MaxSize用来获取或设置用户可选择的最大磅值。MinSize用来获取或设置用户可选择的最小磅值。ShowColor用来获取或设置一个值,该值指示对话框是否显示颜色选择框。ShowEffects用来获取或设置一个值,该值指示对话框是否包含允许用户指定删除线、下划线和文本颜色选项的控件。ShowApply用来设置“字体”对话框是否显示“应用”按钮,默认为Flase。4.3

常用组件表4-16ColorDialog颜色对话框组件常用属性属性名称功能描述AllowFullOpen用来获取或设置一个值,该值指示用户是否可以使用该对话框定义自定义颜色。FullOpen用来获取或设置一个值,该值指示用于创建自定义颜色的控件在对话框打开时是否可见。AnyColor用来获取或设置一个值,该值指示对话框是否显示基本颜色集中可用的所有颜色。Color用来获取或设置用户选定的颜色。ShowHelp用来设置“颜色”对话框是否显示“帮助”按钮,默认为False。4.3

常用组件【例4.7】简易文本编辑器

设计窗体界面,如图4-24所示。在窗体中适当位置拖入5个button控件并修改其Text属性,再拖入1个richTextBox控件,然后分别拖入OpenFileDialog组件、SaveFileDialog组件、FontDialog组件及ColorDialog组件,可以看见,这4个组件并没有像之前拖入的控件那样显示在窗体中,而是显示在窗体下方,等到程序运行的时候,它们将会被隐藏起来。4.3

常用组件图4-25打开文件图4-26加载文件4.3

常用组件图4-27修改字体图4-28字体修改后4.3

常用组件图4-28修改选中区域颜色图4-29保存文件4.3

常用组件4.3.4文件夹浏览对话框组件【例4.8】文件夹浏览对话框测试

设计窗体界面,如图4-30所示。在窗体上拖入button按钮,再拖入folderBrowserDialog组件,我们可以看见,该组件并不在窗体中显示。图4-30设计窗体界面4.3

常用组件图4-31选择文件夹图4-32显示文件夹所在路径4.3

常用组件4.3.5模式对话框和非模式对话框4.3.6基于MessageBox类的消息对话框枚举值功能描述AbortRetryIgnore在消息框对话框中提供“终止”、“重试”和“忽略”三个按钮。OK在消息框对话框中提供“确定”按钮。OKCancel在消息框对话框中提供“确定”和“取消”两个按钮。RetryCancel在消息框对话框中提供“重试”和“取消”两个按钮。YesNo在消息框对话框中提供“是”和“否”两个按钮。YesNoCancel在消息框对话框中提供“是

温馨提示

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

评论

0/150

提交评论