DotNet 入门:(一) 环境安装

一、前言

本想用 Go 语言实现一个通过小爱同学操作电脑的,比如我对着手机说打开音乐,或调小音乐,电脑能做相应的处理。奈何我一时间没看懂,就想着用.Net 来试一下,于是就有了下面这篇文章。

二、安装.Net 环境

1. 下载位置

下载.Net SDK

2. 开始安装

运行下载后的 SDK 安装包,默认会安装到系统盘,直接下一步,最后 cmd 输入下面命令:

dotnet --version

查看版本后,表示已经安装成功,这里强调一下 Visual Studio 版本和.Net 版本有关联,比如.NET 8 需要 VS 2022 17.8 + 支持。如果下面 VS 编辑器无法选择单独安装的.Net8,就要检查或升级一下 Visual Studio 了。

三、Visual Studio 编辑器安装

1. 安装 WPF 组件

点击创建项目,搜索 WPF,如果没有该模板,就选择 “安装多个工具和功能”。

2. 下载.NET 桌面开发

四、创建项目

1. 选择模板

选择创建新项目后,搜索 “WPF” 后选中进入。

2. 项目结构说明

HelloWorldWPF/
├── Properties/
├── App.xaml        // 应用程序入口
├── App.xaml.cs
├── MainWindow.xaml // 主窗口定义
└── MainWindow.xaml.cs

3. 修改 XAML (MainWindow.xaml)

xaml
<Window x:Class="HelloWorldWPF.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:HelloWorldWPF"mc:Ignorable="d"Title="Hello World App" Height="200" Width="300"><Grid><StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"><Button x:Name="ClickButton" Content="点击显示问候语" Padding="10" Margin="5"Click="ClickButton_Click"/><TextBlock x:Name="HelloText" Text="等待点击..."FontSize="16"Margin="5"HorizontalAlignment="Center"/></StackPanel></Grid>
</Window>

4. 添加 C# 代码(MainWindow.xaml.cs)

using System.Windows;namespace HelloWorldWPF
{public partial class MainWindow : Window{public MainWindow(){InitializeComponent();}private void ClickButton_Click(object sender, RoutedEventArgs e){HelloText.Text = "Hello World! \n欢迎来到WPF世界!";}}
}

4. 运行程序

按 Ctrl+F5 或 绿色箭头运行后,会弹出预览窗口,并在项目的 bin 中生成对应的打包 exe 程序。

五、写在后面

试玩.Net 还有一个原因是,我之前还有一个 Unity3D 小游戏在做。也看了很多别人的案例,都是用 .Net 做的服务端,学了这个,也方便以后能将单机小游戏改成多人实时对战的联机游戏。

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

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

相关文章

人工智能数学基础(四):线性代数

线性代数是人工智能领域的核心数学工具之一&#xff0c;广泛应用于数据表示、模型训练和算法优化等多个环节。本文将系统梳理线性代数的关键知识点&#xff0c;并结合 Python 实例&#xff0c;助力读者轻松掌握这一重要学科。资源绑定附上完整资源供读者参考学习&#xff01; …

Github 2025-04-26 Rust开源项目日报Top10

根据Github Trendings的统计,今日(2025-04-26统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Dart项目1RustDesk: 用Rust编写的开源远程桌面软件 创建周期:1218 天开发语言:Rust, Dart协议类型:GNU Affero General Public Li…

使用org.java_websocket库第三方库实现广播

可以使用org.java_websocket库来实现WebSocket服务器&#xff0c;并通过broadcast方法实现广播 java实现 import org.java_websocket.WebSocket; import org.java_websocket.handshake.ClientHandshake; import org.java_websocket.server.WebSocketServer; import java.net.…

【自然语言处理与大模型】LangChain大模型应用框架入门②

本文介绍LangChain的另一个重要组件——提示词模板&#xff08;Prompt Template&#xff09;组件&#xff0c;它主要用于将用户输入和参数转换为语言模型可理解的指令。有助于引导模型生成符合预期的响应&#xff0c;帮助其更好地理解上下文&#xff0c;从而输出相关且连贯的语…

单例设计模式之懒汉式以及线程安全问题

在单例设计模式中&#xff0c;懒汉式&#xff08;Lazy Initialization&#xff09; 通过延迟实例化来优化资源使用&#xff0c;但在多线程环境下存在线程安全问题。以下是其核心问题及解决方案的详细解析&#xff1a; 一、基础懒汉式代码&#xff08;线程不安全&#xff09; pu…

Windows7升级PowerShell到5.1

window7系统&#xff0c;安装了vs2019后&#xff0c;应用要用到PowerShell&#xff0c;Tool->Commond Line->Developer PowerShell时&#xff0c;提示版本需要3.0以上。还有编译新版本vcpkg&#xff08;2021前的版本&#xff09;&#xff0c;脚本报错。所以需要升级下Pow…

区块链:去中心化应用(DApp)开发全流程解析

一、DApp的核心概念与特点 去中心化应用&#xff08;DApp&#xff09;是一种基于区块链技术的应用程序&#xff0c;其核心逻辑通过智能合约在链上执行&#xff0c;数据存储和交互均不依赖中心化服务器。相比传统应用&#xff0c;DApp具备以下特点&#xff1a; 去中心化&#x…

跟我学C++中级篇——控制死锁

一、同步和死锁 在前面学习多线程和网络编程时&#xff0c;都对线程中数据的同步和数据结构多线程访问的安全问题进行了分析和说明。其实&#xff0c;多线程编程之所以难&#xff0c;难点之一就在这里&#xff0c;数据同步意味着效率和安全的平衡&#xff0c;而这里的安全有一…

【matlab】绘制maxENT模型的ROC曲线和omission curve

文章目录 一、maxENT模型二、ROC曲线三、实操3.1 数据提取3.2 绘制ROC曲线3.3 绘制遗漏曲线3.4 多次训练的ROC和测试的ROC 一、maxENT模型 前面的文章已经详细讲过了。 maxENT软件运行后&#xff0c;会生成一个html报告&#xff0c;里面有ROC曲线&#xff0c;但我们往往需要自…

nginx 核心功能

目录 一、基于授权的访问控制 1. 使用 htpasswd 生成用户认证文件 2. 修改 Nginx 主配置文件 二、基于客户端的访问控制 三、Nginx 虚拟主机 1. 基于域名的虚拟主机 2. 基于 IP 的虚拟主机 3. 基于端口的虚拟主机 四、LNMP 架构部署及应用 1. 安装 MariaDB 2. 安装并…

mongoose插入文档,字段类型, 字段验证, 删除文档,更新文档,读取文档,查询文档的条件控制 ,字段筛选,数据排序,数据截取

、Mongoose 中与 文档操作&#xff08;插入、查询、更新、删除&#xff09;及其相关功能&#xff08;字段类型、验证、条件筛选、排序、分页等&#xff09;相关示例&#xff1a; &#x1f4cb; 一、字段类型定义&#xff08;Schema Types&#xff09; const mongoose require…

类和对象 (拷贝构造函数和运算符重载)上

类和对象 (拷贝构造函数和运算符重载)上 拷贝构造函数存在的原因及解决的 C 语言问题 1. 浅拷贝带来的问题 在 C 语言里&#xff0c;当对结构体或者数组进行拷贝操作时&#xff0c;执行的是浅拷贝。所谓浅拷贝&#xff0c;就是单纯地把一个对象的所有成员变量的值复制到另一…

Python深度挖掘:openpyxl和pandas的使用详细

文章目录 一、Excel处理在数据分析中的重要性二、openpyxl基础与核心功能2.1 openpyxl简介与安装2.2 工作簿与工作表的基本操作创建新工作簿打开已有工作簿工作表操作 2.3 单元格操作详解基本单元格操作批量操作单元格特殊单元格操作 2.4 样式与格式设置字体样式对齐方式边框设…

Android Q允许低内存启用系统弹窗

如果SYSTEM_ALERT_WINDOW权限可用&#xff0c;则返回true。 *从Q开始&#xff0c;在低ram手机上禁用SYSTEM_ALERT_WINDOW。 vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/Utils.java public static boolean isSystemAlertWindowEnabled(Co…

taro小程序如何实现大文件(视频、图片)后台下载功能?

一、需求背景 1、需要实现小程序下载最大500M视频 2、同时需支持图片下载 3、退到其他页面再次回到当前页面时&#xff0c;下载进度也需要展示 二、实现步骤 1、在app.ts文件定义一个全局变量globalDownLoadData 2、写一个独立的下载hooks&#xff0c;代码如下&#xff08;…

BUUCTF——Online Tool

BUUCTF——Online Tool 进入靶场 <?phpif (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {$_SERVER[REMOTE_ADDR] $_SERVER[HTTP_X_FORWARDED_FOR]; }if(!isset($_GET[host])) {highlight_file(__FILE__); } else {$host $_GET[host];$host escapeshellarg($host);$host e…

《解锁CSS Flex布局:重塑现代网页布局的底层逻辑》

网页布局作为用户体验的基石&#xff0c;其重要性不言而喻。从早期简单的表格布局&#xff0c;到后来基于浮动与定位的复杂尝试&#xff0c;网页布局技术始终在不断演进。而CSS Flex布局的出现&#xff0c;宛如一颗璀璨的新星&#xff0c;彻底革新了网页布局的设计理念与实践方…

4.28-4.29 Vue

基于数据渲染出用户看到的页面。 常用指令&#xff1a; click单击事件。 axios&#xff1a; 发出请求后&#xff0c;不会等待请求结束&#xff0c;而是继续进行下面的代码。

每日算法-250429

每日 LeetCode 题解 (2025-04-29) 大家好&#xff01;这是今天的 LeetCode 刷题记录&#xff0c;主要涉及几道可以使用贪心策略解决的问题。 2037. 使每位学生都有座位的最少移动次数 题目描述: 思路 贪心 解题过程 要使总移动次数最少&#xff0c;直观的想法是让每个学生…

yolov8+kalman 实现目标跟踪统计人流量

简述 最近接了毕业生的毕业设计题&#xff0c;想着帮帮忙&#xff0c;要使用机器视觉识别&#xff0c;追踪和逻辑统计的方式来统计人流&#xff0c;要求是满足下面特性 高精度&#xff1a;YOLOv8 提供高质量检测&#xff0c;卡尔曼滤波平滑跟踪。高效率&#xff1a;两者结合满…