Windows窗体与控件(一)
窗体和控件-计算机中心网络学习平台-沈阳药科大学

实验2 窗体和控件实验目的:1. 熟悉VB 中对象事件的使用2. 掌握常用控件的属性、方法实验2.1窗体打印实验任务:实验结果界面如图2-1所示,要求:1) 窗体上打印的字符为宋体、小四。
2) 单击“打印”,输出如图所示的图形。
3) 单击“清屏”,清除打印内容。
4) 单击“退出”,结束程序运行。
实验步骤:1) 打开VB6.0,创建一个标准EXE 工程。
2) 将窗体的Caption 属性设置为“打印练习”,Font 属性设置为宋体、小四。
3) 添加三个命令按钮command1、command2、command3,caption 属性分别为“打印”、“清屏”、“退出”。
4) 在代码窗口中输入下面代码:Private Sub Command1_Click()For i = 1 To 5 '打印上面的倒三角,共5行Print Tab(5 + i); String(2 * (6 - i) - 1, "*")Next iFor i = 2 To 5 '打印下面的正三角,共5行,第一行因重复而省略 Print Tab(11 - i); String(2 * i - 1, "*")Next iEnd SubPrivate Sub Command2_Click()ClsEnd SubPrivate Sub Command3_Click()EndEnd Sub5) 将窗体和工程文件保存在自己的文件夹中。
(以后不再提示)6) 单击F5,试验运行本程序,直至满意为止。
图2-1 打印练习说明:String(m, 字符串)函数的返回值是由m 个指定字符串的首字母组成的字符串。
思考:上述实验的窗体显示内容如何保存到一个数据文件中?试一试。
实验2.2复杂打印实验任务:实验结果界面如图2-2所示,要求:1) 要求不可调整窗体大小。
2) 单击“打印”,在窗体上打印如图所示图形。
C_Winform程序设计1Windows窗体介绍

创建窗体 为窗体添加控件 创建继承窗体 组织窗体上的控件 窗体的用途:自定义窗口 窗体的用途:创建多文档界面应用程序
Windows 窗体和 Web 窗体
创建窗体 设置窗体属性 窗体生命周期 处理窗体事件 Windows 窗体设计器生成的代码
特点
部署 图形
平台 编程模型 安全性
在其代码访问安全性实现中使用 通过验证请求者的凭据, 粒度权限,以保护计算机资源和 按URL控制获得访问Web应用 敏感信息 程序资源的授权
创建一个新的项目的同 时也创建了一个窗体
创建一个新窗体
1.
在解决方案资源管理 器中右键点击 “项 目”
单击“添加” 单击“添加Windows 窗体”
Windows窗体
可不必改注册表运行 GDI+
Web窗体
不需要下载和安装 交互或动态图形的更新需 要往返于服务器
响应
为需要交互的应用程序提供最快 可以利用浏览器的动态 的响应速度 HTML(DHTML)功能来创建丰 富的用户界面(UI)
要求在客户计算机上运行 .NET Framework 基于客户端Win32消息模式 只需浏览器 通过HTTP调用应用程序组 件
SDI
MDI
只有一个文档是可见的 打开一个文档之前,你必须关 闭另一个
同时显示多个文档 每个文档显示在它自己的窗口 中
• 创建一个父窗体
– 创建一个新项目 – 设置IsMdiContainer属性为True – 添加一个菜单项,来触发子窗体
• 创建一个子窗体
– 向项目添加一个新的窗体
• 从父窗体调用子窗体
2. 3.
窗体名:项目中窗体的名称
C# 第6章 窗体、控件和组件

窗体的常用方法和事件
方法和事件名 说明
13
Close()方法
Hide()方法 Show()方法 Load事件
使窗体关闭,并释放资源;
使窗体隐藏,并不释放资源; 显示窗体; 加载窗体时处理的事件;
Click事件
Closing、Closed事件 GetFocus事件 Activated事件
鼠标单击窗体时处理的事件;
它还只是一个TextBox类型的变量而已,如果在InitializeCompon ent( )之前调用这个TextBox的属性或方法,就会出错。
6.1.3 窗体常用的属性
属性 Name BackColor ForeColor 含义 窗体的名称,代码中通过该属性来访 问窗体 窗体的背景色 窗体上文本的前景色 注意
C#中的InitializeComponent()方法
注意: InitializeComponent( )方法写在前面和后面是有区别的。
23
InitializeComponent( )方法是用来初始化窗体组件的,在Initializ
eComponent之前,窗体的各个控件还没有进行初始化,比如说
窗体上有一个TextBoxUserName,在InitializeComponent( )之前
19
20
6.1.2 窗体的创建、显示与隐藏
【例6-1】演示窗体的基本用法以及如何显示和关闭窗体。 部分运行效果如图:
C#中的InitializeComponent()方法
在每一个窗体生成的时候,都会针对于当前的窗体定义Initi alizeComponent()方法,该方法实际上是由系统生成的对于
3、如何隐藏一个打开的窗体 (1)隐藏当前窗体:this.Hide(); (2)隐藏其它窗体:Application.OpenForms["Form1"].H ide();
WinForm常用窗体控件的使用

(8)BackColor: 用来获取或设置控件的背景色。 (9)Font:
用来获取或设置控件的字体,包括字体名称、字号以
及是否以斜体、加粗和下划线显示。 (10)Locked: 确定是否可以移动控件或者调整控件的大小。 (11)TabIndex: 用来获取或设置控件的Tab键顺序。
15
(12)TextAlign: 用来确定文本对齐方式。
4、为button1的click事件填写代码为
label1.visible=false; button1.enabled=false;
button2.enabled=true; 为button2的click事件填写代码为 label1.visible=true; button1.enabled=true; button2.enabled=false;
24
例:MouseEnter事件练习。 private void button1_MouseEnter(object sender, System.EventArgs e) { //颜色在System.Drawing名称空间下 button1.BackColor=Color.Red; }
25
例:MouseLeave事件练习。
Visual C# 程序设计
常见窗体控件的使用
1
本章中我们将主要介绍以下内容: windows窗体 标签 按钮 文本框 单选按钮 复选按钮 列表框 组合框 ToolTip控件 PictureBox控件
2
利用C#编写GUI(Graphics User Interface)应用 程序的一般步骤: (1)建立“Windows应用程序”项目 (2)设计应用程序界面
11
5. 2 WinForms中的常用控件
ColorDialog 组件(Windows 窗体)

ColorDialog 组件(Windows 窗体)
.NET Framework 4.5
其他版本
此主题尚未评级 - 评价此主题
Windows 窗体ColorDialog组件是一个预先配置的对话框,它允许用户从调色板选择颜色以及
将自定义颜色添加到该调色板。
此对话框与您在其他基于 Windows 的应用程序中看到的用于选
择颜色的对话框相同。
可以在基于 Windows 的应用程序中使用它作为简单的解决方案,而不用
配置自己的对话框。
本节内容
ColorDialog 组件概述(Windows 窗体)
介绍ColorDialog组件的一般概念,该组件允许您显示一个预先配置的对话框,用户
可以使用该对话框从调色板中选择颜色。
如何:更改 Windows 窗体 ColorDialog 组件的外观
描述如何更改用户可以使用的颜色以及其他属性。
如何:使用 ColorDialog 组件显示调色板
解释在运行时如何通过ColorDialog组件的实例选择颜色。
相关章节
可在 Windows 窗体中使用的控件
提供 Windows 窗体控件的完整列表,其中包含指向这些控件用法信息的链接。
ColorDialog 类
提供有关ColorDialog类及其成员的参考信息。
Windows 窗体对话框的基本代码
讨论 Windows 窗体对话框的控件和组件,以及执行它们的基本功能所需的代码。
对话框控件和组件(Windows 窗体)
列出一组控件,这些控件允许用户执行与应用程序或系统的标准交互操作。
Windows 窗体目录大全

Windows 窗体Windows 窗体社区支持.NET Framework 3.5 中 Windows 窗体的新增功能.NET Framework 2.0 中 Windows 窗体的新增功能Windows 窗体现有功能的新增补充功能Windows 窗体入门Windows 窗体概述创建新的Windows 窗体Windows 窗体坐标演练:创建简单的 Windows 窗体演练:Windows 窗体设计器入门如何:从命令行创建 Windows 窗体应用程序如何:创建新的 Windows 窗体应用程序项目如何:向项目添加 Windows 窗体如何:在 Windows 应用程序中选择启动窗体如何:在设计器中显示 Windows 窗体如何:将 Windows 窗体保持在最前面如何:使用 Visual Studio 编译和运行完整的 Windows 窗体代码示例在Windows 窗体中创建事件处理程序事件概述(Windows 窗体)事件处理程序概述(Windows 窗体)如何:在运行时为 Windows 窗体创建事件处理程序如何:将多个事件连接到 Windows 窗体中的单个事件处理程序Windows 窗体中的事件顺序如何:使用设计器创建事件处理程序如何:在 Windows 窗体设计器上创建默认事件处理程序调整Windows 窗体的大小和比例如何:使用设计器调整 Windows 窗体的大小如何:调整 Windows 窗体的大小演练:创建可根据数据输入需要调整大小的 Windows 窗体Windows 窗体中的自动缩放如何:在Windows 窗体应用程序中响应字体方案更改更改Windows 窗体外观如何:更改 Windows 窗体的边框如何:向 Windows 窗体添加背景图像如何:使用设计器更改 Windows 窗体的边框如何:创建透明 Windows 窗体如何:创建非矩形 Windows 窗体如何:显示有模式和无模式 Windows 窗体如何:启用 Windows XP 视觉样式如何:使启动 Windows 窗体不可见如何:设置 Windows 窗体的屏幕位置Windows 窗体控件将控件放在 Windows 窗体上如何:向Windows 窗体添加控件如何:向Windows 窗体添加无用户界面的控件如何:在运行时在控件集合中进行添加或移除演练:使用自定义组件自动填充工具箱如何:向Windows 窗体添加ActiveX 控件在Windows 窗体上承载ActiveX 控件时的注意事项排列 Windows 窗体上的控件如何:在Windows 窗体上对齐多个控件如何:在Windows 窗体上锚定控件如何:在Windows 窗体之间复制控件如何:在Windows 窗体上停靠控件如何:对Windows 窗体上的对象分层如何:将控件锁定到Windows 窗体如何:在Windows 窗体上定位控件如何:调整Windows 窗体上控件的大小如何:设置所有Windows 窗体的网格选项如何:设置Windows 窗体上的Tab 键顺序演练:使用对齐线在Windows 窗体上排列控件如何:在Windows 窗体中使用对齐线和网格排列控件如何:将现有的控件重新分配给不同的父控件演练:使用Padding、Margins 和AutoSize 属性对Windows 窗体控件进行布局标记单个 Windows 窗体控件并提供它们的快捷方式如何:设置Windows 窗体控件所显示的文本如何:使用设计器设置Windows 窗体控件显示的文本如何:设置Windows 窗体控件所显示的图像如何:使用设计器设置Windows 窗体控件显示的图像如何:创建Windows 窗体控件的访问键如何:使用设计器为Windows 窗体控件创建访问键为Windows 窗体上的控件提供辅助功能信息在 Windows 窗体上使用的控件根据功能列出的Windows 窗体控件具有内置所有者描述支持的控件BackgroundWorker 组件BindingNavigator 控件(Windows 窗体)BindingSource 组件Button 控件(Windows 窗体)CheckBox 控件(Windows 窗体)CheckedListBox 控件(Windows 窗体)ColorDialog 组件(Windows 窗体)ComboBox 控件(Windows 窗体)FileDialog 类ContextMenu 组件(Windows 窗体)ContextMenuStrip 控件DataGrid 控件(Windows 窗体)DataGridView 控件(Windows 窗体)DateTimePicker 控件(Windows 窗体)对话框控件和组件(Windows 窗体)DomainUpDown 控件(Windows 窗体)ErrorProvider 组件(Windows 窗体)FlowLayoutPanel 控件(Windows 窗体)FolderBrowserDialog 组件(Windows 窗体)FontDialog 组件(Windows 窗体)GroupBox 控件(Windows 窗体)HelpProvider 组件(Windows 窗体)HScrollBar 和VScrollBar 控件(Windows 窗体)ImageList 组件(Windows 窗体)Label 控件(Windows 窗体)LinkLabel 控件(Windows 窗体)ListBox 控件(Windows 窗体)ListView 控件(Windows 窗体)MainMenu 组件(Windows 窗体)MaskedTextBox 控件(Windows 窗体)MenuStrip 控件(Windows 窗体)MonthCalendar 控件(Windows 窗体)NotifyIcon 组件(Windows 窗体)NumericUpDown 控件(Windows 窗体)OpenFileDialog 组件(Windows 窗体)PageSetupDialog 组件(Windows 窗体)Panel 控件(Windows 窗体)PictureBox 控件(Windows 窗体)PrintDialog 组件(Windows 窗体)PrintDocument 组件(Windows 窗体)PrintPreviewControl 控件(Windows 窗体)PrintPreviewDialog 控件(Windows 窗体)ProgressBar 控件(Windows 窗体)RadioButton 控件(Windows 窗体)RichTextBox 控件(Windows 窗体)SaveFileDialog 组件(Windows 窗体)SoundPlayer 类SplitContainer 控件(Windows 窗体)Splitter 控件(Windows 窗体)StatusBar 控件(Windows 窗体)StatusStrip 控件TabControl 控件(Windows 窗体)TableLayoutPanel 控件(Windows 窗体)TextBox 控件(Windows 窗体)Timer 组件(Windows 窗体)ToolBar 控件(Windows 窗体)ToolStrip 控件(Windows 窗体)ToolStripContainer 控件ToolStripPanel 控件ToolStripProgressBar 控件ToolStripStatusLabel 控件ToolTip 组件(Windows 窗体)TrackBar 控件(Windows 窗体)TreeView 控件(Windows 窗体)WebBrowser 控件(Windows 窗体)用于列出选项的Windows 窗体控件何时使用 Windows 窗体 ComboBox 而非 ListBox如何:访问 Windows 窗体 ComboBox 控件、ListBox 控件或CheckedListBox 控件中的特定项如何:在 Windows 窗体 ComboBox 控件、ListBox 控件或CheckedListBox 控件中添加或移除项如何:为 Windows 窗体 ComboBox 控件、ListBox 控件或CheckedListBox 控件创建查找表如何:将 Windows 窗体 ComboBox 控件或 ListBox 控件绑定到数据如何:对 Windows 窗体 ComboBox 控件、ListBox 控件或CheckedListBox 控件的内容排序使用 .NET Framework 开发自定义 Windows 窗体控件在“Windows 窗体”中使用控件的概述各种自定义控件控件类型建议Windows 窗体控件开发基础知识如何:开发简单的 Windows 窗体控件如何:创建显示进度的 Windows 窗体控件开发复合 Windows 窗体控件Windows 窗体控件中的属性在 Windows 窗体控件中定义属性使用 ShouldSerialize 和 Reset 方法定义默认值属性更改事件如何:公开构成控件的属性自定义控件中的方法实现Windows 窗体控件中的事件重写 OnPaint 方法处理用户输入在 Windows 窗体控件中定义事件Windows 窗体控件中的特性如何:应用 Windows 窗体控件中的特性自定义控件的绘制和呈现呈现 Windows 窗体控件用户描述的控件构成控件如何:使控件在运行时不可见如何:使控件拥有透明背景使用视觉样式呈现控件Windows 窗体控件的布局AutoSize 属性概述如何:使控件与窗体边缘对齐Windows 窗体控件中的边距和填充如何:使用填充在 Windows 窗体控件周围创建边框如何:实现自定义布局引擎Windows 窗体控件中的多线程处理如何:对 Windows 窗体控件进行线程安全调用如何:使用后台线程搜索文件设计时开发 Windows 窗体控件演练:使用Visual Basic 创作复合控件演练:使用Visual C# 创作复合控件演练:使用Visual Basic 从Windows 窗体控件继承演练:使用Visual C# 从Windows 窗体控件继承演练:使用Windows 窗体控件上的智能标记执行常规任务演练:使用DesignerSerializationVisibilityAttribute 序列化标准类型的集合演练:设计时调试自定义Windows 窗体控件演练:创建一个利用Visual Studio 设计时功能的Windows 窗体控件如何:创作Windows 窗体的控件如何:创作复合控件如何:从UserControl 类继承如何:从现有Windows 窗体控件继承如何:从Control 类继承如何:设计时将控件与窗体边缘对齐如何:在“选择工具箱项”对话框中显示控件如何:为控件提供工具箱位图如何:测试UserControl 的运行时行为Windows 窗体设计器中的设计时错误控件和组件创作疑难解答Windows 窗体中的用户输入Windows 窗体应用程序中的用户输入Windows 窗体应用程序中的键盘输入键盘输入工作原理使用键盘事件如何:修改标准控件中的键盘输入如何:确定所按下的修改键如何:在窗体级别处理键盘输入Windows 窗体应用程序中的鼠标输入Windows 窗体中鼠标输入的工作原理Windows 窗体中的鼠标事件如何:区分单击和双击Windows 窗体中的鼠标指针Windows 窗体中的鼠标捕获Windows 窗体中的拖放功能如何:在代码中模拟鼠标和键盘事件如何:在 Windows 窗体控件中处理用户输入事件Windows 窗体中的用户输入验证Windows 窗体中的对话框如何:显示 Windows 窗体的对话框如何:显示消息框如何:在设计时创建对话框如何:从对话框的父窗体检索信息如何:使用多个属性有选择地检索对话框信息如何:检索对话框的结果如何:关闭对话框并保留用户输入对话框的用户输入演练:使用对象整体检索对话框信息Windows 窗体数据绑定数据绑定和 Windows 窗体Windows 窗体支持的数据源与数据绑定相关的接口Windows 窗体数据绑定中的更改通知如何:在 Windows 窗体中导航数据如何:实现 INotifyPropertyChanged 接口如何:应用 PropertyNameChanged 模式如何:实现 ITypedList 接口如何:实现 IListSource 接口如何:确保绑定到同一数据源的多个控件保持同步如何:确保子表中的选定行保持在正确的位置如何:在 Windows 窗体上创建简单绑定控件如何:创建绑定控件并设置显示数据的格式Windows 窗体安全Windows 窗体中的安全性概述Windows 窗体中更加安全的文件和数据访问Windows 窗体中的更加安全的打印Windows 窗体中额外的安全注意事项Windows 窗体的ClickOnce 部署如何:在Windows 窗体中访问键控集合增强 Windows 窗体应用程序Windows 窗体中的图形和绘制图形概述(Windows 窗体)图形概述图形服务的三个类别图形界面的结构关于 GDI+ 托管代码直线、曲线和图形向量图形概述GDI+ 中的笔、直线和矩形GDI+ 中的椭圆和弧线GDI+ 中的多边形GDI+ 中的基数样条GDI+ 中的贝塞尔样条GDI+ 中的图形路径GDI+ 中的画笔和实心形状GDI+ 中的开放曲线和闭合曲线GDI+ 中的区域在 GDI+ 中限制绘制图面用直线和曲线抗锯齿图像、位图和图元文件位图类型GDI+ 中的图元文件在 GDI+ 中绘制、定位和克隆图像在 GDI+ 中裁切和缩放图像坐标系和坐标变换坐标系类型变换的矩阵表示形式全局变换和局部变换使用托管图形类图形编程入门如何:创建用于绘制的 Graphics 对象如何:创建钢笔如何:设置钢笔颜色如何:创建实心画笔如何:在 Windows 窗体上绘制线条如何:绘制空心形状如何:在 Windows 窗体上绘制实心矩形如何:在 Windows 窗体上绘制实心椭圆如何:在 Windows 窗体上绘制文本如何:在 Windows 窗体上绘制垂直文本如何:使用 GDI+ 呈现图像如何:创建特定形状的 Windows 窗体如何:在 Windows 窗体中复制像素以减少闪烁使用钢笔绘制线条和形状如何:使用钢笔绘制线条如何:使用钢笔绘制矩形如何:设置钢笔的宽度和对齐方式如何:绘制具有线帽的线条如何:联接线条如何:绘制自定义虚线如何:绘制用纹理填充的线条使用画笔填充形状如何:用纯色填充形状如何:用阴影图案填充形状如何:用图像纹理填充形状如何:在形状中平铺图像使用渐变画笔填充形状如何:创建线性渐变如何:创建路径渐变如何:对渐变应用灰度校正使用图像、位图、图标和图元文件如何:在屏幕上绘制现有位图如何:加载和显示图元文件如何:裁切和缩放图像如何:旋转、反射和扭曲图像如何:缩放时使用插值模式控制图像质量如何:创建缩略图像如何:通过避免自动缩放改善性能如何:读取图像元数据如何:在运行时创建位图如何:提取与 Windows 窗体中的文件关联的图标Alpha 混合线条和填充如何:绘制不透明和半透明的线条如何:用不透明和半透明的画笔绘制如何:使用复合模式控制 Alpha 混合如何:使用颜色矩阵设置图像中的 Alpha 值使用字体和文本如何:构造字体系列和字体如何:在指定位置绘制文本如何:在矩形中绘制换行文本如何:用 GDI 绘制文本如何:对齐绘制的文本如何:创建垂直文本如何:在绘制的文本中设置制表位如何:枚举已安装的字体如何:创建专用的字体集合如何:获取字体规格如何:对文本使用抗锯齿效果构造并绘制曲线如何:绘制基数样条曲线如何:绘制单个贝塞尔样条如何:绘制贝塞尔样条序列构造并绘制轨迹如何:使用线条、曲线和形状创建图形如何:填充开放图形如何:将曲线路径展平为直线在托管GDI+ 中使用变换使用世界变换为什么变换顺序非常重要使用图形容器管理 Graphics 对象的状态使用嵌套的 Graphics 容器使用区域如何:对区域使用命中测试如何:对区域使用剪辑对图像重新着色如何:使用颜色矩阵对单色进行变换如何:转换图像颜色使用转换来调整颜色如何:旋转颜色如何:修剪颜色如何:使用颜色重新映射表在托管GDI+ 中使用图像编码器和解码器如何:列出已安装的解码器如何:列出已安装的解码器如何:确定编码器支持的参数如何:将 BMP 图像转换为 PNG 图像如何:设置 JPEG 压缩级别使用双缓冲双缓冲图形如何:通过对窗体和控件使用双缓冲来减少图形闪烁如何:手动管理缓冲图形如何:手动呈现缓冲图形Windows 窗体的应用程序设置应用程序设置概述应用程序设置体系结构应用程序设置特性自定义控件的应用程序设置使用应用程序设置和用户设置如何:在设计时创建新设置如何:在设计时更改现有设置的值如何:在应用程序会话之间更改设置值如何:在运行时读取设置 (C#)如何:在运行时编写用户设置 (C#)如何:向应用程序添加多个设置组 (C#)如何:验证应用程序设置如何:创建应用程序设置如何:使用设计器创建应用程序设置如何:使用设计器将属性绑定到现有应用程序设置如何:使用设计器为应用程序设置修改属性绑定在 Visual Studio 中调试使用应用程序设置的 Windows 窗体应用程序Windows 窗体打印支持如何:创建标准的 Windows 窗体打印作业如何:在运行时从 PrintDialog 中捕获用户输入如何:在 Windows 窗体中选择连接到用户计算机的打印机如何:在 Windows 窗体中打印图形如何:打印 Windows 窗体中的多页文本文件如何:完成 Windows 窗体打印作业如何:打印 Windows 窗体如何:使用打印预览在 Windows 窗体中进行打印拖放操作和剪贴板支持演练:在 Windows 窗体中执行拖放操作如何:将数据添加到剪贴板如何:从剪贴板检索数据如何:在应用程序之间执行拖放操作Windows 窗体应用程序中的网络全球化Windows 窗体Windows 窗体和控件中的国际字体通过 ImeMode 属性显示亚洲字符Windows 窗体应用程序的双向支持编码和 Windows 窗体全球化演练:本地化 Windows 窗体演练:创建可根据本地化需要调整比例的布局如何:使用 AutoSize 属性和 TableLayoutPanel 控件支持对Windows 窗体的本地化如何:为全球化在 Windows 窗体中按从右到左的顺序显示文本如何:为 Windows 窗体全球化设置区域性和用户界面的区域性如何:为双向 Windows 窗体创建消息框如何:创建镜像 Windows 窗体和控件Windows 窗体和非托管应用程序Windows 窗体和非托管应用程序概述演练:在每个 Windows 窗体各自的线程上显示该 Windows 窗体自身以支持 COM 互操作如何:通过在每个 Windows 窗体各自的线程上显示该Windows 窗体来支持 COM 互操作如何:通过使用 ShowDialog 方法显示 Windows 窗体来支持COM 互操作系统信息和Windows 窗体Windows 窗体中的电源管理Windows XP 功能和Windows 窗体控件Windows 窗体可视化继承如何:继承 Windows 窗体如何:使用“继承选择器”对话框继承窗体修改基窗体的外观的效果演练:演示可视化继承如何:使用 Modifiers 和 GenerateMember 属性多文档界面(MDI) 应用程序如何:创建 MDI 父窗体如何:创建 MDI 子窗体如何:确定活动的 MDI 子窗体如何:将数据发送到活动的 MDI 子窗体如何:排列 MDI 子窗体在Windows 窗体中集成用户帮助如何:在 Windows 应用程序中提供帮助如何:显示弹出帮助使用工具提示的控件帮助Windows 窗体辅助功能演练:创建可访问的基于 Windows 的应用程序支持辅助功能准则的 Windows 窗体控件上的属性使用WPF 控件如何:在设计时复制并粘贴 ElementHost 控件演练:设计时在 Windows 窗体上排列 WPF 内容演练:设计时更改承载的 WPF 元素的属性演练:设计时在 Windows 窗体上创建新的 WPF 内容演练:将 ElementHost 控件复制并粘贴到单独的 Windows 窗体中演练:设计时在 Windows 窗体上分配 WPF 内容演练:设置 WPF 内容的样式Windows 7 功能和Windows 窗体Windows 窗体参考Windows 窗体演练Windows 窗体应用程序代码Windows 窗体设计器用户界面元素Windows 窗体设计器Windows 窗体设计器编辑器字节集合编辑器ColumnHeader 集合编辑器ContextMenuStrip 项集合编辑器LinkArea 编辑器MenuStrip 项集合编辑器StatusStrip 项集合编辑器字符串集合编辑器ToolStrip 项集合编辑器树节点编辑器Windows 窗体设计器对话框“自动套用格式”对话框(Windows 窗体 DataGrid 控件)“CellStyle 生成器”对话框(Windows 窗体 DataGridView 控件)“ContextMenuStrip 任务”对话框“编辑列”对话框(Windows 窗体 DataGridView 控件)“格式字符串”对话框“格式设置和高级绑定”对话框“选项”对话框 ->“Windows 窗体设计器”->“常规”“继承选择器”对话框“MenuStrip 任务”对话框“选择资源”对话框“StatusStrip 任务”对话框“ToolStrip 任务”对话框“ToolStripContainer 任务”对话框Windows 窗体设计器错误信息“自动套用格式”对话框(Windows 窗体 DataGrid 控件)“CellStyle 生成器”对话框(Windows 窗体 DataGridView 控件)“ContextMenuStrip 任务”对话框“编辑列”对话框(Windows 窗体 DataGridView 控件)“格式字符串”对话框“格式设置和高级绑定”对话框“选项”对话框 ->“Windows 窗体设计器”->“常规”“继承选择器”对话框“MenuStrip 任务”对话框“选择资源”对话框“StatusStrip 任务”对话框“ToolStrip 任务”对话框“ToolStripContainer 任务”对话框Windows 窗体设计器错误信息“<标识符名>”不是有效的标识符“<项目名>”中已存在“<名称>”“<工具箱选项卡名>”不是工具箱类别请求的语言分析器未安装缺少生成和分析源代码所需的服务尝试创建“<对象名>”的实例时发生异常另一个编辑器以不兼容模式打开了“<文档名>”另一个编辑器对“<文档名>”进行了更改另一个编辑器以不兼容的模式打开了此文件数组秩“<数组中的秩>”过高未能打开程序集“<程序集名>”元素类型不正确。
第8章 Windows窗体

8.6 单选按钮和复选框
单选按钮和复选框就是RadioButton和CheckBox控件,实际上RadioButton 和CheckBox控件与按钮控件有相同的基类,只是它们的外观和用法大不相同。 传统上,单选按钮显示为一个标签,左边是一个圆点,该点可以是选中或未选 中分在要给用户提供几个互斥选项时,就可以使用单选按钮。例如,询问用户的 性别。 把单选按钮组合在一起,给它们创建一个逻辑单元,此时必须使用GroupBox 控件。首先在窗林上拖放一个该组框,再把需要的RadioButton按钮放在组框的 边界之内,RadioButton就会知道如何改变自己的状态,以反映组框中惟一被选 中的选项。如果不把它们放在组框中,则在任意时刻,窗体不会只有一个 RadioButton被选中。 传统上,CheckBox显示为一个标签,左边是一个带有标记的小方框。在希望 用户可以选择一个或多个选项时,就应使用复选框。例如询问用户要使用的操作 系统(如Windows 2000,Windows XP, Linux等)
8.1 Windows窗体简介
删除窗体的方法非常简单,只需要在要删除的窗体名称上单击鼠标右键, 再弹出的快捷菜单中选择“删除”命令,即可将窗体删除,如图8-9所示。
8.1 Windows窗体简介
8.1.3 设置启动窗体属性 一个完整的Windows应用程序是由多个窗体组成的,比如一个图书管理系统,就 有登录窗口、主窗口、查询窗口等多个窗口。多个窗口的建立是向项目中添加多个窗 体,具体添加方法可以参照在8.1.2窗体的创建与删除。 当向项目中添加了多个窗体以后,如果要调试运行程序,必须要设置先运行的窗 体。这样就需要设置项目的第一个启动窗体。项目的启动窗体时在Program.cs文件中 设置,在Program.cs文件中改变Run方法的参数,即可实现设置启动窗体。 Program.cs中主要的代码片断如下: [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); }
第4章 窗体和常用控件

VB采用了事件驱动的编程机制。当没有事件发生时,程序处 于停滞状态,只有事件发生时,程序才会运行。窗体除了 Click事件外,还有以下常见的事件。 (1)Initialize事件 当窗体第一次创建时会触发Initialize事件,一般将窗体的初 始化代码存放在该事件过程中。 (2)Load 事件 在一个窗体被装载时触发Load事件。通常,Load 事件过程用 来包含一个窗体的启动代码,例如,指定控件缺省设置值等。 (3)Unload事件 运行程序后,如果关闭窗体,就会触发Unload事件。 (4)Activate事件 当一个窗体变为活动窗体时,就会触发Activate事件。
Private Sub Option1_Click() = "宋体" End Sub Private Sub Option2_Click() = "黑体" End Sub Private Sub Option3_Click() = "楷体" End Sub
其主要属性是Caption属性,该属性用于设置在 按钮上显示的文本,命令按钮见事件是Click事件。
【例4-3】
对象属性设置如表所示。
对象名称 属性 Text1 Text Text2 Text Text3 Text Locked Label1 Caption Label2 Caption Label3 Caption Command1 Caption 属性值 空白 空白 空白 True 加数1 加数2 和 求和 说明 程序启动时文本框内无文本 程序启动时文本框内无文本 程序启动时文本框内无文本 设置该文本框不可编辑 标签框标题 标签框标题 标签框标题 命令按钮标题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建应用程序的操作界面
5. 设置所有控件的Tab键顺序索引
Tab键顺序是指当用户按下Tab键时,焦点在控件间移动的顺序。 每个窗体都有自己的Tab键顺序,每个控件在窗体上也都有唯 一的Tab键顺序索引。默认状态下,控件在窗体上的Tab键顺序 索引与建立控件的顺序一致。如果要设置窗体上控件的Tab键 顺序索引,可以分别对每个控件设置其TabIndex属性,也可以 集中设置所有控件的Tab键顺序索引。 • 要集中设置所有控件的Tab键顺序索引,可以选择菜单【视 图|Tab键顺序】命令。如果需要改变多个控件的Tab键顺序索 引,按照想设置的顺序依次单击各个控件。【Tab键顺序】命 令是一个切换命令,因此设置好所有控件的Tab键顺序索引之 后,再次选择【Tab键顺序】命令即可结束Tab键顺序索引的设 置。
LOGO
《Visual C#.NET程序设计教程 》
Windows窗体与控件
内容简介
• Windows窗体是以.NET Framework为基础的一个新平台,主 要用来开发Windows应用程序。一个Windows应用程序通常由 窗体对象和控件对象构成,即使开发一个最简单的Windows 应用程序,也必须了解窗体对象和控件对象的使用。 • 先主要介绍Windows窗体的结构和常用属性、方法与事件, 以及Label、LinkLabel、TextBox、Button几种常用控件的 使用。
2. 设置标签的文本
• 在Label中显示文本,使用Text属性。首先要选择Label控件, 然后在属性窗口中设置该属性为某个字符串即可。 • Label控件中的文本默认的排列方式为靠上左对齐,通过设 置TextAlign属性可以改变排列方式。TextAlign属性值是 ContentAlignment枚举类型,共有9个枚举值,默认值是 TopLeft。如果设置TextAlign为TopCenter,则靠上居中。
标签Label
4. 自动调整标签大小
• AutoSize(自动尺寸)属性决定标签文本能否根据文本大小 自动调整标签大小。 • 如果Label控件的AutoSize属性设置为True,则可根据Text 属性指定文本自动调整标签的大小。 • 如果AutoSize属性设置为False,则标签将保持设计时定义 的大小,在这种情况下,如果文本太长,则只能显示其中的 一部分。当文本超过Label控件的宽度时,文本会自动换行, 但在超过控件的高度时,超出的部分将无法显示出来。
创建应用程序的操作界面
• 应用程序的操作界面由各个对象组成,创建操作界面就是在 窗体上绘制代表各个对象的控件。 • 1. • 2. • 3. • 4. • 5. • 6. 添加控件 选择控件 调整控件的尺寸和位置 对控件进行布局 设置所有控件的Tab键顺序索引 锁定所有控件
创建应用程序的操作界面
窗体的结构
窗体的结构
窗体的结构
• 在创建Windows应用程序时,Visual Studio 2010会将窗 体文件命名为Form1.cs,建议编程人员将其改为能够描述 程序用途的名称。
• 提示:将应用程序的窗体文件名改为能够描述程序用途的 名称,是一个良好的编程习惯。
窗体的属性
• 窗体有一些表现其特征的属性,可以通过设置这 些属性控制窗体的外观。 • 属性值的设置有两种方式:一种是在设计程序时, 通过属性窗口实现;一种是在运行程序时,通过 代码实现。 • 通过代码设置属性的一般格式是: 对象名.属性名 = 属性值;
创建应用程序的操作界面
3. 调整控件的尺寸和位置
•用鼠标调整控件位置的步骤如下: •(1) 将鼠标指向要移动的控件,当鼠标变为十字箭头时,按下 鼠标左键不放。 •(2) 用鼠标把该控件拖动到新位置。 •(3) 松开鼠标左键。 •提示:也可以通过键盘来调整选定控件的位置。每按一次箭头 键,控件移动一个像素;如果按Ctrl键加上箭头键,控件每次 移动一定的距离(多个像素),来与其它控件对齐。
创建应用程序的操作界面
3. 调整控件的尺寸和位置
•调整控件的尺寸和位置,可以通过设置控件的相应属性来实现。 但在要求的精确度不高的情况下,最快捷的方法是在窗体设计 器中直接用鼠标调整控件的尺寸和位置。 •用鼠标调整控件尺寸的步骤如下: (1)用鼠标单击需要调整尺寸的控件,选定的控件上出现8个尺 寸手柄。 (2) 将鼠标指针定位到尺寸手柄上,当鼠标变为双向箭头时按 下鼠标左键,拖动该尺寸手柄直到控件达到所希望的大小为止。 控件角上的4个尺寸手柄可以同时调整控件水平和垂直方向的大 小,而边上的4个尺寸手柄调整控件一个方向的大小。 (3) 松开鼠标左键。 • 提示:也可按Shift键加上箭头键,来调整选定控件的尺寸。
常用控件(一)
最常用的基本控件——标签、链接标签、文本框、按钮
标签Label
•Label(标签)控件的功能是显示不能编辑的文本信息,一般 用于在窗体上进行文字说明。 •标签有Name(名称)、AutoSize(自动尺寸)、BackColor (背景色)、BorderStyle(边框)、Enabled(可用)、Font (字体)、ForeColor(前景色)、Image(图像)、Location (位置)、Locked(锁定)、Size(尺寸)、Text(文本)、 TextAlign(文本排列)、Visible(可见)等属性。
窗体
• 窗体(Form)就是平常所说的窗口,各种控件对象必须建 立在窗体上。窗体对象是 Visual C# 应用程序的基本构造 模块,是运行应用程序时与用户交互操作的实际窗口。窗 体有自己的属性、方法和事件,用于控制其外观和行为。
• 窗体的结构
• 窗体是包含所有组成程序用户界面的其他控件的对象。在 创建Windows应用程序项目时,Visual Studio 2010会自 动提供一个窗体,其组成结构如下图所示。
窗体的方法
• 窗体具有一些方法,调用这些方法可以实现特定的操作。 窗体常用的方法如下表所示。
窗体的方法
• 关闭窗体与隐藏窗体的区别在于:关闭窗体是将窗体彻底销 毁,之后无法对窗体进行任何操作;隐藏窗体只是使窗体不 显示,可以使用Show或ShowDialog方法使窗体重新显示。 • 模式窗体与非模式窗体的区别在于:模式窗体,在其关闭或 隐藏前无法切换到其他窗体;非模式窗体,则可以在窗体之 间随意切换。 • 调用方法的一般格式为:对象名.方法名(参数列表)。 • 如果要对调用语句所在的窗体调用方法,则用this关键字 (表示当前类的对象)代替对象名,即: this.方法名(参数列表); • 在面向对象的程序设计中,还有一种特殊的的方法叫静态方 法,这种类型的方法通过类名调用。调用的一般格式为: 类名.静态方法名(参数列表);
1. 添加控件
• 向窗体中添加一个控件的步骤如下(以按钮为例): (1) 单击【工具箱】中的“公共控件”选项卡,出现各种控件。 (2) 将鼠标移到Button控件上单击,然后移到中间的窗体,这 时会看到鼠标指针变成十字线的形状。 (3) 将十字线放在窗体的适当位置,单击窗体并按住左键不放, 拖动鼠标画出一个矩形。 (4) 松开左键,会看到一个Button控件被创建在窗体上。 • 提示:向窗体中添加控件的另一个简单方法,是双击工具箱 中的控件。这样会在窗体的默认位置创建一个具有默认尺寸的 控件,然后可以将该控件移到窗体中的其他位置。
标签Label
5. 标签的其他属性
•描述Label控件的边框的属性是BorderStyle,默认值为None (无边框)。如果将该属性设成FixedSingle,那么Label控件 就有了一个黑色边框;如果将该属性设成Fixed3D,那么Label 控件就有了一个立体边框。 • 决定Label控件是否可见的属性是Visible,默认值为 True(可见)。如果设成False,那么Label控件将被隐藏。 • 还可以通过设置Label控件的BackColor(背景色)、 ForeColor(前景色)、Font(字体)等属性来改变Label控件 的其他外观;通过设置Location(位置)、Locked(锁定)、 Size(尺寸)等属性来影响Label控件的位置和尺寸。 • 提示:Label控件不接受焦点。
标签Label
1. 设置标签的名称
• 任何对象都有名称,Name属性指示代码中用来表示对象的名 称。要设置Label控件的名称,首先选择Label控件,然后在 【属性】窗口中设置Name属性为某个标识符即可。 • 例如,有一个要显示“学生姓名”文本的标签,可以设置其 Name属性为lblStuName。
创建应用程序的操作界面
6. 锁定所有控件
• 可以把窗体及该窗体上的所有控件进行锁定,锁定之后,窗 体的尺寸及控件的位置和尺寸就无法通过鼠标或键盘操作来 改变。锁定控件可以防止已处于理想位置的控件因为不小心 而被移动。 • 如果要进行锁定操作,在窗体编辑区的任意位置右击,从弹 出的快捷菜单中选择【锁定控件】命令即可。本操作只锁定 选定窗体上的全部控件,不影响其他窗体上的控件。 • 如果要调整锁定控件的位置和尺寸,可以在【属性】窗口中 改变控件的Location和Size属性。【锁定控件】命令是一个 切换命令,因此,再次选择【锁定控件】命令即可解除锁定。
创建应用程序的操作界面
4. 对控件进行布局
•对控件进行布局,可以通过【格式】菜单或工具栏实现。如 果格式工具栏没有显示,可以通过【视图】菜单下的“工具栏 |布局”命令来显示格式工具栏。格式工具栏如下图所示。 图3.4 格式工具栏
• 布局的内容包括对齐、大小、间距、叠放次序等。当多个控 件被同时选中时,控件的所有布局功能都可用;只有一个控件 被选中时,只有少数布局功能可用。
窗体的事件
• 窗体作为对象,能够执行方法并对事件做出响应。窗体的常 用事件,如下表所示。
窗体的事件
• 如果要为窗体对象添加事件处理程序,首先在设计器窗口选 中窗体对象,然后在属性窗口的事件列表中找到相应的事件 并双击它,即可在代码窗口看到该窗体的事件处理程序。以 Form1的Load事件为例,其事件处理程序的格式为: private void Form1_Load(object sender, EventArgs e) { // 程序代码 } • 其中,Form1_Load是事件处理程序的名称,所有对象的事件 处理程序默认名称都是“对象名_事件名”;所有对象的事 件处理程序都具有sender和e两个参数,参数sender代表事 件的源,参数e代表与事件相关的数据。