C#窗体编程

上传人:缘*** 文档编号:333288807 上传时间:2022-09-01 格式:PDF 页数:51 大小:7.01MB
返回 下载 相关 举报
C#窗体编程_第1页
第1页 / 共51页
C#窗体编程_第2页
第2页 / 共51页
C#窗体编程_第3页
第3页 / 共51页
C#窗体编程_第4页
第4页 / 共51页
C#窗体编程_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《C#窗体编程》由会员分享,可在线阅读,更多相关《C#窗体编程(51页珍藏版)》请在金锄头文库上搜索。

1、第11章C#窗体编程Windows窗 体(Form,形状/表单)原来是Visual Basic程序的用户界面,后来成为.NET程序的 GUL 被 Visual Studio 中的 C#、Visual Basic、J#、MC+和 C+/CLI 等开发语言工具所使用,后来又被Visual C+2005引入到MFC编程中。作为应用程序的基本单元,窗体实质上只是一个(类似于对话框的)简单框架窗口,内含一块空白板。开发人员可通过添加控件(包括菜单条、工具条、状态条、计时器和公用对话框等)来创建用户界面,并通过编写代码来操作数据,从而填充这个空白板。为此,VisualStudio提供了一个有助于编写代码的

2、集成开发环境,以及一个针对.NET框架编程的丰富的控件集。通过使用代码来补充这些控件的功能,可以方便快捷地开发所需要的解决方案。由于时间有限,本章只介绍C#的窗体编程。相关帮助的位置:(先 选“未筛选”作 为“筛选依据”的选项,然后再定位)窗体编程:“目录 开发工具和语言Visual Studio文档 基于Windows的应用程序、组件和服务 创建基于Windows的应用程序Windows窗 体(Windows Forms)”用C#创建.NET窗体程序:“目录 开发工具和语言Visual Studio文档Visual C#用Visual C#编写应用程序 创建Windows窗体应用程序”.N

3、ET类库:目录.N ET Framework编程 类库参考”中 的 System、System.Windows.Forms 和 System.Drawing 等命名空间开发.NET下面是在窗体编程需要用到的一些.NET类型的继承关系图:Object Console String Delegate Event MathColorDialogFont DialogPrintDialogFilepialog-ToolStripButton ToolStripDropDownltemRadioButton CheckBox Button-ButtonBase -i-HatchBiush Texture

4、Biush SolidBrushControlTimerToolStripItemOpenFileDialogPathGradientBrush LinearGradientBrushu i rSaveFileDialogRadioButtonCheckBoxButtoni rScroll ableControl Tool StripMe nultem图 11-1常用.NET类型的层次结构(颜色标明类型所在的命名空间)黑色:System 红色:System.Windows.Forms、绿色:System.Drawing、蓝色:System.Drawing.Drawing2D 褐色:System

5、.ComponentModel11.1创建窗体下面我们以一个简单的窗体交互绘图程序FormDraw为例(参见图11-2),介绍用C#编写简单窗体程序的全过程。图 1 1-2 交互式窗体绘图程序1.创建窗体项目打开“新建项目”对话框(参见图11-3),选 锹“项目类型”栏的“其他语言Visual C#项,再选右边“模板”栏 的“Windows应用程序”模板。选择磁盘卷和父目录位置后,输入项目名称“FormDraw”,去 选“创建解决方案的目录”复选框,按“确定”钮关闭对话框。图 11-3新建项目对话框1)项目目录和文件Visual Studio会自动创建名为FormDraw的项目目录,在项目目录

6、中,自动创建的文件有:项 目文件-FormDraw.sln(解决方案)和 FormDraw.csproj(C#项目),代码文件一一Program.cs(程序入口)、Forml.cs(窗体编程)FormLDesigner.es(窗体设计)。项目目录还自动包含存放项目的目标代码的。b j目录和可执行程序的bin目录,这两个目录中都可包含Debug和/或Realse目录,分别存放具体的调试版和/或发行版的二进制程序代码。项 目目录还自动包含了一个存放 项 目 属 性 的 Properties目录,包含如下文件:Settings.settings(项目设置,XML文 件、Resources.resx(

7、资源)、Assemblylnfo.cs(程序集代码)和 Resources.Designer.cs(资源设计代码)。IDE会自动打开一个缺省的名为“Forml”的空白窗体(Forml.cs 设计),并打开对应的“工具箱”窗口,供程序员进行窗体设计。参见图114。图 11-4 C#窗体编程界面2)代码文件内容自动生成的程序代码,定义了一个与项目同名的命名空间,还定义了用户的应用程序类Program(基 类 为 缺 省 的 System.Object)和 派 生 的 窗 体 类 Forml(基 类 为System.Windows.Forms.Form,参 见 图 11-5),后者被定义在两个同名的

8、部分类(分别位于Forml.cs和 Forml.Designer.cs者两个代码文件)中。Program.cs自动生成的Program.cs代码为:using System;using System.Collections.Generic;using System.Windows.Forms;namespace FonnDraw(static class Program/summary/应用程序的主入口点。III STAThreadstatic void Main()Application.EnableVisualStyles();图11-5 Form 1及其各级基类Application.S

9、etCompatibleTextRenderingDefault(false);Application.Run(new Form 1();该文件中的代码主要是定义了 Program类,它包含Main入口主程序。Main方法中最重要的语句为:Application.Run(new Form 1();它创建窗体Forml对象,并以其为程序界面(主框架窗口)来运行本窗体应用程序。Forml.cs代码文件Forml.cs包含了窗体部分类Form l的一部分定义,用于程序员编写事件处理代码,也是我们今后工作的主要对象。可以在“解决方案资源管理器”页中,选中“Forml.cs”项后,按鼠标右键,在弹出的浮

10、动菜单中选“查看代码(C)”菜单项,来以远代码方式打开该文件。下面是该文件的初始代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace FoimDraw(public partial class Forml:Formpublic Form 1()InitializeComponent();F orm l.Desi

11、gnencs代码文件Forml.Designer.es包含了窗体部分类Form l的另-部分定义,用于存放系统自动生成的窗体设计代码。下面是该文件的初始代码:namespace FormDraw(partial class Form 1(III/必需的设计器变量。/private System.ComponentModel.IContainer components=null;III/清理所有正在使用的资源。/param name=disposing 如果应释放托管资源,为 true;否则为 false0 protected override void Dispose(bool disposi

12、ng)(if(disposing&(components!=null)(components.Dispose();)base.Di spose(di sposing);)#region Windows窗体设计器生成的代码/设计器支持所需的方法-不要/使用代码编辑器修改此方法的内容。III private void InitializeComponent()(ponents=new System.ComponentModel.Container();this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;this.Text=Forml

13、;)#endregion3)Application 类密 封 类 Application也 位 于 System.Windows.Forms.Form命名空间中,直接派生于System.Object。下面是它的定义:public sealed class ApplicationApplication类具有用于启动和停止应用程序和线程、启用可视界面、以及处理Windows消息的方法,如下所示:Run 在当前线程上启动应用程序消息循环,并可以选择使某窗体可见。常用的重载版为:public static void Run(Form mainForm)E xit或 ExitThread-停止消息循环。

14、常用的重载版为:public static void Exit()EnableVisualStyles 此方法为应用程序启用可视样式。如果控件和操作系统支持视觉样式,则控件将以视觉样式进行绘制。若 要 使 EnableVisualStyles生效,必须在应用程序中创建任何控件之前调用它;EnableVisualStyles通 常 是 M ain函数的第一行。当调用EnableVisualStyles时,无需单独的清单即可启用可视化样式。语法为:public static void EnableVisualStyles()SetCompatibleTextRenderingDefault-该方法

15、用于设置兼容文本的缺省表示方式。语法为:public static void SetCompatibleTextRenderingDefault(bool defaultValue)DoEvents在您的程序处于某个循环中时处理消息。AddMessageFilter-向应用程序消息泵添加消息筛选器来监视Windows消息。IMessageFilter 使您可以阻止引发某事件或在调用某事件处理程序前执行特殊操作。该类还具有用于获取或设置当前线程的区域性信息的CurrentCultur和 CurrentlnputLanguage属性。不能创建此类的实例(密封类)。2.修改窗体属性窗体的属性有很多(

16、参见图11-6),其中常用的有:布局:大小Size缺省为300*300像素,可以通过修改此属性,或直接拖动窗体的边框来改变窗体的尺寸。运行时用户也可以自己改变窗体大小。I星性屋性Foral Sy s t e m.Wi n do w s.Fo r m s.Fo r m圜”HP E)布局人Au t o Se al e Mo deFontAu t o Scr o l lFal s e Au t o S cr o l l M ar g i no,o Au t o S cr o l l Mi n Si z e0,0Au t o Si z eFal s eAu t o Si z e Mo deGr o w On l y田 Lo cat i o no,o0 Max i m u m Si z eo,o Mi n i m u m Si z eo,o田 Paddi n g0,0,6 o国 Si z e300,300St ar t Po s i t i o nWi n do w s De fau l t Lo cat i o nWi n do w St at eNo r m al日 窗口样式C o n t

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号