【WinForm.NET开发】创建 Windows 窗体应用

本文内容

  1. 创建项目
  2. 创建应用程序
  3. 运行应用程序

本文演示创建一个具有基于 Windows 的用户界面 (UI) 的简单 C# 应用程序。

1、创建项目

首先,创建 C# 应用程序项目。 项目类型随附了所需的全部模板文件,无需添加任何内容。

  • 打开 Visual Studio。
  • 在“开始”窗口中,选择“创建新项目”。

create-new-project-dark-theme.png?view=vs-2022

  • 在“创建新项目”窗口中,为 C# 选择“Windows 窗体应用(.NET Framework)”模板 。

csharp-winform-create-a-new-project.png?view=vs-2022

 备注:如果未看到“Windows 窗体应用(.NET Framework)” 模板,则可以通过“创建新项目” 窗口安装该模板。 在“找不到所需内容?”消息中,选择“安装更多工具和功能”链接 。

not-finding-what-looking-for.png?view=vs-2022

  • 接下来,在 Visual Studio 安装程序中,选择“.NET 桌面开发”工作负载。

install-dot-net-desktop-env.png?view=vs-2022

  • 之后,在 Visual Studio 安装程序中选择“修改”按钮。 系统可能会提示你保存所有内容;如果出现提示,请按照指示进行操作。 接下来,选择“继续”以安装工作负载。 然后,返回到“创建项目”过程中的步骤 2。
  • 在“配置新项目”窗口中,在“项目名称”框中键入或输入“HelloWorld” 。 然后选择“创建”。

csharp-winform-configure-new-project.png?view=vs-2022

  • 此时,Visual Studio 将打开新项目。

2、创建应用程序

选择 C# 项目模板并为文件命名后,Visual Studio 会打开一个窗体。 窗体就是 Windows 用户界面。 通过向窗体添加控件创建“Hello World”应用程序,然后运行该应用程序。

2.1 向窗体添加按钮

  • 选择“工具箱”,打开“工具箱”弹出窗口。

csharp-winform-hello-world-project-toolbox.png?view=vs-2022

(如果没有看到“工具箱”浮出控件选项,可以从菜单栏中打开它。为此,请选择“查看”>“工具箱”。或者,按 Ctrl+Alt+X。)

  • 展开“常见控件”,然后选择“固定”图标以停靠“工具箱”窗口。

csharp-winform-toolbox-flyout-pin.png?view=vs-2022

  • 选择“按钮”控件,然后将其拖到窗体上。

csharp-winform-add-button-on-form.png?view=vs-2022

  • 在属性窗口中,找到“文本”,将名称从“Button1”更改为 Click this然后按 Enter 。

csharp-winform-button-properties-text.png?view=vs-2022

(如果没有看到“属性”窗口,可以从菜单栏打开它。为此,请选择“查看”>“属性窗口”。或者,按 F4。)

  • 在属性窗口的“设计”部分,将名称从“Button1”更改为 btnClickThis,然后按 Enter 。

csharp-winform-button-properties-design-name.png?view=vs-2022

 备注:如果按字母顺序排列了属性窗口列表,则 button1 会显示在 (DataBindings) 部分中 。

2.2 向窗体添加标签

添加创建操作的按钮控件后,我们来添加发送文本的标签控件。

  • 从“工具箱”窗口选择“标签”控件,然后将其拖到窗体上,并放到“单击此处”按钮下方 。
  • 在属性窗口的“设计”部分或“(DataBindings)”部分,将 label1 的名称更改为 lblHelloWorld,然后按 Enter 。

2.3 向窗体添加代码

  • 在“Form1.cs [设计]”窗口中,双击“单击此处”按钮,打开“Form1.cs”窗口。

(或者,可在“解决方案资源管理器” 中展开“Form1.cs” ,然后选择“Form1” 。)

  • 在“Form1.cs” 窗口中,在“private void” 行后,键入或输入 lblHelloWorld.Text = "Hello World!";,如以下屏幕截图所示:

csharp-winform-button-click-code.png?view=vs-2022

3、运行应用程序

  • 选择“启动”按钮运行应用程序。

csharp-winform-visual-studio-start-run-program.png?view=vs-2022

将出现以下几种情况。 在 Visual Studio IDE 中,“诊断工具”窗口打开,同时还会打开一个“输出”窗口 。 在 IDE 外部,会出现一个“Form1”对话框 。 其中包含“单击此处”按钮和显示“label1”的文本 。

  • 选择“Form1”对话框中的“单击此处”按钮 。 请注意,“label1”文本会更改为“Hello World!” 。

csharp-winform-form.png?view=vs-2022

  • 关闭“Form1” 对话框以停止运行应用。

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

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

相关文章

vs 安装 qt qt扩展

1 安装qt 社区版 免费 Download Qt OSS: Get Qt Online Installer 2 vs安装 qt vs tools 3 vs添加 qt添加 bin/cmake.exe 路径 3.1 扩展 -> qt versions 3.2

【设计模式-4.1】行为型——观察者模式

说明:本文介绍设计模式中行为型设计模式中的,观察者模式; 商家与顾客 观察者模式属于行为型设计模式,关注对象的行为。以商家与顾客为例,商家有商品,顾客来购买商品,如果商家商品卖完了&#…

Vue3中teleport如何使用

Vue 3作为一种流行的JavaScript框架,一直以来都在努力提供更便捷、灵活的开发体验。本文将深入解析Teleport,包括其详细的使用方法、源码实现机制以及在实际项目中的应用场景。 一、Teleport是什么? Vue 3中的Teleport允许开发者将组件的内容…

Vue+ElementUI+C#前后端分离:监控长耗时任务的实践

想象一下,我们正在构建一个Web应用,需要实现一个数据报告的导出功能。这听起来很简单,不是吗?但是,随着深入开发,我们意识到导出过程比预期的要复杂和耗时得多。由于报告的数据量巨大,后端需要花…

PostgreSQL有意思的现象:支持不带列的表

1、前言 以前从没有试过建一张表,不带任何列。在PG中却支持这种语法。这是个什么鬼? 最近,把PG源码扒了下,简单浏览了下最近的一些merge。其中有一个fix: eeb0ebad79 ("Fix the initial sync tables with no columns.&qu…

〖大前端 - 基础入门三大核心之JS篇㊺〗- 定时器和延时器

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

LeetCode 每日一题 2023/11/27-2023/12/3

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 11/27 907. 子数组的最小值之和11/28 1670. 设计前中后队列11/29 2336. 无限集中的最小数字11/30 1657. 确定两个字符串是否接近12/1 2661. 找出叠涂元素12/2 1094. 拼车12…

本地缓存和分布式缓存

一、引言 在当今的大数据时代,数据缓存已成为提升应用性能和效率的重要策略。缓存能够降低数据访问延迟,提高系统响应速度,从而改善用户体验。根据存储位置和应用场景的不同,缓存技术分为本地缓存和分布式缓存两种。本文将详细介绍…

【Rust日报】2023-12-01 KCL v0.7 版本发布

RFC:在选择依赖项时使 Cargo 遵循最低支持的 Rust 版本 (MSRV) 概括内容是,为需要使用旧版本 Rust 的开发者提供了一条快乐之路,具体方法是: 在 Cargo 解析依赖关系时,优先选择与 MSRV(最低支持的 Rust 版本…

如何使用PHPUnit编写一个PHP单元测试-简单的代码示例

在软件开发过程中,单元测试是一种重要的测试方法,可以确保代码的质量和可靠性。在PHP开发中,也可以通过编写单元测试来验证代码的正确性。下面将介绍一些编写PHP单元测试的基本步骤和常用工具。 首先,你需要一个PHP单元测试框架&…

3D场景建模工具

在线工具推荐: 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务 1. 什么是3D场景建模? 3D场景建模是一种通过计算机图形学技术,将现实世…

python查询、处理、批量存入数据

1、安装数据库连接器 首先需要安装一个数据库连接器,比如pymysql、pyodbc等,用于连接MySQL、SQL Server等不同的数据库。 安装命令如下 pip install PyMySQL2. 连接数据库 连接数据库需要先指定数据库的主机名、端口号、用户名和密码等信息。这些信息…

Vue组件分装之$attrs、$listener传递属性及事件

使用v-bind"$attrs"来将父组件的属性传递给自定义按钮 使用v-on"$listeners"将父组件的事件监听器传递给自定义按钮。 使用$slots获取父组件所有插槽以及作用域插槽对应的参数#[name]"scopeData" 这样,自定义按钮就能够直接响应父…

Java系列 之除字符串中的空格(trim())

我 | 在这里 🕵️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 🏠 工作 | 广州 ⭐ Java 全栈开发(软件工程师) 🎃 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 ✈️已经旅游的地点 | 新疆-乌鲁木齐、新疆-吐鲁番、广东-广州…

【Matlab】如何快速入门一项新技能-以Matlab/Simulink入门为例

目录 1. 引言 2. 背景 3. 快速学习并完成开发 3.1 了解需求,知道要干什么 3.2 了解Matlab/Simulink基本功能 第一步,查看Matlab的中文网站中文网站https://www.ilovematlab.cn/resources/对Matlab/Simulink有了一个初步认识。 3.3 实现一个最简单…

uniapp 在app端 使用webview进行数据交互。

使用案例 1.app端(需要使用nvue) <template> <view class"webview-box"> <button style"z-index: 999;" click"handlePostMessage(app向url传值)">点击向url传值</button><web-view ref"webview" clas…

PyQt6 QDialogButtonBox组合按钮控件

锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计34条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话版…

【CTA认证】Android CTA资料及信息安全要求

认证资料需求 1. 说明书&#xff1b;需有应用场景、使用人群说明 2. 产品铭牌&#xff08;需有IMEI号&#xff0c;产品名称需是&#xff1a;TD-LTE无线数据终端&#xff09; 3. 产品整体尺寸长宽高 4. 原理框图&#xff1b; 5. 主板正反面照片&#xff08;需拆除屏蔽罩&a…

快速创建桌面端(electron-egg)

介绍 | electron-egg electron-egg: 一个入门简单、跨平台、企业级桌面软件开发框架。 electron-egg是一个基于Electron和Egg.js的框架&#xff0c;可以用于快速构建跨平台的桌面应用程序。 1.兼容平台&#xff1a;electron-egg可以在Windows、MacOS和Linux等多个平台上运行…

【开源威胁情报挖掘1】引言 + 开源威胁情报挖掘框架 + 开源威胁情报采集与识别提取

基于开源信息平台的威胁情报挖掘综述 写在最前面摘要1 引言近年来的一些新型网络安全威胁类型挖掘网络威胁的情报信息威胁情报分类&#xff1a;内、外部威胁情报国内外开源威胁情报挖掘分析工作主要贡献研究范围和方法 2 开源威胁情报挖掘框架1. 开源威胁情报采集与识别2. 开源…