
C#讲义(可视化编程部分).doc
43页第 7 章 Windows 应用程序开发§7.1 集成开发环境7.1.1 Windows 桌面开发环境7.1.1.1 Windows 窗体设计器Windows 窗体设计器是进行用户界面设计的主要工具当创建一个新的Windows 应用程序时,会产生一个空白窗体当我们双击窗体中的任何一个位置,便会弹出代码设计器7.1.1.2 工具箱工具箱包含.net 开发人员可以使用的所有控件集,所有控件都继承自Control 基类:1、可以使用其右上角的大头针将其固定2、若不小心关闭了工具箱,可以选择“视图/工具箱”将其重新打开3、向窗体中添加控件时,可以单某控件,再在窗体中按住鼠标拖动画出控件对象,也可双击控件,在窗体中生成4、右击工具箱,可进行工具箱的其它设置7.1.1.3 服务器资源管理器服务器资源管理器是 Visual Studio .NET 的服务器管理控制台使用服务器资源管理器打开数据连接,登录服务器,浏览它们的数据库和系统服务可以将节点从服务器资源管理器拖放到 Visual Studio .NET 设计器上这将创建新的数据组件,这些组件预配置为引用所拖放的项7.1.1.4 解决方案资源管理器解决方案资源管理器提供项目及其文件的有组织的视图,并且提供对项目和文件相关命令的便捷访问。
一个解决方案可有多个项目,每个项目的有以下几个组成部分:1、属性“属性”节点表示应用于整个项目的配置设置,这些设置存储在解决方案文件夹的 .csproj 文件中这些设置包括编译选项、安全性和部署设置,以及其他更多设置可以使用“项目设计器” 对项目进行修改,该设计器是一组“属性页”,可以通过右击“属性” 然后选择 “打开”进行访问1)AssemblyInfo.cs:主要用来设定生成的有关程序集的常规信息 dll文件的一些参数(2)资源资源是应用程序中包含的数据,但是以可独立于其他源代码进行修改的方法存储例如,可以将所有字符串作为资源存储,而不是将它们硬编码到源代码中可以在日后将这些字符串翻译成不同语言,然后将它们添加到交付给客户的应用程序文件夹中,而不必重新编译程序集Visual C# 定义五种类型的资源:字符串、图像、图标、音频和文件可以使用“资源设计器”(可以在“项目设计器”中的 “资源”选项卡上访问)添加、移除或编辑资源3)设置实现 Window 窗体应用程序中的应用程序功能设置2、引用通常,引用标识本项目引用的 DLL 文件,如 .NET Framework 类库文件之一它也可以引用 .NET 程序集,使您的应用程序可以调用 COM 对象或本机 Win32 DLL 上的方法。
如果程序创建了其他程序集中定义的类的实例,则必须在项目中添加对该文件的引用,才能编译项目若要添加引用,请单击“项目”菜单上的“添加引用” 3、窗体创建 Windows 窗体项目时,默认情况下,Visual C# 会将一个窗体添加到项目中,并为其命名为 Form1表示该窗体的两个文件称为 Form1.cs 和 Form1.designer.cs您可在 Form1.cs 中写入代码; designer.cs 文件是 Windows 窗体设计器写入代码的文件,这些代码用于实现所有通过从“工具箱” 中拖放控件执行的操作可以通过单击“项目” 菜单项然后选择 “添加 Windows 窗体”来添加新窗体每个窗体都有两个文件与其相关联4、program.cs 包含应用程序的入口点单个 .cs 文件可以包含任意数量的类和结构定义5、其他源代码文件项目可以包含任意数量的其他 .cs 文件,这些文件可能与也可能不与特定的 Windows 窗体相关联若要访问解决方案资源管理器,请在“视图” 菜单上选择 “解决方案资源管理器”7.1.1.5 属性属性窗口显示当前选中控件的属性及事件等信息,用户可以通过此窗口进行控件状态的设置及事件的设计等。
当然也可通过代码进行7.1.2 桌面应用程序开发的一般步骤7.1.2.1 第一步:新建项目此步的结结果是创建了一个空白窗体,如果需要多个窗体,可以通过“项目/添加 Windows 窗体”项目添加新的窗体也可通过右击“解决方案资源管理器”中应用程序的名称选择“添加 Windows 窗体”进行添加7.1.2.2 界面设计从工具箱中拖放需要的控件置于窗体中,并进行布局设计7.1.2.3 控件属性设置利用属性窗口进行相应控件属性的设置7.1.2.4 程序设计双击任一控件,或选择控件的相应事件,可进入代码编辑器,并根据具体要求编写代码7.1.2.5 程序调试利用“调试”菜单的相关命令,可以进行程序的执行及调试,如设置断点、逐语句、逐过程执行等§7.2 窗体(Form)Windows 窗体是.Net Framework 的类 Form 的一个实例,是用户界面最为基本的元素,它是一个容器类控件,在程序运行时会产生一个窗口请看下面的代码:using System;using System.Windows.Forms;namespace csprj{public class win{public static void Main(){Application.Run(new Form());}}}Windows 窗体的共同属性:标题栏、控制按钮、边界、窗口区。
其中提供静态方法和属性以管理应用程序,例如启动和停止应用程序、处理 Windows 消息的方法和获取应用程序信息的属性7.2.1 窗体的基本属性1、窗体的名称属性(Name)用于在窗体中引用窗体,实际上就是窗体派生类的类名2、窗体的标题属性(Text)用于设置窗体标题栏显示的内容是一个字符串类型3、窗体的控制菜单属性(1)ControlBox:布尔类型,是否显示控制菜单default:True2)MaximizeBox:布尔类型,是否显示最大化按钮default:True3)MaximizeBox:布尔类型,是否显示最小化按钮default:True4)AutoScale:获取或设置一个值,该值指示窗体是否调整其大小以适合该窗体上使用的字体高度,以及是否缩放其控件5)MaximumSize:获取窗体可调整到的最大大小6)MinimumSize:获取或设置窗体可调整到的最小大小7)ShowInTaskbar:获取或设置一个值,该值指示是否在 Windows 任务栏中显示窗体4、影响窗体外观的属性(1)FormBorderStyle用于控制窗体边界的类型并有可能影响标题栏及其按钮其值可能取如下值:None 无边框,不可以改变大小Fixed3D 固定的三维边框FixedDialog 固定的对话框样式的粗边框FixedSingle 固定的单行边框FixedToolWindow 可调整大小的工具窗口边框。
工具窗口不会显示在任务栏中也不会显示在当用户按 ALT+TAB 时出现的窗口中Sizable 调整大小的边框SizableToolWindow 调整大小的工具窗口边框工具窗口不会显示在任务栏中也不会显示在当用户按 ALT+TAB 时出现的窗口中(2)Size 属性:用来设置窗体的大小Size 为 System.Drawing 命名空间中的一个结构,存储一个有序整数对,可设置控件的宽度和高度3)Location 属性:设置窗体在屏幕上的位置通过窗体的左上角的坐标调整来实现该属性为一 Point 对象Point 为 System.Drawing 命名空间中的一个结构,表示在二维平面中定义点的、整数 x 和 y 坐标的有序对4)BackColor 属性:设置窗体的背景颜色该属性为一 Color 对象,Color 为 System.Drawing 命名空间中的一个结构5)BackgroundImage 属性:设置窗体的背景图象也可以通过创建一个Image 类的 FromFile 方法获取一副图片6)Opacity 属性:设置窗体的透明度0%:完全透明;100%:完全不透明7)TransparencyKey 属性:指定窗体窗体上将显示为透明的颜色,则窗体中有此颜色的区域将变为透明。
利用此属性可设置不规则的窗体System.Drawing.Bitmap Img = new System.Drawing.Bitmap("c:\\1.bmp");//Img.MakeTransparent(Img.GetPixel(1,1));this.BackgroundImage = Img;this.TransparencyKey = Img.GetPixel(1,1);制作不规则窗体,着色质量只能是 16 位例:不规则窗体实例制作,见示例5、其它AcceptButton:获取或设置当用户按 ENTER 键时所单击的窗体上的按钮CancleButton:获取或设置当用户按 ESC 键时单击的按钮控件Icon:为窗体指定图标,它将会出现在窗体的左上角,当窗体最小化后,在 Windows 工具栏中会以此图标代表该窗体TopMost:设置窗体在所有窗口的最上层,不能被其他窗口覆盖Cursor: 获取或设置当鼠标指针位于控件上时显示的光标该属性值是Curosors 类的一个成员,该类提供由 Windows 窗体应用程序使用的 Cursor 对象的集合例:button1.Cursor=Cursors.Hand(手状)Owner:获取或设置拥有此窗体的窗体,类似于模式显示窗体,在子窗体关闭之前,不能访问父窗体。
Controls:获取当前窗体中包含的控件集合IsMdiChild:获取一个值,该值指示窗体是否为多文档界面 (MDI) 子窗体7.2.2 常用方法1、Show():显示窗体2、Hide():隐藏窗体3、Refresh():刷新窗体4、Activate():激活窗体,并给予焦点5、Close():关闭窗体6、ShowDialog():以模式方式显示窗体7.2.3 常用事件1、Load 事件:在窗体加载时发生2、Activated:在窗体激活时发生3、Deactivated:在窗体推动焦点时发生4、Resize:在窗体大小被改变时发生5、Click:在单击窗体时发生6、FormClosed:在窗体被关闭时发生7.2.4 创建窗体添加窗体可以使用菜单完成,也可以使用代码实现1、菜单添加窗体演示2、代码添加窗体,如:public void CreateMyForm(){Form form2 = new Form();Button button1 = new Button ();Button button2 = new Button ();button1.Text = "OK";button1.Location = new Point (10, 10);button2.Text = "Cancel";button2.Location= new Point (button1.Left, button1.Height + button1.Top + 10);form2.Text = "My Dialog Box";form2.FormBorderStyle = FormBorderStyle.FixedDialog;form2.MaximizeBox = false;form2.MinimizeBox = false;form2.AcceptButton = button1;form2.CancelButton = button2;form2.StartPosition = FormStartPosition.CenterScreen;form2.Controls.Add(button1);form2.Controls.Add(button2);form2.ShowDial。
