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

news2024/11/16 19:29:02

目录

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/55664.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(附源码)springboot物流配货管理系统 毕业设计 250858

基于springboot物流配货管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对物流配货等问题,对物流配货进行研究分析,然后…

电力系统机组组合优化调度(IEEE14节点、IEEE30节点、IEEE118节点)(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 📝目前更新:🌟🌟🌟电力系统相关知识,期刊论文&…

数云融合丨知识图谱在烟草零售数字化转型中的应用

一、知识图谱的趋势 随着互联网、云计算、大数据、人工智能等信息数据技术的快速发展,计算机的智能化程度也越来越高,知识图谱作为人工智能的核心技术,其在数据集成、语义表示和逻辑推理等方面存在着得天独厚的优势。 2021年&#xf…

Java并发-交替打印的四种方法。

1 前言 如下图所示,现在有两个线程A,B;A打印12345,B打印abcde,结果为1a2b3c4d5e交替输出。 1.1 采用wait和notify 【分析】我们要求线程A始终先打印,因此在线程B先获得CPU使用时间时也应该阻塞。 细节 线程A应该打印…

【人工智能/算法】搜索求解(Solving Problemsby Searching)

文章目录一、求解与搜索二、盲目式搜索1. 深度优先搜索(Depth First Search, DFS)回溯搜索(Backtracking Search)2. 广度优先搜索(Breadth First Search, BFS)一致代价搜索(Uniform-cost Search…

TLog轻量级分布式日志标记追踪神器

文章目录TLog简介项目特性安装TLogspringboot依赖spring native依赖日志框架适配方式(举例Log4j框架适配器)任务框架支持(举例XXL-JOB框架)TLog架构图TLog简介 TLog通过对日志打标签完成企业级微服务的日志追踪。它不收集日志,使用简单, 产生全局唯一的…

Actor 生命周期

一,一览图 二, 大致流程 三,细节 从磁盘加载 已位于关卡中的 Actor 使用此路径,如 LoadMap 发生时、或 AddToWorld(从流关卡或子关卡)被调用时。 包/关卡中的 Actor 从磁盘中进行加载。 PostLoad - 在序…

支持向量机(SVM)—— 详细推导及案例应用可视化

支持向量机(SVM) 1. 什么是支持向量机? 在上图中,我们想在二维平面中通过画出一条分界线将黑点与白点分开,很明显,我们认为在上面所画的三条分界线中H3H_3H3​是最好的,因为H1H_1H1​压根就没有…

【行为识别】差影法三维人体姿态行为识别【含Matlab源码 277期】

⛄一、简介 该课题为基于MATLAB差影法的人体姿态识别。需要准备对应的模板图片作为背景图,然后测试图和背景图进行作差,结合形态学知识,提取出人体轮廓,接上最外接矩形,得出矩形长宽,计算长宽比例&#xf…

江江文具店铺运营方案设计

目 录 摘 要 I ABSTRACT II 第一章 项目背景 1 1.1电子商务基本概念 1 1.2电子商务现状及发展趋势 1 1.3文具行业的发展现状 2 第二章 文具行业介绍 4 2.1文具行业的调查与分析 4 2.1.1文具行业电子商务渗透率 4 2.1.2文具行业内企业电子商务销售平台使用状况调查统计 5 2.1.3文…

自研芯片重构云上算力革新,满足用户所有负载的需求!

目前,云计算已深入到整个云基础设施,进入硬件协同创新的“深水区”,芯片创新之路是最底层的创新,是最具颠覆性的,也是改变云计算游戏规则的能力。 而亚马逊云科技硬件创新背后的初衷:为云而生的硬件设计&am…

【计算机毕业设计】71.大学生兼职信息系统源码

一、系统截图(需要演示视频可以私聊) 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐…

react源码中的协调与调度

requestEventTime 其实在React执行过程中,会有数不清的任务要去执行,但是他们会有一个优先级的判定,假如两个事件的优先级一样,那么React是怎么去判定他们两谁先执行呢? // packages/react-reconciler/src/ReactFibe…

数字化门店| 运动场馆管理系统| 智慧门店小程序

忙碌了一天或闲暇之余想要放松,不少年轻人都会选择前往运动场馆进行各种运动,如打篮球、踢足球、打羽毛球等,一些城市的某个特定区域内聚集着不同品牌的运动场馆,相互之间竞争激烈。 如今,消费升级下,消费者…

Win10系统修改用户名以及C盘下Users用户名实操手册(实测有效)

当然,前提先说下如无必要,不建议修改C盘user下用户名,毕竟重装系统可能就在那一瞬间。我们要理解里面的原理,逻辑关系就会好操作很多了。再次申明,目前这只是针对Win10的实操,Win11的操作会有一些不同&…

铁矿行业商业智能BI经营分析框架(三)财务能力分析

铁矿行业属于黑色金属矿采选业,商业智能BI对于这个行业的财务能力指标分析框架跟其它行业大体上是一样的。比如从盈利能力、债务风险、营运能力、发展能力、现金流这几个角度去看。 财务分析 - 派可数据商业智能BI可视化分析平台 一、盈利能力 商业智能BI从资产、…

天黑了、让我为你关窗帘吧

今天遇到朋友发来的一个需求,需要做一个窗户上下拉窗帘的小小的交互,于是就有了今天的小DEMO,要实现下图一个效果,需要开窗帘,关窗帘,中途还可以暂停,就这样一个小小的效果,我们来分…

阿里18年架构师,带你分析经典算法应用思路,探究分布式背后原理

你要知道 长期以来,在996的工作压力下,工程师们更重视实践中的技巧,力求快速解决眼前的问题,而鲜有时间关注问题背后的底层原理。 表面看来,这种做法提高了工作效率,但实际上,这样容易形成“头疼医头,脚疼…

【Python】解决CNN中训练权重参数不匹配size mismatch for fc.weight,size mismatch for fc.bias

目录 1.问题描述 2.问题原因 3.问题解决 3.1思路1——忽视最后一层权重 额外说明:假如载入权重不写strictFalse, 直接是model.load_state_dict(pre_weights, strictFalse),会报错找不到key? 解决办法是:加上strictFalse&…

Ajax学习:解决跨域_JSONP

JSONP:非官方的跨域解决方案,纯粹依靠程序员的聪明才智,只支持get请求 JSONP是怎么工作的:再页面中有一些标签天生具有跨域能力,就像是link,img,iframe,script JSONP就是利用script标签的跨域能力来发送请求 如下所示&#xff1a…