.net-----Windows 窗体应用程序包括控件,对话框,多重窗体,绘制图形,菜单和工具栏

前言

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事件处理程序中添加事件处理代码
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉卧考场君莫笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值