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

devtools/2025/1/16 3:17:07/

上一篇: 

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


http://www.ppmy.cn/devtools/150824.html

相关文章

Scala语言的面向对象编程

Scala语言的面向对象编程 面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它使用“对象”来组织代码,这些对象能够包含数据(属性)以及功能(方法)。Scala…

HTTPS应用场景与优化实践

HTTPS的应用场景 电子商务:支付页面和订单数据保护,防止用户敏感信息泄露。社交网络:登录验证和个人数据保护,防止账号被盗。政府和企业网站:确保数据传输安全,防止重要信息泄露。搜索引擎优化&#xff1a…

如何定位导致 Django 错误的文件

在 Django 开发中,当发生错误时,定位问题所在的文件和代码行是调试的重要步骤。以下是一些常用的方法和技巧来定位导致 Django 错误的文件: 1、问题背景 在项目中使用了 shrink 工具尝试运行 collect static 时,出现 TemplateSyn…

【蓝牙】win11 笔记本电脑连接 hc-06

文章目录 前言步骤 前言 使用电脑通过蓝牙添加串口 步骤 设置 -> 蓝牙和其他设备 点击 显示更多设备 更多蓝牙设置 COM 端口 -> 添加 有可能出现卡顿,等待一会 传出 -> 浏览 点击添加 hc-06,如果没有则点击 再次搜索 确定 添加成…

Uniapp中实现加载更多、下拉刷新、返回顶部功能

一、加载更多: 在到达底部时,将新请求过来的数据追加到原来的数组即可: import {onReachBottom } from "dcloudio/uni-app";const pets ref([]); // 显示数据function network() {uni.request({url: "https://api.thecatap…

【流程设计】类似钉钉的流程设计功能样式demo

对于一些审批流程&#xff0c;可能会用到这个功能&#xff0c;通过这样一层层的加下来&#xff0c;弄一个审批流程的数组&#xff0c;然后根据这个来审核是否都通过审批&#xff0c;这里是简单的弄一个样式的demo&#xff0c;功能自由发挥 <!DOCTYPE html> <html>…

14_TypeScript 类 --[深入浅出 TypeScript 测试]

TypeScript 的类&#xff08;Classes&#xff09;是面向对象编程的核心组成部分&#xff0c;提供了对类的支持&#xff0c;包括继承、访问修饰符、构造函数、静态成员等。通过 TypeScript 类&#xff0c;你可以创建结构良好且类型安全的对象。以下是一些关于 TypeScript 类的关…

分布式缓存redis

分布式缓存redis 1 redis单机&#xff08;单节点&#xff09;部署缺点 &#xff08;1&#xff09;数据丢失问题&#xff1a;redis是内存存储&#xff0c;服务重启可能会丢失数据 &#xff08;2&#xff09;并发能力问题&#xff1a;redis单节点&#xff08;单机&#xff09;部…