windows编程技术18C_窗体编程.doc

上传人:bao****ty 文档编号:144592086 上传时间:2020-09-11 格式:DOC 页数:32 大小:125KB
返回 下载 相关 举报
windows编程技术18C_窗体编程.doc_第1页
第1页 / 共32页
windows编程技术18C_窗体编程.doc_第2页
第2页 / 共32页
windows编程技术18C_窗体编程.doc_第3页
第3页 / 共32页
windows编程技术18C_窗体编程.doc_第4页
第4页 / 共32页
windows编程技术18C_窗体编程.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《windows编程技术18C_窗体编程.doc》由会员分享,可在线阅读,更多相关《windows编程技术18C_窗体编程.doc(32页珍藏版)》请在金锄头文库上搜索。

1、windows编程技术18C_窗体编程.txt会计说:“你晚点来领工资吧,我这没零钱。”你看得出我擦了粉吗?虽然你身上喷了古龙水,但我还是能隐约闻到一股人渣味儿。既宅又腐,前途未卜。既宅又腐,前途未卜。你被打胎后是怎么从垃圾桶里逃出来的?史上最神秘的部门:有关部门。不可否认,马赛克是这个世纪阻碍人类裸体艺术进步最大的障碍!第18章 C# 窗体编程Windows窗体(Form,形状/表单)原来是Visual Basic程序的用户界面,后来成为.NET程序的GUI,被Visual Studio中的C#、Visual Basic、F#、MC+和C+/CLI等开发语言工具所使用,后来又从Visual

2、C+ 2005起被引入到MFC编程中。作为应用程序的基本单元,窗体实质上只是一个(类似于对话框的)简单框架窗口,内含一块空白板(客户区)。开发人员可通过添加控件(包括菜单条、工具条、状态条、计时器和公用对话框等)来创建用户界面,并通过编写代码来操作数据,从而填充这个空白板。为此,Visual Studio提供了一个有助于编写代码的集成开发环境,以及一个针对.NET框架编程的丰富的控件集。通过使用代码来补充这些控件的功能,可以方便快捷地开发所需要的解决方案。由于时间有限,本章只介绍C# 窗体编程一些基本内容。相关帮助文档的位置:* 窗体编程:“库主页Visual Studio 2010Visua

3、l Studio 创建基于Windows的应用程序Windows 窗体”。* .NET类库:“库主页Visual Studio 2010.NET Framework类库”中的System、System.Windows.Forms和System.Drawing等命名空间。图18-1是在窗体编程需要用到的一些.NET类型的继承关系图,涉及的命名空间主要有System.Windows.Forms、System.Drawing和System.Drawing.Drawing2D。18.1 创建窗体下面我们以一个简单的窗体交互绘图程序FormDraw为例(参见图18-2),介绍用C# 编写简单窗体程序的全

4、过程。18.1.1 创建窗体项目打开“新建项目”对话框(参见图18-3),选左边“已安装的模板”栏的“其他语言Visual C#”项,再选中间栏的“Windows窗体应用程序”模板。选择父目录位置后,输入项目名称“FormDraw”,去选“为解决方案创建目录”复选框,按“确定”钮关闭对话框。图18-1 窗体编程中常用.NET类型的层次结构字体和颜色标明类型所在的命名空间,正常:System、粗体:System.Windows.Forms、斜体:System.Drawing、粗斜体:System.Drawing.Drawing2D、灰色:System.ComponentModel图18-2 交互

5、式窗体绘图程序图18-3 新建项目对话框1项目目录和文件Visual Studio会自动创建名为FormDraw的项目目录,在项目目录中,自动创建的文件有:项目文件FormDraw.sln(解决方案)和FormDraw.csproj(C# 项目),代码文件Program.cs(程序入口)、Form1.cs(窗体编程)和Form1.Designer.cs(窗体设计)。项目目录还自动包含存放项目的目标代码的obj目录和可执行程序的bin目录,这两个目录中都可包含Debug和/或Realse目录,分别存放具体的调试版和/或发行版的二进制程序代码。项目目录还自动包含了一个存放项目属性的Proporti

6、es目录,包含如下文件:Settings.settings(项目设置,XML文件)、Resources.resx(资源)、AssemblyInfo.cs(程序集代码)和Resources.Designer.cs(资源设计代码)。2用户界面与工具箱IDE会自动打开一个默认的名为“Form1”的空白窗体(Form1.cs设计),并打开对应的“工具箱”窗口,供程序员进行窗体设计,参见图18-4。图18-4 C# 窗体编程界面窗体设计所用的工具箱内容丰富,除了VB动力包(Visual Basic PowerPacks)栏(5种)、“报表”栏(1种)和“WPF互操作性”栏(1种)的工具外,其余所有可用的

7、工具位于“所有Windows窗体”栏中(只是缺少了“数据”栏中VS2010新增加的“图表”工具),共有66种。其下各栏将这些工具分门别类地列出,包括:“公共控件”(21种)、“容器”(6种)、“菜单和工具栏”(5种)、“数据”(5种)、“组件”(14种)、“打印”(5种)和“对话框”(5种),共计62种,参见图18-5。只有DomainUpDown(域上下)、PropertyGrid(属性网格)、Splitter(拆分条)、HScrollBar(水平滚动条)、VScrollBar(垂直滚动条)和TrackBar(跟踪条)这5种工具没有包含在这些分类栏中。另外,在窗体编程中,工具栏的“对话框编辑

8、器”栏和“常规”栏为空。3代码文件内容自动生成的程序代码,定义了一个与项目同名的命名空间,还定义了用户的应用程序类Program(基类为默认的System.Object)和派生的窗体类Form1(基类为System.Windows. Forms.Form,参见图18-6),后者被定义在两个同名的部分类(分别位于Form1.cs和Form1.Designer.cs者两个代码文件)中。1)Program.cs自动生成的Program.cs代码为: a) 公共控件、容器b) 菜单和工具栏、数据、组件 c) 打印、对话框、WPF互操作性、报表、VB动力包 图18-5 窗体工具箱using System

9、;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;namespace FormDraw static class Program / / 应用程序的主入口点。 / STAThread static void Main() Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1(); 该文件中的代码主要是定义了Progr

10、am类,它包含Main入口主程序。Main方法中最重要的语句为:Application.Run(new Form1();它创建窗体Form1对象,并以其为程序界面(主框架窗口)来运行窗体应用程序。2)Form1.cs代码文件Form1.cs包含了窗体部分类Form1的一部分定义,用于程序员编写事件处理代码,也是我们今后工作的主要对象。可以在“解决方案资源管理器”页中,选中“Form1.cs”项后,按鼠标右键,在弹出的浮动菜单中选“查看代码(C)”菜单项,来以源代码方式打开该文件。下面是该文件的初始代码:using System;using System.Collections.Generic;

11、using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace FormDraw public partial class Form1 : Form public Form1() InitializeComponent(); 3)Form1.Designer.cs代码文件Form1.Designer.cs包含了窗体部分类Form1的另一部分定义,用于存放系统自动生成的窗体设计代码。

12、下面是该文件的初始代码:namespace FormDraw partial class Form1 / / 必需的设计器变量。 / private System.ComponentModel.IContainer components = null; / / 清理所有正在使用的资源。 / / 如果应释放托管资源,为 true;否则为 false。 protected override void Dispose(bool disposing) if (disposing & (components != null) components.Dispose(); base.Dispose(disp

13、osing); #region Windows 窗体设计器生成的代码 / / 设计器支持所需的方法 - 不要 / 使用代码编辑器修改此方法的内容。 / private void InitializeComponent() ponents = new System.ComponentModel.Container(); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Text = Form1; #endregion 4Application类密封类Application也位于System.Windows.Forms.Form命名空间中,直接派生于System.Object。下面是它的定义:public sealed class ApplicationApplication类具有用于启动和停止应用程序和线程、启用可视界面、以及处理Windows消息的方法,如下所示: * Run 在当前线程上启动应用程序消息循环,并可以选择使某窗体可见。常用的重载版为:public st

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

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