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

下载本文档

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

文档简介

第6章表单应用程序设计,6.1简单文本编辑器的常见属性、事件和方法6.2组件6.3常见控件6.4常见对话框6.5消息对话框6.6菜单和工具栏设计6.7示例多文档界面编辑器,第6.1章本章内容,6.1简单文本编辑器,简单文本编辑器应用程序:它可以读取和保存txt文件,并对字符执行简单编辑操作。6.1.1创建一个文本编辑器程序,6.1一个简单的文本编辑器,(1)创建一个C#表单应用程序TxtEditApp:将表单1的文本属性值设置为“简单文本编辑器”,然后在表单上分别添加控件richTextBox1和组件openFileDialog1、saveFileDialog1、toolStrip1,并设置控件richTextBox1的Dock属性值来填充整个表单。编辑界面,6.1.1创建一个文本编辑器程序的步骤,6.1一个简单的文本编辑器,(2)选择菜单项目|添加组件命令,在打开的添加新项目对话框中选择窗口表单项目,然后点击添加按钮向程序添加一个新表单(其默认名称为Form2)。在新表单上添加一些标签控件来显示相关信息:6.1.1创建一个文本编辑器程序的步骤,6.1一个简单的文本编辑器,(3)点击控件上方的菜单栏richTextBox1,然后依次输入相应的菜单项:6.1.1创建一个文本编辑器程序的步骤,6.1一个简单的文本编辑器,(4)双击菜单设计界面中的“Openfile”项,在自动形成的OpenFileToolStrepMenuItem _ Click()函数中编写相关代码。结果如下:/“Openfile”菜单项PrivateEvoidPenfileToolStrepMenuItem _ Click(对象发送者,事件参数)openFileDialog1。筛选器=txtfiles(*。txt)|*。“txt”;if(openFileDialog1。ShowDialog()=DialogResult。好的)richTextBox1。加载文件(openFileDialog1。文件名,RichTextBoxStreamType。明文);,6.1.1创建文本编辑器程序的步骤,6.1一个简单的文本编辑器,使用相同的方法为其他菜单项编写事件处理代码,结果如下:/savefile 菜单项privateevoidsavefiletooltripmenuitem _ click(object sender,eventargse) savefiledialog 1 . filter= txt files(*。txt) | *。“txt”;if(保存文件对话1。ShowDialog()=DialogResult。好的)richTextBox1。保存文件(保存文件对话1。文件名,RichTextBoxStreamType。明文);/“退出”菜单项privateevoidexittooltripmenuitem _ click(object sender,eventargse) close();/“关于.”菜单项privatevoidabouttooltripmenuitem _ click(object sender,eventargse) form 2 frm=new form 2();frm。ShowDialog();,6.1.1创建文本编辑器程序的步骤,6.1简单文本编辑器,(4)执行程序后,选择相应的菜单命令打开txt文件或在richTextBox1编辑文本后保存txt文件:6.1.1创建文本编辑器程序的步骤,6.1简单文本编辑器,以及描述组件指没有接口的组件(运行时不可见);控件是具有接口的组件(在运行时可见)。但有时它们也被统称为组件,它们的具体含义取决于上下文。6.2、组件的通用属性、事件和方法。C#中的组件都继承了系统。对象类。表单控件都继承系统。窗体控件类(该类也继承对象类)。因此,了解系统的一些常见属性、事件和方法。对象类具有事半功倍的效果,可以掌握下面将要介绍的常用组件的使用方法。6 . 2 . 1 6.2组件的对象类、公共属性、事件和方法,1。此方法用于判断当前对象是否等于给定对象。默认情况下(当此方法未被覆盖时),对象A和对象B是相等的,这意味着对象A和对象B是非空的,并且指向同一个对象。因为Equals()方法是一个虚拟方法,所以我们可以在定义的类中重写它。这样,当对象A和对象B相等时,完全由重写代码决定。事实上,许多C#类都覆盖了Equals()方法。2.方法的作用是:返回对象对象的散列码,该散列码由特定的算法根据对象在内存中的地址来计算。该算法可以确保不同对象的哈希代码不太可能重复。6 . 2 . 1对象类,公共属性,6.2组件的事件和方法,2。PublicVirtualString()可以在定义的类中重写ToString()方法。如果未被重写,方法将返回对象所属的类的名称。事实上,几乎所有由C#提供的类都重写了这个方法,并且它的大部分功能是将相应类型的数据转换成字符串数据。6 . 2 . 2控件类、6.2组件的公共属性、事件和方法以及控件类的属性、方法和事件对所有窗体控件都可用。理解控件类的特性对于表单应用程序设计至关重要。1。控件类属性(1)文本属性文本属性值是控件显示的文本内容,也是用户输入字符串的地方。它的类型是字符串类型。在程序运行期间,属性值是可读和可写的。例如,第1版正文=“北京奥运会”;/将字符串Stringstr=edit 1-文本写入编辑框;/读取编辑框中的内容(2)锚属性此属性用于根据四条边(左、右、上、下)的距离设置控件及其容器控件之间的固定位置关系。Anchor属性是一种集合类型,可以同时接受多个值,例如:RichTextBox 1。锚=(锚样式。顶部|锚定样式。底部);6 . 2 . 2控件类、公共属性、6.2组件的事件和方法、(3)Dock属性此属性用于设置子控件在其容器控件中的填充方法。它的价值和意义是:码头风格。填充:子控件填充整个容器控件DockStyle。无:子控件根据设计时界面显示。DockStyle。顶部,DockStyle。底部,DockStyle。左,DockStyle。右:指示子控件分别填充了容器控件的上、下、左和右的一半。当容器控件的大小发生变化时,子控件保持此状态。类6 . 2 . 2控件,6.2组件的公共属性、事件和方法,(3)停靠属性此属性用于设置子控件在其容器控件中的填充方法。它的价值和意义是:码头风格。填充:子控件填充整个容器控件DockStyle。无:子控件根据设计时界面显示。DockStyle。顶部,DockStyle。底部,DockStyle。左,DockStyle。右:指示子控件分别填充了容器控件的上、下、左和右的一半。当容器控件的大小发生变化时,子控件保持此状态。关于控件类的其他属性,请参见教科书中的表6.1。6 . 2 . 2控件类、6.2组件的公共属性、事件和方法、2.2控件类的方法(1)FindForm()方法此方法返回控件所在的窗体。(2)焦点()方法该方法的功能是使控件获得焦点。(3)GetContainerControl()方法此方法返回父控件链中的下一个ContainerControl。(4)Hide()方法此方法用于隐藏视图中的控件,但控件尚未被破坏,这相当于使可见属性值为false。6 . 2 . 2控件类,6.2组件的公共属性、事件和方法,2.2控件类的方法(5)Show()方法此方法用于显示控件以使其可见,但控件不创建新控件,而是显示现有控件,这相当于使可见属性值为真。(6)缩放(intm)方法将控件放大或缩小m倍。(7)包含(Controlctl)方法此方法确定控件ctl是否是当前控件的子控件。如果是,则返回真;否则,它返回false。(8)GetTopLevel()方法确定当前控件是否是顶级控件。如果是,则返回true,否则返回false。6 . 2 . 2控件类、公共属性、6.2组件的事件和方法、3.2控件类事件(如点击、滚动、移动鼠标和按键盘)都会生成相应的事件,事件发生时会调用相应的事件处理函数。这种处理函数实际上是控件类的一种方法。与上述方法不同,事件处理功能在事件发生时由系统自动调用(而不是由用户代码调用);上述方法由用户代码调用。显然,通过使用事件和处理函数之间的自动调用关系,可以方便地实现上述方法难以实现的一些功能。控件类定义了大量的事件。双击属性编辑框中事件名称右侧的空格,可以自动生成事件处理功能的框架。我们只需要在函数框架中编写相应的事件处理代码。6 . 2 . 2控制类,公共属性,6.2组件的事件和方法,3。控件类事件鼠标事件点击双击鼠标事件测量鼠标悬停键盘事件按键向下键向上,拖动事件拖动拖动拖动拖动离开拖动焦点事件进入离开6.3.1,6 . 3 . 1按钮类控件,6.3普通控件,(1)按钮控件(按钮控件有一定的代表性,此控件在此有详细描述)按钮控件是最普通的按钮控件,它几乎涉及窗体应用程序。它允许用户通过点击来执行一些代码。单击按钮相当于执行相应的功能,该功能是单击按钮按钮时生成的单击事件的事件处理程序。双击设计界面中的按钮控件(或选择按钮后,双击属性框中“单击”项右侧的空格)自动形成函数框架:privateevoidbutton 1 _ Click(object sender,eventargse)/事件处理代码当单击按钮控件时,函数被执行。我们需要做的是根据需要在函数中编写相应的代码来完成给定的函数。6.3.1 Button类控件,6.3公共控件,Button 1 _ Click(对象发送者,事件参数E)有两个参数(许多其他事件处理程序也有这两个参数):发送者:保存导致事件的控件E:保存发生的事件,例如,我们可以使用下面的代码来显示这两个参数的相关信息:PrivateEvoidButton1 _ Click(对象发送者,事件目标)ButtonBt=(按钮)发送者;文本框1。Text=bt。文本;type ty=e . GetType();文本框2。Text=ty。ToString();结果文本框1和文本框2分别显示“button1”和“system . windows . forms . mouseeventargs”。6.3.1按钮控件,6.3公共控件,(2)单选按钮按钮(单选按钮),选中属性:当值为真时,它被选中,当值为假时,它被取消选中,反之亦然。单选按钮按钮是排他的,即当选择一个按钮时,不选择其他单选按钮。CheckedChanged事件:当单选按钮的状态发生变化(选中的属性值从真变为假或从假变为真)时,触发CheckedChanged事件,后跟CheckedChanged()方法。因此,希望当单选按钮的状态改变时,一些操作将被完成。相应的代码应该用这种方法编写:PrivateEvoidRadioButton 1 _ Checked Changed(对象发送者,事件参数E)/事件处理代码),6.3.1按钮类控件,6.3公共控件,(3)CheckBotton(检查按钮)Checked属性:检查按钮与单选按钮非常相似,通常以组的形式出现。它是否被选中完全由其选中的属性值决定。不同之处在于允许同时选择0个或更多的检查按钮。CheckedChanged事件:其触发方法和处理函数的调用和编写方法与单选按钮相同。6.3.1按钮控件,6.3常用控件,按钮控件的应用示例示例6.1。在本例中,通过创建表单应用程序实现的功能包括:(1)将输入字符串转换为相应的大写或小写字符串;(2)可以指定转换方法(大写或小写),如果没有指定方法,将按原样输出;(3)您可以限制输入字符的范围:字母、数字或其他可视字符。程序界面、6.3.1按钮控件、6.3常用控件以及按钮控件的示例6.1应用示例。在本例中,通过创建表单应用程序实现的功能包括:(1)将输入字符串转换为相应的大写或小写字符串;(2)可以指定转换方法(大写或小写),如果没有指定方法,将按原样输出;(3)您可以限制输入字符的范围:字母、数字

温馨提示

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

评论

0/150

提交评论