winform从入门到精通

news2025/1/9 16:56:49

环境

开发工具 visual studio 2019 16.11 community
基础框架 framework4.8
.net5需要开发工具小版本16.8以上

winform开发入门

windows桌面端应用开发框架
https://github.com/dotnet/winforms

c#基础

partial class

创建项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

项目结构

在这里插入图片描述

引用:所依赖的系统库
app.config:应用配置
Form1.cs:源码文件(窗口),业务代码
form.designer.cs 源码文件(界面设计)自动生成
form1.resx 资源文件
program.cs 源码文件(main方法)

手工创建窗口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
[STAThread],相当于java里面的注解语法,用于修饰Main方法
Application.Run():启动消息循环

控件

控件就是client上面的展示
控件基本分为两大类

添加控件

在这里插入图片描述
调用关系:Form1()->InitializeComponent()

手动添加控件

在这里插入图片描述
在这里插入图片描述

事件处理

在这里插入图片描述

手工事件处理

Form1.cs添加一个回调方法
void OnTest(object sender,EventArgs e){}
添加事件处理
testButton.Click += new EventHandler(this.OnTest)
在这里插入图片描述
事件处理:System.EventHandler
sender:事件发送者,点中的控件
e:事件的额外参数,比如鼠标点击的位置
手动需要在Form1.cs中手动添加事件处理

显示时间

在这里插入图片描述
思路就是点击按钮,下面文本框出现时间
这个是非常简单的,给点击按钮一个事件处理,将得到的当前时间给文本框那个属性就可以
在这里插入图片描述

控件布局

可视化布局:设计器里拖放操作
手工布局:用代码计算每个控件的位置
重写OnLayout方法
override void OnLayout(LayoutEventArgs levent){}
当窗口大小改变时,会自动改变
使用布局器:用布局器自动布局
LayoutEngine:负责子控件的布局
默认的,一个Form或Panel都自带了一个布局器

ClientSize:仅窗口客户区大小
在这里插入图片描述
Anchor:锚定,将控件固定于某个位置
Dock:停靠,将控件停靠在一侧或中央

流式布局

FlowLayoutPanel本身不是布局器,它只是一个面板。是它内部实现了一个布局期

表格布局

TableLayoutPanel

AfDockLayout

AfDockLayout:对默认Dock布局的优化版

标签学习

https://learn.microsoft.com/zh-cn/dotnet/api/?view=netframework-4.7

计算器

dock 将控件停靠在窗口的某个地方,拉伸的时候会随之变动
anchor 可以将控件自适应变动

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

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

相关文章

编写猫咪相册应用 HTML

文章目录1. 标题元素标签2. p元素用于在网站上创建一段文本3. 注释4. 页面主要部分标识标签5. 通过使用img元素来为你的网站添加图片6. 使用锚点元素(a)链接到另一个页面7. 使用 section 元素将照片内容与未来的内容分开8. 无序列表(ul)元素,列表项(li)元素在列表中…

【C++11】final与override关键字和类的新功能

目录 一、final与override关键字 1.1 final 1.2 override 二、类的新功能 2.1 默认成员函数 2.2 类成员变量初始化 2.3 default关键字 2.4 delete关键字 注意:C专栏的所有测试代码都是在 vs2019 的环境下编译运行的 一、final与override关键字 这两个关键…

C++基础入门

C基础入门1.C认识1.1 第一个C程序1.1.1 创建项目1.1.2 创建文件1.1.3 编写代码1.1.4 运行程序1.3 变量1.4 常量1.5 关键字1.6 标识符命名规则2 数据类型2.1 整型2.2 sizeof关键字2.3 实型(浮点型)2.4 字符型2.5 转义字符2.6 字符串型2.7 布尔类型 bool2.…

Session、Cookie和Token

Session、Cookie和Token 参考:Session、Cookie、Token 【浅谈三者之间的那点事】 HTTP协议是一种无状态协议,即每次服务端接收到客户端请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;Session和Cooki…

统信UOS + Windows双系统安装教程

全文导读:本文主要介绍了AMD架构下(Intel/amd/兆芯/海光)的机器同时安装Windows系统UOS系统的方法。 准备环境 1、下载好UOS系统镜像(AMD64),下载地址:https://www.chinauos.com/resource/down…

第6章 接口、lambda表达式与内部类

文章目录Java与C异Java与C同接口接口概念接口与抽象类静态和私有方法默认方法解决默认方法冲突接口与回调(不明白)Comparator接口为什么有比较器Comparator接口实现步骤示例问题对象克隆为什么克隆浅拷贝:Object.clone方法的问题深拷贝数组的…

Firefox浏览器-渗透测试插件推荐

在日常工作中可能需要一些浏览器插件辅助我们做工作 下面是比较好的,当然不一定对你有用,找到适合自己的即可 FoxyProxy FoxyProxy是一个高级的代理管理工具,它完全替代了Firefox有限的代理功能。它提供比SwitchProxy、ProxyButton、 Quick…

3-5年以上的功能测试如何进阶自动化?【附学习路线】

做为功能测试人员来讲,从发展方向上可分两个方面: 1、业务流程方向 2、专业技能方向。 当确定好方向后,接下来就是如何达到了。(文末自动化测试学习资料分享) 一、业务流程方向 1、熟悉底层的业务 作为功能测试工程师来讲,了解…

Arduino-环境搭建

Arduino-环境搭建 文章目录Arduino-环境搭建下载开发软件调研Arduino入门教程本次学习所使用的Arduino开发板型号下载开发板的包——电脑联网,先插上开发板,再打开Arduino IDEArduino串口接收实验Arduino蓝牙接收实验Arduino蓝牙发送实验下载开发软件 官…

【python-Unet】计算机视觉~舌象舌头图片分割~机器学习(三)

返回至系列文章导航博客 1 简介 舌体分割是舌诊检测的基础,唯有做到准确分割舌体才能保证后续训练以及预测的准确性。此部分真正的任务是在用户上传的图像中准确寻找到属于舌头的像素点。舌体分割属于生物医学图像分割领域。分割效果如下: 2 数据集介…

一些二叉树相关面试题

文章目录1. 对折2. 判断是否是平衡二叉树3. 判断是否是搜索二叉树4. 二叉树的直径5. 寻找最大二叉搜索树6. 用递归套路判断是否是完全二叉树7. 派对的最大快乐值1. 对折 这个大家可以自己用纸对折一下,我这里就简单的说一下: 这是我们第一次对折的情况。…

使用PHP做个图片防盗链(全网详解)

概念: 防盗链是一种防范网络图片、视频等资源被他人盗链(直接在其它网站使用)的技术。在网站上添加防盗链功能可以防止其他网站恶意盗取自己网站的图片等内容,减少带宽消耗和保护网站内容安全。通常实现防盗链的方式是在网站服务…

js 使用 Array.from 快速生成0~5,步进值为0.1的数组

一、我们平常用的比较多的方法是for循环生成 let data[] for(let i0;i < 51;i){data.push(i/10) }二、用Array.from生成 先来认识一下我们今天的主角&#xff01;&#xff01;&#xff01; 1、释义 Array.from() 方法从一个类似数组或可迭代对象创建一个新的&#xff0c…

SpringMVC(三):请求流程处理

一、引言&#xff1a; 如下是我画的一个简单的SpringMVC的请求流程图&#xff0c;接下来会通过请求流程图去进行源码分析。 [1 ] 当我们客户端发送请求时&#xff0c;Servlet会进行请求的解析&#xff0c;然后交给DispatcherServlet进行统一分发。[2] DispatcherServlet会根…

北京君正案例:超能面板PRO采用4英寸IPS超清多彩屏,值不值得买?

清晨&#xff0c;窗帘自动拉开&#xff0c;悦耳音乐缓缓响起&#xff0c;面包机、咖啡机自动工作&#xff0c;开启新一天。离家时&#xff0c;一键关掉所有灯光和家电&#xff0c;节能安全&#xff0c;手机上便可查看家里设备状态&#xff0c;不用担心门没锁、灯没关等问题。下…

ClickHouse入门详解

ClickHouse基础部分详解一、ClickHouse简介二、ClickHouse单机版安装2.1、ClickHouse安装前准备环境2.2、ClickHouse单机安装三、ClickHouse数据类型四、ClickHouse的表引擎一、ClickHouse简介 对于其他乱起八糟的简介&#xff0c;我就不写了&#xff0c;只写干货. ClickHouse总…

Lumen6 /laravel 框架路由请求实现token验证

版本 Lumen6.0 中文文档&#xff1a;https://learnku.com/docs/lumen/5.7/cache/2411 实现功能效果 1、使用缓存存储用户token 2、从请求头head 中获取用户token 3、返回指定的认证失败结构体 4、对指定的接口路由做身份验证 第一步&#xff1a;解除注释 注意&#xff1…

QML控件--Container

文章目录一、控件基本信息二、控件说明三、属性成员四、成员函数一、控件基本信息 Import Statement: import QtQuick.Controls 2.14 Since: Qt 5.7 Inherits: Control Inherited By: DialogButtonBox, MenuBar, SwipeView, and TabBar 二、控件说明 Container&#xff08;容…

网络安全之从原理看懂 XSS

01、XSS 的原理和分类 跨站脚本攻击 XSS(Cross Site Scripting)&#xff0c;为了不和层叠样式表(Cascading Style Sheets&#xff0c;CSS)的缩写混淆 故将跨站脚本攻击缩写为 XSS&#xff0c;恶意攻击者往 Web 页面里插入恶意 Script 代码&#xff0c;当用户浏览该页面时&…

【产品设计】删除确认文案,猛男落泪

使用各种系统时&#xff0c;都有各种删除操作&#xff0c;用户在删除时&#xff0c;很少关注文案写了什么&#xff0c;但这个文案往往让产品经理们殚精竭虑。怎么样才能写出合格的删除确认文案呢&#xff1f; 使用各种系统的时候&#xff0c;都有各种删除操作&#xff0c;作为用…