文章目录

  • 1. WinForm工程创建 及 界面介绍
    • 1.1 WinForm工程创建
    • 1.2 窗体 Form1.cs “查看代码”
    • 1.3 打开窗体设计器
  • 2. 工具箱
  • 3. 窗体属性及创建
    • 3.1 窗体属性
    • 3.2 实例:创建一个新窗体
      • 3.2.1 添加新Windows窗体
      • 3.2.2 窗体属性配置
      • 3.2.3 设置该窗体为启动窗体

  • WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,是 C# 语言中的一个重要应用。

  • .NET 提供了大量 Windows 风格的控件和事件,可以直接拿来使用。

  • 本专栏内容按照标题序号逐渐深入的,如有不懂的基础问题,可看前面教程

1. WinForm工程创建 及 界面介绍

1.1 WinForm工程创建

Visual Studio中新建项目 - 选择 Windows窗体应用(.NET Framework)
在这里插入图片描述
在这里插入图片描述

在每一个 Windows 窗体应用程序的项目文件夹中,都会有一个默认的窗体框架代码文件 Form1.cs 和 窗体代码文件 Program.cs ,其包含了工程的起始代码框架.

注:
每一个 Windows 窗体应用程序在运行时仅能指定一个启动窗体,
设置启动窗体的方式是在项目的 Program.cs 文件中的main函数中指定。
Application.Run(new Form1());//设置WinForm的启动窗体,括号内改为要启动的窗体名,如Form1

在这里插入图片描述

  • 新建WinForm工程后,Program.cs 中的默认代码框架为:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WinFormTset // 项目名
{static class Program{/// <summary>/// 应用程序的主入口点。/// </summary>[STAThread]static void Main(){Application.EnableVisualStyles(); // 配置程序样式Application.SetCompatibleTextRenderingDefault(false); // 配置控件参数Application.Run(new Form1()); // 启动WinForm程序的启动窗体 Form1}}
}

1.2 窗体 Form1.cs “查看代码”

双击 Form1.cs 弹出 Form1窗口;

在窗体设计器界面右击任意地方,选择 “查看代码” ,即可进入代码编辑界面;
在这里插入图片描述

在这里插入图片描述

1.3 打开窗体设计器

在代码中右击 - 查看设计器,即可打开窗体设计器。

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

2. 工具箱

菜单栏 - 视图 - 工具箱(快捷键:Ctrl +Alt +X),可查看可用的控件,

若工具箱无控件,在工具箱窗口 右击 选择”显示全部“。
在这里插入图片描述

在这里插入图片描述

在右键菜单中选择“选择项”命令,弹出如下图所示的对话框

在这里插入图片描述
在该对话框中列出了不同组件中所带的控件,如果需要在工具箱中添加,直接选中相应组件名称前的复选框即可。

如果需要添加外部的控件,则单击“浏览”按钮,找到相应控件的 .dll 或 .exe 程序添加即可。

3. 窗体属性及创建

3.1 窗体属性

在 Windows 窗体应用程序中右击窗体或控件,在弹出的右键菜单中 选择“属性”命令,弹出如下图所示的属性面板。
在这里插入图片描述

在这里插入图片描述
窗体的常用属性如下:

事件作用
Name窗体/空间的名称
WindowState获取或设置窗体的窗口状态,取值有3种,即Normal(正常)、Minimized(最小化)、Maximized(最大化),默认为 Normal,即正常显示
StartPosition获取或设置窗体运行时的起始位置,取值有 5 种,即 Manual(窗体位置由 Location 属性决定)、CenterScreen(屏幕居中)、WindowsDefaultLocation( Windows 默认位置)、WindowsDefaultBounds(Windows 默认位置,边界由 Windows 决定)、CenterParent(在父窗体中居中),默认为 WindowsDefaultLocation
Text窗口标题栏中的文字
MaximizeBox获取或设置窗体标题栏右上角是否有最大化按钮,默认为 True
MinimizeBox获取或设置窗体标题栏右上角是否有最小化按钮,默认为 True
BackColor获取或设置窗体的背景色
BackgroundImage获取或设置窗体的背景图像
BackgroundImageLayout获取或设置图像布局,取值有 5 种,即 None(图片居左显示)、Tile(图像重复,默认值)、Stretch(拉伸)、Center(居中)、Zoom(按比例放大到合适大小)
Enabled获取或设置窗体是否可用
Font获取或设置窗体上文字的字体
ForeColor获取或设置窗体上文字的颜色
Icon获取或设置窗体上显示的图标

3.2 实例:创建一个新窗体

3.2.1 添加新Windows窗体

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

在这里插入图片描述

3.2.2 窗体属性配置

在窗体属性框内进行如下配置,在配置Backgroundimage时选择”本低资源“ - 导入指定窗体背景图片

属性属性
NameTestForm
StartPositionCenterScreen
Text第一个窗体
MaximizeBoxFalse
MinimizeBoxFalse
Backgroundimage导入指定背景图片
BackgroundlmageLayoutStretch
Size265, 347(可调整)

3.2.3 设置该窗体为启动窗体

将 Program.cs中的 Application.Run(new Form1()); 的Form1()改为要启动的窗体名称,这里改为 Form2()
在这里插入图片描述
运行测试,
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读-IGEV

文章目录1 概述2 模块2.1 总体说明2.2 特征抽取器2.3 CGEV2.4 基于Conv-GRU的更新算子2.5 空间上采样2.6 损失函数3 效果参考文献1 概述 在双目深度估计中&#xff0c;有一类是基于3D卷积的方法&#xff0c;代表就是PSMNet&#xff0c;它应用 3D 卷积编码器-解码器来聚合和正则…

[2025CVPR-图象分类方向]SPARC:用于视觉语言模型中零样本多标签识别的分数提示和自适应融合

1. ​背景与问题定义​ 视觉语言模型&#xff08;如CLIP&#xff09;在单标签识别中表现出色&#xff0c;但在零样本多标签识别&#xff08;MLR&#xff09;任务中表现不佳。MLR要求模型识别图像中多个对象&#xff08;例如&#xff0c;图像包含“猫”和“沙发”&#xff09;&…

2025创始人IP如何破局?

内容持续更新却无人点赞&#xff0c;课程精心打磨却无人报名&#xff0c;直播卖力讲解却无人停留 —— 明明有内容、有经验、有成果&#xff0c;却始终难以打动用户。问题的核心&#xff0c;或许在于你尚未打造出真正的 “创始人IP”。‌一、创始人IP&#xff1a;不止标签&…

告别配置混乱!Spring Boot 中 Properties 与 YAML 的深度解析与最佳实践

一、Spring配置文件 1.1、什么是Spring配置 Spring配置指的是在Spring框架中定义和管理应用程序组件&#xff08;如Bean&#xff09;及其依赖关系的过程 作用&#xff1a; 配置文件主要用于解决硬编码问题&#xff0c;它将可能变更的信息集中存放。程序启动时&#xff0c;会从…

无人机喷洒系统技术要点与难点解析

一、 模块运行方式1. 任务规划与加载模块&#xff1a;输入&#xff1a;农田边界、障碍物信息、作物类型、病虫害信息、所需喷洒量、天气条件。运行&#xff1a;利用地面站软件或移动APP&#xff0c;规划最优飞行路径&#xff0c;设定飞行高度、速度、喷洒参数、作业区域。将规…

mongodb源代码分析createCollection命令创建Collection流程分析

MongoDB 提供两种方式创建集合&#xff1a;隐式创建 和 显式创建。方式 1&#xff1a;隐式创建&#xff08;推荐&#xff09;当你向不存在的集合中插入文档时&#xff0c;MongoDB 会自动创建该集合。示例在 db中隐式创建 users 集合&#xff1a;javascriptdb.users.insertOne({…

c++注意点(13)----设计模式(抽象工厂)

创建型模式抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供一个接口&#xff0c;用于创建一系列相关或相互依赖的对象&#xff0c;而无需指定它们具体的类。简单说&#xff0c;它就像一个 "超级工厂"&#xff…

【大语言模型入门】—— Transformer 如何工作:Transformer 架构的详细探索

Transformer 如何工作&#xff1a;Transformer 架构的详细探索Transformer 如何工作&#xff1a;Transformer 架构的详细探索什么是 Transformer&#xff1f;什么是 Transformer 模型&#xff1f;历史背景从 RNN 模型&#xff08;如 LSTM&#xff09;到 Transformer 模型在 NLP…

iOS安全和逆向系列教程 第20篇:Objective-C运行时机制深度解析与Hook技术

iOS安全和逆向系列教程 第20篇:Objective-C运行时机制深度解析与Hook技术 引言 在上一篇文章中,我们深入学习了ARM64汇编语言的基础知识,掌握了从寄存器操作到指令分析的完整技能体系。现在,我们将把这些底层知识与iOS应用的高层逻辑联系起来,深入探讨Objective-C运行时…

IDEA中全局搜索快捷键Ctrl+Shift+F为何失灵?探寻原因与修复指南

在软件开发中&#xff0c;高效地查找和管理代码是提升生产力的关键。IntelliJ IDEA&#xff0c;作为一款功能强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;提供了丰富的搜索功能&#xff0c;帮助开发者迅速定位代码、资源、甚至是IDE功能本身。 在 IntelliJ IDE…

【学习笔记】Lean4 定理证明 ing

文章目录概述Lean4 定理证明初探示例&#xff1a;证明 1 1 2示例&#xff1a;证明 2 * (x y) 2 * x 2 * yLean4 定理证明基础命题与定理命题&#xff08;Proposition&#xff09;定理&#xff08;Theorem&#xff09;量词策略概述 Lean证明是指在Lean环境中&#xff0c;通…

墨者:SQL注入漏洞测试(HTTP头注入)

墨者学院&#xff1a;SQL注入漏洞测试(HTTP头注入)&#x1f680; 1. 什么是HTTP头注入&#xff1f;&#x1f50d; HTTP头注入是指攻击者通过篡改HTTP请求头部的字段&#xff08;如User-Agent、Referer、Cookie、Host等&#xff09;&#xff0c;将恶意SQL代码插入到后端数据库查…

linux_前台,后台进程

*在用户访问端口时&#xff0c;操作系统会形成对应的session,在其的内部进一步形成bash等进程 *一个会话只有一个前台进程&#xff0c;可以有多个后台进程&#xff0c;前台与后台进程的区别在于谁拥有键盘的使用权*前台与后台进程都可以访问显示器但是后台无法访问标准输入获取…

spring data mongodb 入门使用手册

<!--pom.xml引入依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>文档映射类Student.java import lombok.Data; import lombok.NoArgsCons…

Fastjson2常用操作大全:对象、字符串、集合、数组、Map与JSON互转实战

高性能&#xff1a; 核心解析器和生成器经过深度优化&#xff0c;性能远超许多同类库。 功能丰富&#xff1a; 支持标准JSON、JSONPath查询、泛型处理、日期格式化、自定义序列化/反序列化等。 易用性&#xff1a; API 设计简洁直观&#xff0c;JSON 工具类提供了最常用的 toJS…

大模型——字节Coze重磅开源!Dify何去何从

大模型——字节Coze重磅开源!Dify何去何从 想必很多人盼了很久,就在昨晚,字节Coze终于开源了!Coze Studio 是字节跳动新一代 AI Agent 开发平台扣子(Coze)的开源版本。 提供 AI Agent 开发所需的全部核心技术:Prompt、RAG、Plugin、Workflow,使得开发者可以聚焦创造 A…

NaVid——基于单目RGB捕获的视频让VLM规划「连续环境中VLN」的下一步:无需地图/里程计/深度信息(含MP3D/R2R/RxR,及VLN-CE的详解)

前言 因为我司「七月在线」准备于25年7月底复现下NaVILA&#xff0c;而在研究NaVILA的过程中&#xff0c;注意到了这个NaVid 虽然NaVid目前已经不是VLN sota了&#xff0c;但其首次展示了VLM在无需地图、里程计或深度输入的情况下&#xff0c;能够实现优秀的导航性能且对后来…

【Vue2】结合chrome与element-ui的网页端条码打印

所有文章都是免费查看的&#xff0c;如果有无法查看的情况&#xff0c;烦请联系我修改哈~ 序言 为什么要做这个呢&#xff1f;因为所需要的条码打印功能比较简单&#xff0c;符合需要即可&#xff0c;但是呢网上查看了发现并没有合适的开源项&#xff0c;其他成熟的软件收费又超…

循环神经网络——动手学深度学习7

环境&#xff1a;PyCharm python3.8 &#x1f449;【循环神经网络】(recurrent neural network&#xff0c;RNN) RNN通过 引入状态变量存储过去的信息和当前的输入&#xff0c;从而可以确定当前的输出。状态变量捕捉序列的时序依赖&#xff0c;是处理文本、时间序列等数据的…

Java面试宝典:MySQL8新特性底层原理

一、降序索引的革新 1.1 降序索引的核心概念 MySQL 8.0 实现了真正的降序索引(Descending Index) 支持,这是数据库引擎层面的重大改进: 存储引擎支持:仅 InnoDB 存储引擎支持降序索引,且仅适用于 B+Tree 索引结构 语法显式声明:通过 DESC 关键字显式指定字段的排序方向…