C#学习笔记(三)Visual Studio安装与使用

博主刚开始接触C#,本系列为学习记录,如有错误欢迎各位大佬指正!期待互相交流!
上一篇文章中安装了Visual Studio Code来编写调试C#程序,但是博主的目标是编写带窗口的应用程序,了解之后发现需要安装Visual Studio,因此本篇文章主要介绍Visual Studio的安装与简单使用,如有问题,欢迎各位大佬批评指正!

文章目录

一、Visual Studio安装

首先去官网下载VS的安装包,Visual Studio官方下载地址。之后开始安装,具体安装过程可以参考大佬的文章VisualStudio如何进行桌面软件开发?,这里就不再详细介绍了,关键点在于"工作负荷"中选择".NET桌面开发",选择"下载时安装",记得修改一下安装路径,尽量不要装在C盘。

二、新建工程

安装完VS之后,首先我们新建一个工程,点击"创建新项目"

按照如下配置选择,选择C#语言Windows平台

点击下一步,输入项目名称,配置好存储路径,选择一下框架之后直接点击创建即可,创建完成后会直接进入到项目中,如果我们关掉之后想再次编辑项目,可以找到项目所在文件夹,双击后缀为.sln的文件即可

三、编写第一个窗体函数

3.1 编辑窗体(UI)

首先我们设计一下窗体,也就是用户使用时看到的UI页面,如果有过MATLAB GUI开发经验的小伙伴应该会感到很熟悉,首先我们找到工具栏

在工具栏中有我们需要用到的控件,比如按钮(Button)、输入文本框(TextBox)、复选框(CheckBox)、下拉列表(ComBox)和标签(Lable)等。

我们新建一个下面这样的UI

3.2 密码输入

我们首先来看一下密码输入,要实现的功能很简单,输入密码,不勾选显示密码时,密码用"*"代替,勾选显示密码时能够显示密码。

首先我们选中输入密码的文本输入框,在右侧的属性中找到图中的一项,将其修改为"*"

点击复选框,将名称修改为"显示密码"

双击复选框,会自动生成一个复选框对应的函数,一旦复选框选择状态发生变化就会执行函数

csharp 复制代码
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
}

之后我们编辑函数体内容,主要是实先复选框勾选后显示出密码内容,不勾选时用"*"代替

csharp 复制代码
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
    bool isChecked = checkBox1.Checked;

    if (isChecked)
    {
        Console.WriteLine("checkBox is checked!");
        textBox1.PasswordChar = '\0';
    }
    else
    {
        Console.WriteLine("checkBox is not checked!");
        textBox1.PasswordChar = '*';
    }
}

3.3 下拉列表选择

下面我们来简单实现一下下拉列表选择的功能,要实现的功能就是在复选框选中一个元素后,点击确定能够输出选中的内容。

首先添加一个下拉列表,找到"Items"属性,在其中添加选项

之后和上面一样,修改一下按键的名称,双击按键自动生成按键点击响应函数,我们在其中编写函数体内容

csharp 复制代码
private void button1_Click(object sender, EventArgs e)
{
    string str = (string)comboBox1.SelectedItem;
    Console.WriteLine("选中了:" + str);
}

3.4 获取时间

最后我们尝试获取一下系统时间并显示到标签上去,双击显示时间按钮添加响应函数

csharp 复制代码
private void button2_Click(object sender, EventArgs e)
{
    string timeStr = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss");
    label1.Text = timeStr;
}

四、结果演示

点击上方工具栏中间的启动即可开始运行,下面是运行效果

在输出中能看到我们在下拉列表中选择的项以及一些输出信息

五、添加图标

首先自己准备一张.icon的图标文件,之后点击整个窗体,修改下面的属性即可

相关推荐
MartinYeung512 小时前
[论文学习]自主性如何重塑个性化对LLM智能体隐私关切与信任的影响
人工智能·学习
FellAveal13 小时前
【Go语言入门学习笔记】Part18.工作池与WaitGroup(也即协程池)
笔记·学习·golang
xqqxqxxq13 小时前
Java Socket 多人聊天室(私聊+群聊)技术笔记(V4版本)
java·网络·笔记
菜鸟‍13 小时前
【论文学习】MICCAI 2024 || SGSeg:通过自引导机制实现胸部X光片语言引导分割的无文本推理
人工智能·深度学习·学习
龙仔72513 小时前
人大金仓OS_Core数据库自动备份实施笔记(银河麒麟Linux)
linux·数据库·笔记·备份·人大金仓
lazy H13 小时前
Git clone 怎么用?克隆项目及常见问题完整教程
大数据·git·后端·学习·搜索引擎·github
菜鸟‍13 小时前
【论文学习】arxiv 2024 || RoSIS:基于鲁棒框架重新审视文本提示式手术器械分割
人工智能·学习·计算机视觉
颜x小14 小时前
[C#] C++与c#语法对比
开发语言·c++·c#
weixin_4236521314 小时前
C#使用JObject
开发语言·c#
笨鸟先飞的橘猫15 小时前
只会脚本语言的游戏后端自我提升之路——c++学习(开篇)
学习·游戏