当前位置: 首页 > news >正文

C#,入门教程(27)——应用程序(Application)的基础知识

上一篇: 

C#,入门教程(26)——数据的基本概念与使用方法icon-default.png?t=O83Ahttps://blog.csdn.net/beijinghorn/article/details/124952589

一、什么是应用程序 Application?

应用程序是编程的结果。一般把代码经过编译(等)过程,最终形成的可执行 或 可再用 的文件称为应用程序。可执行文件(executable file)以 .exe 文后缀。可再利用(一般称为动态链接库Dynamic Link Library)以 .dll 为后缀。

平时遇到的所有软件,实际上就是一个或多个可执行文件为主的程序包。

二、应用程序在哪儿?

咱们先看看文件夹。

文件先解释一下:

App.config 文件是本应用程序的一些配置信息,不用管它;

DataBeginner.csproj 是创建的项目文件;请参阅另外一篇博客。

DataBeginner.sln 是创建的项目入口文件;双击这个文件自动进入 Visual Studio 2022 并打开项目。

Form1.cs 是 窗口 Form1 的代码文件;

Form1.Designer.cs 是 窗口Form1 的设计文件,定义类页面上面的控件;

Form1.resx 是 窗口Form1 相关的资源信息(比如图片等等);

Program.cs 是项目的入口代码,main 函数就在这里。不用管它。

文件夹:

bin 应用程序在这个文件夹下;bin = Binary Files 

obj 先不管;

Properties 也不管;

三、关于 bin 文件夹

 bin 文件夹下面一般有两个子目录  Debug  和 Release;

分别存放 调试版本 与 发行版本 应用程序。

也可能只有  Debug。

事有点绕!继续读。

四、调试版本 与 发行版本?

点击菜单【项目】 --> 【???属性】即可进入项目的属性设置。

再 点击 左侧【生成】,即可了解(设置)调试版本 与 发行版本。

咱们先学习一下,看看即可。

 点击 配置(C): 活动(Debug)这里;可以切换 调试版本Debug 与 发行版本 Release。

 发行版本:

五、生成应用程序第一

点击【启动】,如果程序没有错误,会自动生成 调试版本 的应用程序。

 这个时候,咱们 进入 bin\Debug 可以看到:

其中的 DataBeginner.exe 就是应用程序哈! 调试版本 嘀!

那么,怎么生成 发行版本 的应用程序呢?

六、生成应用程序第二

点击菜单【生成】和 【批生成.(T)..】

 以及

就可以同时生成 调试版本 和 发行版本的 应用程序。

再进入 bin\Debug 文件夹

这个是 调试版本的。

再看 bin\Release 文件夹: 

 都有 DataBeginner.exe 文件。这个是 发行版本 的。

其他文件先不管它,有没有都可以运行。

七、装修——让你的应用程序显得专业一点

1、应用程序的图标

只有 console ,没有 Form 的应用程序如同没进过大观园的刘姥姥,土!

没有图标的应用程序,则如同穿校服的你,显得稚嫩而单纯。

精心设计并设置应用程序的图标,是项目经理的重头戏。

需要在两个地方设置图标,第一个是 Form1 设计窗口:

刚刚设置的是 Form1 的图标。如果有 多个 Form ,可以设置不同的图标!

第二个是应用程序的图标,这个显示在 Windows 快捷键哈。

2、应用程序的版本管理

应用版本管理是非常严肃的事情。下面的描述只是让大家体验一下,所以会相对简单。

版本是应用程序的重要历史信息。没有历史就没有文化。无论是文科、理科,中小学都应该把《历史》作为必修课,高考必考科目。

你应该给自己的应用程序设计一个更新、修正与发展的路径,并以 版本信息 的方式作为其中的一个记录。Timeline !

八、关于 bin 更多的信息

Debug 和 Release 文件夹下面,应该设置更多的子目录。

比如:

\Fonts 存放必须的字体文件;

\Images 存放 图片文件;

\Sound 存档音效 或 音乐文件;

\Movie 存放视频文件;

\Data 存放数据文件;

等等;

程序中 Application.StartPath 就是 exe 所谓的文件夹。通过目录组合函数,可以访问下面的子目录及其文件。

using System.IO;string folder = Path.Combine(Application.StartupPath, @"fonts");
string fontFile = Path.Combine(folder, @"led.ttf");

写了不少字,有点收获吗?

下一篇:

C#,入门教程(28)——文件读写的基础知识icon-default.png?t=O83Ahttps://blog.csdn.net/beijinghorn/article/details/124231282

相关文章:

C#,入门教程(27)——应用程序(Application)的基础知识

上一篇: C#,入门教程(26)——数据的基本概念与使用方法https://blog.csdn.net/beijinghorn/article/details/124952589 一、什么是应用程序 Application? 应用程序是编程的结果。一般把代码经过编译(等)过程&#…...

迅翼SwiftWing | ROS 固定翼开源仿真平台正式发布!

经过前期内测调试,ROS固定翼开源仿真平台今日正式上线!现平台除适配PX4ROS环境外,也已实现APROS环境下的单机飞行控制仿真适配。欢迎大家通过文末链接查看项目地址以及具体使用手册。 1 平台简介 ROS固定翼仿真平台旨在实现固定翼无人机决策…...

CSS 样式 box-sizing: border-box; 详细解读

box-sizing是 CSS 中的一个属性,用于控制元素的盒模型计算方式。border-box值表示元素的宽度和高度将包括内边距(padding)和边框(border),而不仅仅是内容的宽度和高度。这意味着当你为元素设置宽度和高度时…...

FLASK创建下载

html用a标签 <!-- Button to download the image --> <a href"{{ url_for(download_file, filenameimage.png) }}"><button>Download Image</button> </a> 后端&#xff1a;url_for双大括号即是用来插入变量到模板中的语法。也就是绑…...

漫话架构师|什么是系统架构设计师(开篇)

~犬&#x1f4f0;余~ “我欲贱而贵&#xff0c;愚而智&#xff0c;贫而富&#xff0c;可乎&#xff1f; 曰&#xff1a;其唯学乎” 关注犬余&#xff0c;共同进步 技术从此不孤单...

Web Socket

Web Socket ‌WebSocket‌是一种基于TCP的网络通信协议&#xff0c;允许客户端和服务器之间建立全双工&#xff08;双向&#xff09;通信通道。WebSocket通过HTTP协议进行握手&#xff0c;建立连接后&#xff0c;客户端和服务器可以在同一个连接上同时发送和接收数据&#xff0…...

JavaSE学习心得(反射篇)

反射 前言 获取class对象的三种方式 利用反射获取构造方法 利用反射获取成员变量 利用反射获取成员方法 练习 保存信息 跟配置文件结合动态创建 前言 接上期文章&#xff1a;JavaSE学习心得&#xff08;多线程与网络编程篇&#xff09; 教程链接&#xff1a;黑马…...

使用FRP进行内网穿透

一、基本概念 内网穿透&#xff1a;它是一种网络技术或方法&#xff0c;旨在允许外部网络&#xff08;如互联网&#xff09;访问位于内部网络&#xff08;内网&#xff09;中的设备或服务。由于内部网络通常处于NAT&#xff08;网络地址转换&#xff09;、防火墙或其他安全机制…...

长安“战疫”网络安全公益赛的一些随想

起因 今年刚进入大学&#xff0c;开始带校队&#xff0c;为了培养校队新成员&#xff0c;也就一直计划着和当地的一些高校合作交流&#xff0c;但是由于种种原因一直被搁置下来。正巧学校信息中心和四叶草有一个培训项目的合作&#xff0c;学校的网安协会也算是沾了光成为了培…...

flutter 安卓端打包

在 Flutter 中打包 Android 应用程序是一个相对简单的过程。你可以使用 Flutter 的命令行工具来构建并打包你的 APK 或 AAB&#xff08;Android App Bundle&#xff09;。以下是打包 Flutter Android 应用的步骤&#xff1a; 1. 安装 Flutter 环境 确保你已经安装了 Flutter …...

Cesium中的CustomDataSource 详解

Cesium CustomDataSource 详解 在 Cesium 中&#xff0c;CustomDataSource 是一个强大的类&#xff0c;用于处理自定义的地理数据。它提供了一种方法&#xff0c;可以通过程序方式添加、管理和更新动态的地理实体&#xff0c;而无需依赖外部数据格式&#xff08;如 GeoJSON 或…...

[Qt]常用控件介绍-按钮类控件-QPushButton、QRedioButton、QCheckBox、QToolButton控件

目录 1.QPushButton按钮 介绍 属性 Demo&#xff1a;键盘方向键控制人物移动 2.Redio Button按钮 属性 clicked、pressed、released、toggled区别 单选按钮的分组 Demo&#xff1a;点餐小程序 3.CheckBox按钮 属性 Demo&#xff1a;获取今天的形成计划 4.ToolBu…...

Windows 蓝牙驱动开发-安装蓝牙设备

蓝牙配置文件驱动程序有两种安装类型&#xff1a; 客户端安装&#xff0c;在此类安装中&#xff0c;远程设备播发其服务&#xff0c;并且计算机与之连接。 示例包括&#xff1a;鼠标、键盘和打印机&#xff1b;服务器端安装&#xff0c;在此类安装中&#xff0c;计算机播发服务…...

element表格有横向滚动条时产生错位或者偏移(火狐浏览器)

问题图 解决方法&#xff1a;给表头增加竖向滚动条的宽度 // 解决拖拽表格滚动条&#xff0c;错位问题 ::v-deep .el-table__header-wrapper{padding-right: 20px!important; // 滚动条宽度 }效果图如下&#xff1a;...

C# 下 SQLite 并发操作与锁库问题的 5 种解决方案

开篇&#xff1a;你是否被 SQLite 并发锁库困扰&#xff1f; 在当今数字化的时代浪潮中&#xff0c;数据已然成为了企业与开发者们手中最为宝贵的资产之一。C# 作为一门广泛应用于各类软件开发的强大编程语言&#xff0c;常常需要与数据库进行紧密交互&#xff0c;以实现数据的…...

2025封禁指定国家ip-安装xtables-addons记录

如何安装和使用 安装lux仓库(该仓库包含xtables-addons所需的依赖环境) # wget http://repo.iotti.biz/CentOS/7/noarch/lux-release-7-1.noarch.rpm # rpm -ivh lux-release-7-1.noarch.rpm 安装xtables-addons。注意&#xff1a;必须先安装kmod-xtables-addons&#xff0c;再…...

卷积神经02-CUDA+Pytorch环境安装

卷积神经02-CUDAPytorch环境安装 在使用Python进行pytorch的使用过程中遇到各种各样的版本冲突问题&#xff0c;在此进行记录 0-核心知识脉络 1&#xff09;根据自己电脑的CUDA版本安装对应版本的Pytorch&#xff0c;充分的使用GPU性能2&#xff09;电脑要先安装【CUDA ToolKi…...

高斯数据库与MySQL数据库的区别

高斯数据库与MySQL数据库的区别 在当今数据驱动的时代&#xff0c;选择合适的数据库管理系统&#xff08;DBMS&#xff09;对于项目的成功至关重要。高斯数据库和MySQL作为两款广泛使用的数据库系统&#xff0c;各自具有独特的特点和优势&#xff0c;适用于不同的应用场景。本…...

【 PID 算法 】PID 算法基础

一、简介 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&#xff09;、Differential&#xff08;微分&#xff09;的缩写。也就是说&#xff0c;PID算法是结合这三种环节在一起的。粘一下百度百科中的东西吧。 顾名思义&#xff0c;…...

【AI】【RAG】如何通过WebUI部署与优化RAG问答系统

RAG(Retrieval-Augmented Generation)是一种通过知识库构建的问答系统,尽管它并非严格意义上的机器学习模型,但其高效构建专业问答体系的能力在实际应用中备受关注。本文将详细介绍如何通过WebUI部署RAG功能,以及提升RAG效果的关键技巧。 什么是RAG? RAG是一种结合检索技…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...