使用C#快速搭建一个在windows运行的exe应用

文章目录

  • 一、前言
    • 1.1 编写语言需要工具
    • 1.2 选择自己需要的组件进行安装
  • 二、新建项目
    • 1.1 新建一个 .NET4.x 的项目
    • 1.2 添加一个小案例
    • 1.3 对界面进行美化
      • 1.3.1、配置Form属性
      • 1.3.2、配置Button按钮
    • 1.4 查看组将的相关代码
  • 三、后记

一、前言

这是一个比较旧的内容,但是一直都没有空写,今天花点时间,把我掌握的C# 分享给初学的人或者感兴趣的人,希望能对你有一定帮助

1.1 编写语言需要工具

可以前往官网进行下载

https://visualstudio.microsoft.com/zh-hans/downloads/

请添加图片描述

可以直接下载社区版本就够用了

目前最新的是 Visual Studio 2022 版本,从官网下载也是最新版本,但是对于软件开发来说,最新不一定就是最好的,合适项目的反而是最好的

  • 1、一般来说,最新版本就够用了,但是如果想要用一下 Winform的组件,比如 DevExpress 目前只是支持到 2019年版本,如果下载最新了,可能某些功能就用不了了

  • 2、一般我们编写winform 旧的选择的是 .net framework 4.5,但是 NET4.5 是不支持跨平台的。后续 NET5.0后就支持跨平台的。因为我开发的金蝶云星空相关的产品,所以一直还是沿用 .NET4.5

1.2 选择自己需要的组件进行安装

请添加图片描述

我们一般选择 .NET 桌面开发即可

我们选择的语言,是C#。众所周知,C#是一个面向对象的语言

面向对象的概念,就是万物皆是对象,最近也出现了不少热门语言,比如GO面向过程在多线程大放异彩、python在处理算法也是独树一帜。但是作为跟java特别相似的语言C#,他也有他独特之处,并不能说哪个语言绝对的好,哪个语言绝对的差

二、新建项目

搜索模板 -> 选择 Windows 窗体应用

请添加图片描述

有人搜索,发现有很多选项,这个并不是冗余,每一项都有对应的功能

可以发现第一项 Windwos窗体应用,默认的框架为 .NET6.0 和 .NET7.0

可以发现第二项 Windows窗体应用(.NET Framework) 默认框架为 .NET Framework 4.x

从这里我们就可以看出了,不用选项,其实框架对应的版本都是不同

  • 要根据自己项目选择合适的框架。如果是老项目,建议还是用 .NET4.X,如果是全新项目就没有这个要求了

1.1 新建一个 .NET4.x 的项目

请添加图片描述
请添加图片描述
这个界面,我们常用的有

  • 工具箱、设计界面、资源管理器 和 属性这一栏

在这里插入图片描述

点击启动,即可运行该界面

请添加图片描述
在这里插入图片描述

从这里起,你就自己搭建了一个属于你自己的 .exe 的页面了

在资源管理器,右键

在这里插入图片描述
在资源管理器中打开文件夹

…/WindowsFormsApp1\WindowsFormsApp1\bin\Debug

在这里插入图片描述

把这个文件夹的内容拷贝到任何windows的操作系统的机器中,点击 WindowsFormsApp1.exe 即可运行

1.2 添加一个小案例

用一个小案例来学习是非常方便的,我们就列举一个按钮

功能为;按钮点击下去,显示1,再重复点击,显示0 以此反复

拉取一个按钮

在这里插入图片描述

再拉取一个 输入框

在这里插入图片描述

注意:

按钮、输入框、甚至整个Form1,都是有他自己对应的属性

C#就是面向对象,也可以理解为 按钮、输入框、Form都是这个项目为我们创建好的一个个对象,我们直接拿来用就行了

查看代码,直接在页面右键即可

在这里插入图片描述

双击按钮,即可添加按钮的点击程序

namespace WindowsFormsApp1  //命名空间,可以理解是一个类的分类
{
    public partial class Form1 : Form  //类cs,Form1为类的名称  Form为父类,为继承关系
    {
        bool i = false;

        public Form1()
        {
            InitializeComponent();  //初始化组件,可以理解为,界面的内容样式,都是考这个方法渲染出来的
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //在没有手动修改之前,按钮的名称为 button1,文本框为 txtBox11
            i = !i;
            textBox1.Text = i?"0":"1";
        }
    }
}

根据以上代码添加,然后运行项目,就可以实现 按钮点击下去,显示1,再重复点击,显示0 以此反复,

感兴趣的人可以试一试吧

1.3 对界面进行美化

1.3.1、配置Form属性

在这里插入图片描述

在界面空白处进行点击

在右下角配置对应的属性

我们就简单配置了两个关于Form的属性,StartPosition: CenterScreen, Text:测试项目

1.3.2、配置Button按钮

选择按钮
在这里插入图片描述

在右下角配置对应的属性

属性其实是有分两种的,一种是普通的属性,比如名称、外观等。另一种是绑定属性,比如点击事件、右击事件啊

在这里插入图片描述

选择事件,可以看得到我们上面案例创建出来的点击事件
在这里插入图片描述

选择属性,我们可以对按钮进行命名等操作

DataBinding Name:button1 是指跟后端的绑定代码

在这里插入图片描述
该标识是用于代码的识别

还可以修改按钮的描述、颜色、大小等

1.4 查看组将的相关代码

请添加图片描述

如图所示,在资源管理器,选择Form1.cs - Form1.Designer 可以查看对应按钮的所有的配置

是不是跟面向对象有关系呢?这个大家自己去思考一下

三、后记

从以上的讲述,对创建一个exe的程序,是不是更加清楚呢。

虽然案例讲得很简单,但是再复杂的代码,都是从简单演变过来的,就像建房子一样,地基打得好,才可以创建更多高楼大厦。

后续我也会从该案例开始,讲一下搭建C#相对复杂的案例,以及金蝶云星空相关的内容,各位感兴趣的话,可以持续关注

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java调用GDAL及JTS实现生成泰森多边形(Voronoi图)的一种方法

目录 一、关于泰森多边形 1.泰森多边形的特性 2.本文的目的 二、实现思路 1.gdal和jts库的maven坐标 2.jts生成泰森多边形的关键代码 3.使用GDAL读取源文件信息的关键代码 4.使用GDAL将生成的泰森多边形写入文件 三、实现结果 1.实现的效果 2.完整代码示例 一、关于…

【STM32】飞控设计

【一些入门知识】 1.飞行原理 【垂直运动】 当 mg>F1F2F3F4,此时做下降加速飞行 当 mg<F1F2F3F4,此时做升高加速飞行 当 mgF1F2F3F4 ,此时垂直上保持匀速飞行。 【偏航飞行】 ω 4 ω 2 ≠ ω 1 ω 3 就会产生水…

【CT】LeetCode手撕—200. 岛屿数量

目录 题目1-思路2- 实现⭐200. 岛屿数量——题解思路 3- ACM实现 题目 原题连接:200. 岛屿数量 1-思路 利用 dfs 深搜,遇到岛屿直接将岛屿填充为 0 2- 实现 ⭐200. 岛屿数量——题解思路 class Solution {public int numIslands(char[][] grid) {int …

开源WebGIS全流程常用技术栈

1 数据生产 1.1 uDig uDig(http://udig.refractions.net/)是一个基于Java开源的桌面应用框架,它构建在Eclipse RCP和GeoTools(一个开源的Java GIS包)上。可以进行shp格式地图文件的编辑和查看;是一个开源空间数据查看…

5月产品更新 | 10大更新汇总,快来看看你的需求上线了吗?

5月,Smartbi从客户需求出发,并结合企业在数据分析、处理等方面遇到的问题,对数据模型、数据指标等数十项功能进行了优化升级。 Smartbi用户可以在官网下载下载PC端,更新后便可以使用相关功能,也可以在体验中心体验相关…

mybatis之特殊SQL的执行

1.1模糊查询 尝试&#xff1a; //模糊查询用户 List<User> getUserByLike(Param("mohu") String mohu);<select id"getUserByLike" resultType"user">select * from user where username like %#{mohu}% </select>Test publ…

DP:两个数组的dp问题

解决两个数组的dp问题的常用状态表示&#xff1a; 1、选取第一个字符串[0-i]区间以及第二个字符串[0,j]区间作为研究对象 2、根据题目的要求确定状态表示 字符串dp的常见技巧 1、空串是有研究意义的&#xff0c;引入空串可以帮助我们思考虚拟的边界如何进行初始化。 2、如…

jenkins使用注意问题

1.在编写流水线时并不知道当前处在哪个目录&#xff0c;导致名使用不当&#xff0c;以及文件位置不清楚 流水线任务默认路径是&#xff0c;test4_mvn为jenkins任务名 [Pipeline] sh (hide)pwd /var/jenkins_home/workspace/test4_mvn maven任务也是&#xff0c;看来是一样的…

【Linux】Linux环境基础开发工具_6

文章目录 四、Linux环境基础开发工具gdb 未完待续 四、Linux环境基础开发工具 gdb 我们已经可以写代码了&#xff0c;也能够执行代码了&#xff0c;但是代码错了该如何调试呢&#xff1f;Linux中可以使用 gdb 工具进行调试。 我们写一个简单的程序&#xff1a; 但是我们尝试…

微信小程序毕业设计-实验室管理系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

智慧工地:构筑未来建筑的智能脉络

在科技日新月异的今天&#xff0c;智慧城市的建设已不再局限于城市生活的方方面面&#xff0c;而是深入到了城市发展的每一个细胞——工地。本文旨在深度剖析智慧工地的核心价值、关键技术及对建筑业转型升级的深远影响。 一、智慧工地&#xff1a;定义与愿景 智慧工地是指运…

【智能家居控制系统项目】一、项目系统镜像烧录与系统登录

前言 完成本章节将可以获得本项目的系统UI界面功能。本章节主要介绍如何烧录项目系统镜像以及进入系统。配套的视频介绍可以点击跳转到智能家居项目复刻配套视频 1.系统功能页面介绍 完成本章全部步骤&#xff0c;我们将可使用以下项目系统功能界面。 1.1 家居总览界面 主界面…

Zynq学习笔记--AXI4-Stream到视频输出IP是如何工作的?

目录 1. 简介 2. 原理详解 2.1 示例工程 2.2 AXI4-Stream to Video Out 3. Master/Slave Timing Mode 3.1 Slave Timing Mode 3.2 Master Timing Mode 4. 总结 1. 简介 本文主要介绍了 AXI4-Stream 到视频输出 的内容。其中&#xff0c;示例工程展示了一个具体的设计&…

八爪鱼现金流-023-独具特色的加密解决方案

大家一起来记账。 八爪鱼现金流。 独具特色的加密解决方案。金额数据加密后存储到数据库。 保证数据私密性。欢迎试用。 八爪鱼现金流。 点击【八爪鱼现金流-022-mybatis插件加密和国密SM4算法】文章查看详情。

MySQL从入门到高级 --- 15.优化 16.pymysql

文章目录 第十五章 && 第十六章&#xff1a;15.优化15.1 查询SQL执行效率15.2 定位低效率执行SQL15.3 explain分析执行计划 - 基本使用15.4 explain分析执行计划 - id15.5 explain分析执行计划 - select_type15.6 explain分析执行计划 - type15.7 explain分析执行计划 …

实验室管理系统实用性体现在哪些方面?

随着技术的不断进步和应用的不断深入&#xff0c;在当今的检验检测行业中&#xff0c;实验室管理系统的实用性成为了保证质量检测工作正常有效开展的基础&#xff0c;其重要性不言而喻。而实验室信息管理系统&#xff08;LIMS&#xff09;实用性不仅体现在其对实验室日常运作的…

项目实战--文档搜索引擎

在我们的学习过程中&#xff0c;会阅读很多的文档&#xff0c;例如jdk的API文档&#xff0c;但是在这样的大型文档中&#xff0c;如果没有搜索功能&#xff0c;我们是很难找到我们想查阅的内容的&#xff0c;于是我们可以实现一个搜索引擎来帮助我们阅读文档。 1. 实现思路 1…

ESP32基础应用之esp32连接腾讯云并使用微信小程序控制的智能灯

文章目录 1. 项目简介1.1 功能接收1.2 使用资源1.3 测试平台 2 腾讯云物联网开发平台3 esp32设备开发3.1 准备参考例程3.2 vscode平台创建测试工程3.3 修改工程 问题总结使用PowerShell命令行终端生成的二维码不能用 1. 项目简介 1.1 功能接收 实现腾讯云创建项目与设备&…

09-Spark架构

相比MapReduce僵化的Map与Reduce分阶段计算&#xff0c;Spark计算框架更有弹性和灵活性&#xff0c;运行性能更佳。 1 Spark的计算阶段 MapReduce一个应用一次只运行一个map和一个reduceSpark可根据应用复杂度&#xff0c;分割成更多的计算阶段&#xff08;stage&#xff09;…

怎么脚本ai创作?分享三个方法

怎么脚本ai创作&#xff1f;在数字化时代&#xff0c;AI技术正逐渐渗透到我们生活的方方面面&#xff0c;其中AI脚本创作软件的出现&#xff0c;极大地提高了创作效率&#xff0c;降低了创作门槛。今天&#xff0c;就为大家推荐三款备受好评的AI脚本创作软件&#xff0c;其中聪…