自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 Winform 界面管理

winform 打开多个界面时,如果使用 Form.Show 方法,有时候没注意就把同一个窗体打开多次,这可能会导致数据混乱,如果去判断窗体是否打开也很麻烦,需要写一堆的代码才能实现,为了解决这个问题,我做了小小的封装,可以很好的解决这个问题。另外我还封装了 判断界面是否打开、获取打开的 Form、打开有参数的 Form 窗体 等功能,用法就不一一展示了。

2024-05-23 10:01:46 42

原创 Winform 判断当前是 Debug 模式还是 Release 模式

可以使用 System.Diagnostics.Debugger.IsAttached 属性来判断当前运行的是 Debug 模式还是 Release 模式。当在 Debug 模式下运行时,System.Diagnostics.Debugger.IsAttached 属性的值为 true,而在 Release 模式下运行时,该属性的值为 false。

2024-05-23 09:36:12 28

原创 C# .Net8 switch 的用法

如果将 day 设置为 30,在所有的选择中都找不到,那么结果就自动执行 _ 选项代码。在 .net 8中,switch 不需要再和传统的写法一样了,会更加的方便。switch 的写法没必要和以前一样。创建一个 .net 8 控制台项目。

2024-05-13 16:52:45 281

原创 VS .Net8 去掉空值警告

在.NET 8中,如果你遇到了频繁的空引用异常(NullReferenceException)警告,这可能是因为启用了代码分析器(Code Analyzer),特别是与可空引用类型(Nullable Reference Types)相关的规则。这些规则旨在帮助开发者避免空引用异常,提高代码的健壮性。可空引用类型是C# 8.0引入的一项特性,它允许开发者明确地声明一个引用类型变量是否可以为null。

2024-05-13 10:17:19 272

原创 C# IAsyncEnumerable<T> 的用法

在C#中,IAsyncEnumerable 接口用于表示异步的可枚举序列。自C# 8.0起,这个接口允许你在等待异步操作的同时进行枚举,这在处理流式数据或大量数据时特别有用,比如从网络请求或文件流中读取。IAsyncEnumerable与传统的IEnumerable类似,但它的枚举器返回的是ValueTask而不是T。3.处理长时间运行的数据生成过程,如监控或实时数据馈送。1.处理数据库查询结果,这些结果是异步流式返回的。2.从网络读取数据,每个数据块在可用时逐一处理。

2024-04-30 16:55:09 144

原创 C# ValueTuple 值元组的用法

C#中的Value Tuple是一种轻量级的数据结构,用于在单个变量中存储多个值。它们在System.ValueTuple命名空间下,并且被设计为可变的(mutable),允许你在创建后修改元素的值。1.结构类型(Value Type):Value Tuples是值类型(struct),而不是引用类型(class)。2.可变性:Value Tuples的字段可以修改,而System.Tuple中的元素是只读的。4.解构:Value Tuples可以很容易地被解构到独立的变量中,这使得处理多返回值变得简单。

2024-04-30 15:17:42 110

原创 C# ??= 空合并赋值运算符的用法

在 .Net Framework 4.8.1 并不支持,所以必须新建 .Net8 的项目。是一个空合并赋值运算符,它是C# 8.0中引入的。这个运算符用于简化代码,当左侧的变量是。时,它会将右侧的值赋给左侧的变量,否则左侧的变量保持原有的值。

2024-04-30 14:57:59 103

原创 C# 使用丢弃符号_

【代码】C# 使用丢弃符号_

2024-04-30 14:35:56 89

原创 C# <= 运算符的用法

= 运算符是判断 左边的数量 是否小于或等于 右边的数量。

2024-04-30 14:20:53 111 1

原创 C# foreach 循环新写法

【代码】C# foreach 循环新写法。

2024-04-30 14:03:43 110 1

原创 C# AES对称加密算法

AES算法的keysize有一定限制。具体来说,AES算法支持的keysize为 128 bits、192 bits 和 256 bits,而且只能以16 bits(即2个字节)为步长递增。也就是说,支持的有效的 keysize 可以是:128、160、192、224 或 256。需要注意的是,AES算法的 keysize 越大,加密强度越高,但同时也会增加加密运算所需的时间和计算资源。因此,在实际应用中,需要根据实际需求和环境对 keysize 进行合理的选择。

2024-04-10 16:42:15 190 1

原创 PyCharm 的下载和安装

安装完成后,打开编辑器,点击左边的 Plugins ,在输入框 输入 chinese ,选择 简体中文(Simplified)再点击 Install 就好了,下图是我安装完成后,显示的 Restart IDE ,是重启编辑器的意思。安装就按默认的来就行了,或者选择其他的路径安装,没什么可讲的,这里就说下怎么安装中文。下载社区版,对平时的开发来说基本够用了。进入下载界面后,排在上面的是专业版,继续往下翻,就会看到社区版的下载按钮。首先进入 PyCharm 官网。在右上角可以选择语言。

2024-03-27 16:16:31 226

原创 三菱 CNC 采集软件安装教程

1.打开三菱官网下载需要账号登陆,没有账号的,先注册一个账号找到资料中心2.点击计算机数字控制器CNC3.选择软件4.选择 CNC通讯软件,点击查看4.下载后面安装,填用户名和电话就好了,点击下一步,下一步,直到安装结束,安装完成后,需要重启电脑才能用。

2023-12-26 09:52:35 532

原创 Winform 界面添加快捷键

1.在添加快捷键之前需要将 KeyPreview 设置为 True ,否则快捷键会没有效果。这里可以选择几种按键检测的方式,如果是组合键 使用 KeyDown 即可。双击 KeyDown 文字就可以自动添加事件了。

2023-12-22 11:43:19 452

原创 C# 获取文件全路径、目录、扩展名、文件名称

C# 获取文件全路径、目录、扩展名、文件名称。

2023-12-20 15:13:42 463 1

原创 C# 获取项目的Debug目录路径

获取项目的Debug目录路径。

2023-12-20 15:10:22 710 1

原创 C# 代码运行耗时

如果需要分段多次计时,那么就需要将计时器清空。暂停计时器,输出时间。

2023-12-20 15:07:04 372 1

原创 C# 弹框选择文件和选择文件夹

C# 弹框选择文件和选择文件夹。

2023-12-20 15:03:22 666 1

原创 C# 打开外部程序

这里就用控制台打开,如果是 winform 项目,根目录会不一样。这里传入一个程序的完整路径就好了。

2023-12-13 15:01:24 489 1

原创 Winform 获取 ListBox 所有(多选)选中项的数据

将 listBox1 的 SelectionMode 字段的值设置为 MultiExtended。先新建一个类 Tool,这里用来随机生成字符串,用来添加到 listBox1 中。获取多选数据 按钮这里可以获取所有选中行的索引,或者所有选中行的值。在运行之前,我们需要给 listBox1 添加数据。接下来就给 listBox1 添加数据。点击 获取多选数据 按钮。点击 获取多选数据 按钮。运行后,选中界面如下。可以看到,输出是对的。运行后,选中界面如下。

2023-12-12 16:46:34 1106 1

原创 Winform 最小化托盘

切换到事件界面,就是下面图标有个类似打雷的图标,然后双击 MouseClick 这行就会自动添加 notifyIcon1_MouseClick 事件了,这里主要作用是最小化托盘后,点击软件的图标时,软件就在显示默认窗口,如果你想鼠标双击事件,就使用 MouuseDoubleClick 事件。另一个,如果你只有 icon 图片,但不是 icon 格式的,你还需要一个 icon 转换的软件,将图片转换为 icon 格式的,否则后续的功能是无法继续的。好了,这样就可以达到效果了。icon 图标一定要设置,

2023-12-11 11:02:12 634 1

原创 程序开机启动

添加开机启动方法:WIN + R 就会打开运行窗口

2023-11-28 15:17:11 308

原创 C# While(true) 自动终止的异常

C# 使用 while(true) 理论上,会一直循环下去,最近发现我的程序,突然 while(true) 自动停止了,而且也没有报错,于是我自己找了一下原因,这里我模拟了一个错误,用来实现在 while(true) 中如果真实的报错,会发生什么。当前报错,是因为程序正在调试,如果直接运行生成的 exe 文件,那么就不会报错了。从上图可以看到,运行到 6 这里,while(true) 便停止了运行。所以,我们平时在 while(true) 一定要注意这个情况。

2023-11-23 11:13:23 747

原创 C# 遍历一个类的所有方法和参数

c# 遍历一个类的所有方法和参数。

2023-11-15 14:33:25 166

原创 C# 压缩字符串

C# 压缩字符串。

2023-11-15 14:04:50 196

原创 C# 在控制台打印一个 List<类>

其实还可以进一步封装,让其可以打印 List ,也可以直接打印类。效果是一样的,这时候,可以传任意类型的 List。

2023-11-09 16:47:47 670 1

原创 C# foreach 遍历问题

可以看到,for 循环并没有因为数组的长度增加而报错,另外,由于添加的内容在 List 的最后一个元素,所以在后面也能正常被遍历处来,这主要是 for 循环的特殊性,下面就来看看是怎么回事。i++ 也不会影响,i++ 的执行条件,原自前面的 i < list.count 这句代码,所以,只要前面不满足条件,i++ 也不会执行。在后面的循环中,都会判断, i 是否 < list.count ,由于我们在执行过程中加了一个元素,所以这里也会 + 1。系统.无效操作异常:“集合已修改;可能无法执行枚举操作。

2023-10-31 10:39:54 188 1

原创 Winform 输入框控件默认选中的解决办法

textbox 输入框就莫名其妙的被选中,就这个问题,我在网上查了很多资料,很多人说使用 Tabstop 设置成 false 就可以了。也非常麻烦啊,于是我又找到了另一种方法,更为简单,也更方便,就一句代码就搞定了。在 winform 中,界面一启动,经常有这样的现象。我试了一下,确实可以,但是每个输入框都要设置,如下。

2023-10-31 10:18:51 481 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除