目录
- 前言
- Windows窗体应用程序概述;
- 窗体和大部分控件常用的事件
- 创建Windows窗体应用程序
- 使用Visual Studio集成开发环境实现Hello World程序
- 使用常用Windows窗体控件;
- Label、TextBox、RichTextBox、Button应用示例
- 单选按钮、复选框和分组
- 【例】RadioButton、CheckBox、GroupBox应用示例
- 列表选择控件
- 【例】ComboBox、ListBox、CheckedListBox应用
- 图形存储和显示控件
- 【 例】PictureBox和ImageList应用
- Timer控件
- 【例】Timer控件应用示例
- 通用对话框;
- 预定义的通用对话框包括:
- 通用对话框应用举例
- 【例】通用对话框应用示例(CommonDialog)
- 菜单和工具栏;
- Windows应用程序包括3种类型的菜单:
- 菜单设计
- 【例】MenuStrip和ContextMenuStrip控件的应用示例(MenuDesign)
- 多重窗体;
- 【例】多重窗体应用示例(MenuDesign)
- 多文档界面;
- 绘制图形
- 绘图程序的设计过程一般分为两个步骤
- Point/PointF/Size/Rectangle/RectangleF结构
- Color结构
- Font类
- Brush类
- Pen类
- 绘制字符串
- 绘制图形
- 绘制直线
- 绘制矩形
- 绘制椭圆
- 绘制圆弧
- 绘制连线和多边形
- 绘制图像
- 【例】图形绘制示例
- 【例】函数绘制(Sinx)
前言
Windows窗体应用程序概述;
使用Visual Studio开发Windows窗体应用程序;
窗体和控件概述;
使用常用Windows窗体控件;
通用对话框;
菜单和工具栏;
多重窗体;
多文档界面;
绘制图形
Windows窗体应用程序概述;
-
Windows窗体应用程序是运行在用户计算机本地的基于Windows的应用程序,提供丰富的用户界面以实现用户交互,并可以访问操作系统服务和用户计算环境提供的资源,从而实现各种复杂功能的应用程序
-
由于Windows窗体应用程序涉及复杂的用户界面和事件处理过程,故一般通过集成开发环境Visual Studio开发和调试Windows窗体应用程序
窗体和大部分控件常用的事件
创建Windows窗体应用程序
- 使用Visual Studio集成开发环境,可以快速高效地开发Windows窗体应用程序。
- 【例】使用Visual Studio集成开发环境实现Hello World程序。点击运行界面的Say Hello命令按钮,将弹出一个消息框,显示Hello World
1. 创建Windows应用程序
2. 添加控件
3. 创建处理控件事件的方法
4.运行并测试应用程序
使用Visual Studio集成开发环境实现Hello World程序
使用常用Windows窗体控件;
- Label(标签)控件主要用于显示(输出)文本信息
- LinkLabel(超链接标签)控件可显示超链接标签
- TextBox(文本框)控件用于输入文本信息
- RichTextBox(多格式文本框)控件用于显示、输入和操作带有格式的文本
- MaskedTextBox(掩码文本框)控件是一个增强型的文本框控件
Button(按钮)控件用于执行用户的单击操作
Label、TextBox、RichTextBox、Button应用示例
(1)创建Windows应用程序
(2)窗体设计
(3)创建处理控件事件的方法
1.生成并处理Form1_Load事件
初始化源文本框和目标文本框中的显示内容
2. 生成并处理button1_Click事件
双击窗体中的“复制”按钮控件,系统将自动生成button1_Click事件处理程序,在其中加入语句,以将源文本框选中的内容复制到目标文本框中,同时更改源文本框中所选文本的字体样式和颜色
(4)运行并测试应用程序
单选按钮、复选框和分组
- RadioButton(单选按钮)控件用于选择同一组单选按钮中的一个单选按钮(不能同时选定多个)
- CheckBox(复选框)控件用于选择一项或多项选项(可以同时选定多个)
- GroupBox(分组框)控件用于为其他控件提供可识别的分组
- 【例】RadioButton、CheckBox、GroupBox应用示例(Questionnaire)
【例】RadioButton、CheckBox、GroupBox应用示例
(1)创建Windows应用程序
(2)窗体设计
(3)创建处理控件事件的方法
显示用户所填写或者选择的个人信息
(4)运行并测试应用程序
列表选择控件
- ComboBox(组合框)控件用于在下拉组合框中显示数据
- ListBox(列表框)控件用于显示一个项列表,当MultiColumn属性设置为true时,列表框以多列形式显示项
- CheckedListBox(复选列表框)控件与ListBox控件类似,用于显示项的列表,同时还可以在列表中的项的旁边显示选中标记
- 【例】ComboBox、ListBox、CheckedListBox应用示例(Computer)
【例】ComboBox、ListBox、CheckedListBox应用
(1)创建Windows应用程序
(2)窗体设计
(3)创建处理控件事件的方法
显示用户所选择的电脑配置信息
(4)运行并测试应用程序
图形存储和显示控件
- PictureBox(图片框)控件用于显示位图、GIF、JPEG、图元文件或图标格式的图形
- ImageList(图像列表)控件用于存储图像,这些图像随后可由控件显示
【例】PictureBox和ImageList应用示例(Pictures)
【 例】PictureBox和ImageList应用
(1)创建Windows应用程序
(2)窗体设计
(3)创建处理控件事件的方法
(4)运行并测试应用程序
Timer控件
- Timer(定时器)控件用于定期引发事件的组件。通过Interval属性可设置定时器的时间间隔长度(以毫秒为单位)。通过Start和Stop方法,可以打开和关闭计时器。若启用了定时器,则每个时间间隔引发一个 Tick 事件
- 【例】Timer控件应用示例(TimerGame)
【例】Timer控件应用示例
(1)创建Windows应用程序
(2)窗体设计
(3)创建处理控件事件的方法
(4)运行并测试应用程序
通用对话框;
预定义的通用对话框包括:
- OpenFileDialog:通过预先配置的对话框打开文件
- SaveFileDialog:选择要保存的文件和该文件的保存位置
- ColorDialog:从调色板选择颜色以及将自定义颜色添加到该调色板中
- FontDialog:选择系统当前安装的字体
- PageSetupDialog:通过预先配置的对话框设置供打印的页详细信息
- PrintDialog:选择打印机,选择要打印的页,并确定其他与打印相关的设置
- PrintPreviewDialog:按文档打印时的样式显示文档
- FolderBrowserDialog:浏览和选择文件夹
通用对话框应用举例
【例】通用对话框应用示例(CommonDialog)
(1)创建Windows应用程序
(2)窗体设计
(3)创建处理控件事件的方法
(4)运行并测试应用程序
菜单和工具栏;
Windows应用程序包括3种类型的菜单:
- 主菜单:提供窗体的菜单系统。通过单击可下拉出子菜单,选择命令可执行相关的操作。Windows应用程序的主菜单通常包括:文件、编辑、视图、帮助等
- 上下文菜单(也称为快捷菜单):通过鼠标右击某对象而弹出的菜单,一般为与该对象相关的常用菜单命令。例如:剪切、复制、粘贴等
- 工具栏:提供窗体的工具栏。通过单击工具栏上的图标,可以执行相关的操作
菜单设计
- MenuStrip控件取代了MainMenu控件,用于实现主菜单
- ContextMenuStrip控件取代了ContextMenu,用于实现上下文菜单
- ToolStrip控件取代了ToolBar,用于实现工具栏
【例】MenuStrip和ContextMenuStrip控件的应用示例(MenuDesign)
(1)创建Windows应用程序
(2)窗体设计
(3)创建处理控件事件的方法
(4)运行并测试应用程序
多重窗体;
添加新窗体
调用其他窗体
【例】多重窗体应用示例(MenuDesign)
(1)打开Windows窗体应用程序
(2)创建和设计新窗体
(3)创建处理控件事件的方法
(4)运行并测试应用程序
多文档界面;
绘制图形
绘图程序的设计过程一般分为两个步骤
- (1)创建Graphics对象
- (2)使用Graphics对象的方法绘图、显示文本或处理图像
- Point/PointF/Size/Rectangle/RectangleF结构
- Color结构
- Font类
- Brush类
- Pen类
Point/PointF/Size/Rectangle/RectangleF结构
- Point结构用于指定坐标点,
- PointF结构为浮点坐标点,
- Size结构用于指定大小,
- Rectangle结构用于指定长方形区域,
- RectangleF结构为浮点长方形区域
Color结构
- Color结构用于封装对颜色的定义,表示一种ARGB颜色(alpha、红色、绿色、蓝色)。Color结构中提供许多系统定义的颜色
Font类
- Font类定义特定文本格式,包括字体、字号和字形属性
Font font = new Font(new FontFamily("宋体"), 16, FontStyle.Bold); //16磅宋体粗体
Brush类
- Brush类定义用于填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径)的画刷的对象
- Brush类是一个抽象的基类,不能被实例化
通常使用其派生类实例化一个画刷对象 - Brush类的派生类包括SolidBrush、TextureBrush、* LinearGradientBrush、PathGradientBrush、HatchBrush
例如: - SolidBrush shadowBrush = new SolidBrush(Color.Red); //红色单色画刷
- 密封类Brushes包括了所有标准颜色的画刷。例如:Brushes.Red
Pen类
-
Pen类用来指定绘制的笔触,包括宽度和样式
例如:
-
密封类Pens包括了所有标准颜色的画笔。例如:Pens.Red。通过Pen的属性,可以设置画笔的特性
绘制字符串
- 使用图形上下文的Graphics对象的下列方法,可以绘制字符串:
绘制图形
- 绘制直线
- 绘制矩形
- 绘制椭圆
- 绘制圆弧
- 绘制连线和多边形
- 绘制图像
绘制直线
绘制矩形
绘制椭圆
绘制圆弧
绘制连线和多边形
绘制图像
【例】图形绘制示例
(1)创建Windows窗体应用程序
(2)在窗体“属性”窗口中,单击“事件”按钮,然后双击事件名称paint,在Form1.cs中自动创建Form1_Paint事件处理程序。添加事件处理代码
【例】函数绘制(Sinx)
(1)创建Windows窗体应用程序
(2)在窗体“属性”窗口中,单击“事件”按钮,然后双击事件名称paint,在Form1_Paint事件处理程序中添加事件处理代码