摘要:
• public Action 字段:等同于公开的委托变量,任何外部代码都可以使用 = 覆盖它、也可以直接调用(Invoke)它,容易被误写或清空,安全性差。• public event Action:只允许外部通过 += / -= 订阅或退订;只有声明该事件的类可以触发(调用)这个事件,封装性和安
阅读全文
posted @ 2025-12-11 16:34
家煜宝宝
阅读(44)
推荐(0)
摘要:
软件名称主要功能是否收费 ReSharper Visual Studio扩展,提供智能代码补全、即时错误分析、代码重构、导航和单元测试集成等功能。 付费 Rider 跨平台的.NET集成开发环境,支持C#、F#、VB.NET、JavaScript等,功能上相当于一个融合了ReSharper的独立ID
阅读全文
posted @ 2025-12-11 15:45
家煜宝宝
阅读(10)
推荐(0)
摘要:
1 打开注册表编辑器(WIN+R组合键,输入regedit) 找到【计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers】 新建字符串值, 字符串的名称设置为visual st
阅读全文
posted @ 2025-12-11 08:42
家煜宝宝
阅读(8)
推荐(0)
摘要:
1.全部折叠 collapse_Velocity.Items.ForEach ( item =>{ item.Expand = false; } ); 2.只保持一个展开 Unique 只保持一个展开 bool false
阅读全文
posted @ 2025-12-10 13:31
家煜宝宝
阅读(14)
推荐(0)
摘要:
(1)Validated Validated事件在一个控件完成验证后发生。它标志着该控件的验证流程已成功通过,通常在此事件中进行一些清理工作或后续操作,例如清除之前可能显示的错误提示 与之紧密相关的 Validating事件则发生在验证过程中。在 Validating事件中,你可以检查数据的有效性。
阅读全文
posted @ 2025-12-10 10:59
家煜宝宝
阅读(2)
推荐(0)
摘要:
ComboBox的几个关键事件的区别 事件名称触发条件是否被代码修改触发 SelectedIndexChanged 选项的索引 (SelectedIndex) 发生改变时。 是。通过代码设置 SelectedIndex、SelectedItem 或 SelectedValue 属性通常都会触发此事件
阅读全文
posted @ 2025-12-10 09:59
家煜宝宝
阅读(5)
推荐(0)
摘要:
效果 在C# WinForms中,让PropertyGrid同时显示NumericUpDown和Slider控件来编辑同一个数值属性,可以通过自定义UITypeEditor来实现。下面是一个完整的解决方案。 🎯 实现思路概述 方法 核心思路 适用场景 优点 自定义UITypeEditor 创建下
阅读全文
posted @ 2025-12-09 15:15
家煜宝宝
阅读(5)
推荐(0)
摘要:
[DisplayName("是否使用科学计数法表示")] Browsable 设置控件某一属性或事件是否出现在“属性”窗口中 如果某属性或事件没有添加Browsable特性,那么该属性或事件也可以在“属性”窗口中看到。这里还要说明以下,Browsable只能决定某属性或事件在“属性”窗口内的可见性,
阅读全文
posted @ 2025-12-09 08:46
家煜宝宝
阅读(4)
推荐(0)
摘要:
SVN经典目录结构 trunk(主干) branches(分支) tags(标签) 代码暂存 为什么要使用代码暂存? 代码改了很多,突然需要紧急修复一个bug,但是代码还没写完,不能提交 代码重构了很多,突然需要发布新版本,但是代码还跑不起来,不能提交。 修改代码后,右击当前目录->Tortoies
阅读全文
posted @ 2025-12-05 17:27
家煜宝宝
阅读(4)
推荐(0)
摘要:
1 private async void buttonStartTask_Click(object sender, EventArgs e) 2 { 3 // 1. 实例化并显示加载窗体(非模态,以便后续操作) 4 LoadingForm loadingForm = new LoadingForm(
阅读全文
posted @ 2025-12-05 17:19
家煜宝宝
阅读(3)
推荐(0)
摘要:
1.属性 Name 获取或设置控件的名称。 Maximum 获取或设置控件范围的最大值。 Minimum 获取或设置控件范围的最小值。 Value 获取或设置表示跟踪条上滚动框的当前位置的数值。 TickFrequency 获取或设置一个值,该值指定控件上绘制的刻度之间的增量 LargeChange
阅读全文
posted @ 2025-12-05 16:30
家煜宝宝
阅读(17)
推荐(0)
摘要:
派生自定义控件(推荐) 这是最健壮的方式。通过创建一个继承自NumericUpDown的新控件,并重写其UpdateEditText方法来改变显示逻辑。 1 public class ScientificNumericUpDown : NumericUpDown 2 { 3 // 可选:属性,用于控
阅读全文
posted @ 2025-12-05 15:18
家煜宝宝
阅读(4)
推荐(0)
摘要:
属性整理 属性说明常用值示例 Value 当前显示的数值 50, 3.14 Minimum 允许的最小值 0, -100 Maximum 允许的最大值 100, 999.99 Increment 点击箭头时的增减步长 1, 0.1, 5 DecimalPlaces 显示的小数位数 0 (整数), 2
阅读全文
posted @ 2025-12-05 14:44
家煜宝宝
阅读(3)
推荐(0)
摘要:
1.工具栏隐藏和显示 ToolbarVisible:用于控制工具栏的显示与隐藏 2.描述栏隐藏和显示 HelpVisible属性:这是一个布尔类型的属性,当设置为true时,描述栏可见(默认值);当设置为false时,描述栏隐藏。 3.类中有类,不显示 [TypeConverter(typeof(E
阅读全文
posted @ 2025-12-04 14:47
家煜宝宝
阅读(6)
推荐(0)
摘要:
在WinForm中,PropertyGrid控件默认用于显示和编辑对象的属性。如果你想要在PropertyGrid中实现类似NumericUpDown的效果(即一个可以点击上下箭头来增加或减少数值的输入框),你可以通过以下两种方式来实现: 使用自定义类型转换器(TypeConverter)和UI类型
阅读全文
posted @ 2025-12-04 14:32
家煜宝宝
阅读(22)
推荐(0)
摘要:
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { int RowIndex = e.RowIndex; // 确保是数据行,而不是表头行 if (e.Ro
阅读全文
posted @ 2025-12-04 11:06
家煜宝宝
阅读(3)
推荐(0)
摘要:
1 BindingSource bindingSource = new BindingSource(); 2 3 List<MyClass> list=new List<MyClass>(); 4 5 bindingSource.DataSource=list; 6 7 //刷新 8 9 bindi
阅读全文
posted @ 2025-12-04 10:47
家煜宝宝
阅读(3)
推荐(0)
摘要:
获取或设置一个值,用以指示是否在树视图控件中的树节点旁显示复选框。 public bool CheckBoxes { get; set; }
阅读全文
posted @ 2025-12-04 09:37
家煜宝宝
阅读(7)
推荐(0)
摘要:
C++入门书籍推荐《C++ primer plus》,进阶书籍推荐《C++ primer》。Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》,qml书籍推荐《Qt5编程入门》,Qt电子书强烈推荐《Qt5.10 GUI完全参考手册》。强烈推
阅读全文
posted @ 2025-12-03 11:23
家煜宝宝
阅读(12)
推荐(0)
摘要:
先介绍QWeakPointer,是因为QPointer和QSharedPointer的实现都依赖于QWeakPointer 作用 1、为QPointer和QSharedPointer提供了弱引用计数的功能.2、解除循环引用 QWeakPointer 类持有对共享指针的弱引用。QWeakPointer
阅读全文
posted @ 2025-12-03 11:19
家煜宝宝
阅读(25)
推荐(0)
摘要:
特点: 用于解决 QSharedPointer 可能导致的循环引用问题。 不会增加对象的引用计数,不影响对象的生命周期。 可以从 QSharedPointer 或者另一个 QWeakPointer 创建,用于在需要时保持对对象的非拥有者式引用。 如果关联的 QSharedPointer 被释放,QW
阅读全文
posted @ 2025-12-03 11:01
家煜宝宝
阅读(3)
推荐(0)
摘要:
微PE工具箱 优启通 (UQiTong) USM魔术师 Ventoy:https://www.ventoy.net/cn/ 老毛桃 / 大白菜 / 电脑店 FirPE HotPE 小兵U盘启动
阅读全文
posted @ 2025-12-03 10:26
家煜宝宝
阅读(5)
推荐(0)
摘要:
特点: 用于管理动态分配的对象的所有权和生命周期。 当存在至少一个 QSharedPointer 指向对象时,对象的内存不会被释放。 当最后一个指向对象的 QSharedPointer 超出作用域时,对象的内存会被释放。 可通过复制 QSharedPointer 来增加对象的引用计数,确保对象在合适
阅读全文
posted @ 2025-12-03 10:03
家煜宝宝
阅读(5)
推荐(0)
摘要:
Qt提供了一系列智能指针,它们在特定场景下比标准库智能指针更方便。下面的表格对比了常见的Qt智能指针: 智能指针类型所有权主要用途适用对象与 std 智能指针对比 QPointer 无 弱引用/观察 QObject 派生类 类似于 std::weak_ptr,但自动置空。 QSharedPointe
阅读全文
posted @ 2025-12-03 09:21
家煜宝宝
阅读(21)
推荐(0)
摘要:
上代码 1 class UIControlBase : public QObject 2 { 3 Q_OBJECT 4 5 public: 6 UIControlBase(const UIControlBase&); 7 UIControlBase(QObject *parent); 8 UICon
阅读全文
posted @ 2025-12-03 09:02
家煜宝宝
阅读(3)
推荐(0)
摘要:
封装类 1 #include <QObject> 2 #include <QComboBox> 3 #include <QStyledItemDelegate> 4 class DynamicComboBoxDelegate : public QStyledItemDelegate { 5 Q_OB
阅读全文
posted @ 2025-12-02 16:21
家煜宝宝
阅读(11)
推荐(0)
摘要:
QTemporaryFile 是Qt中用于安全、便捷地处理临时文件的工具类,它的核心优势在于能自动生成唯一文件名,并能在对象销毁时清理文件。 下表概括了其核心特性: 核心特性描述 唯一性 保证生成的临时文件名是唯一的,避免覆盖现有文件。 自动清理 对象析构时自动删除临时文件(默认开启),防止残留文件
阅读全文
posted @ 2025-12-02 14:31
家煜宝宝
阅读(8)
推荐(0)
摘要:
两种包含方式的区别 特性#include <...>#include "..." 搜索路径 编译器系统目录 当前目录 → 系统目录 使用场景 标准库、系统头文件 用户自定义头文件 效率 通常更快 可能稍慢(先搜索当前目录)
阅读全文
posted @ 2025-12-02 14:18
家煜宝宝
阅读(2)
推荐(0)
摘要:
添加Nuget库需要添加两个Nuget库:MaterialDesignThemes和MaterialDesignColors,上图的效果是使用该控件库实现的,非常强大。MaterialDesignThemes和MaterialDesignColors都是 5.3.0版本 大致是使用ScrollVie
阅读全文
posted @ 2025-12-02 11:28
家煜宝宝
阅读(52)
推荐(0)
摘要:
1 public class ActionsRepository 2 { 3 private Dictionary<Type, IActionBase> _actions = new Dictionary<Type, IActionBase>(); 4 5 private static Action
阅读全文
posted @ 2025-12-02 10:01
家煜宝宝
阅读(3)
推荐(0)
摘要:
原理:使用火绒安全或其他软件,限制修改Mybase8.ini文件就可以了。 1、直接去官网下载任意版本或最新版本安装,安装后在你的C盘用户目录有个文件Mybase8.ini(7版本在安装目录有个Mybase.ini文件),需要启显示隐藏文件才能看到Mybase8.ini文件。 官网地址:Latest
阅读全文
posted @ 2025-12-02 09:30
家煜宝宝
阅读(32)
推荐(0)
摘要:
1、解决方法 1.1 思路 Mybase8存在一个配置文件Mybase8.ini,里面有个FirstUseOn.UserLic.App=1559703844用来记录你的使用时间,一旦到达一个月就会让你付费,所以我们要找到这个配置文件去修改他 1.2 寻找配置文件 默认路径在C:\Users\xxxx
阅读全文
posted @ 2025-12-02 09:24
家煜宝宝
阅读(19)
推荐(0)
摘要:
代码被优化或者无法获取局部变量的效果图如下: 当你在调试的时候,看到这种情况还是挺恼火的,经过查阅资料后,发现可以这种解决: 参考链接:Making an Image Easier to Debug · dnSpy/dnSpy Wiki · GitHub https://github.com/dnS
阅读全文
posted @ 2025-12-01 17:18
家煜宝宝
阅读(13)
推荐(0)
摘要:
1 Task task=null; 2 private void button1_Click(object sender, EventArgs e) 3 { 4 task = Task.Factory.StartNew(() => 5 { 6 while (true) 7 { 8 //Thread.
阅读全文
posted @ 2025-11-29 20:18
家煜宝宝
阅读(4)
推荐(0)
摘要:
1 /// 通过对象防火墙操作 2 /// 域网络防火墙(禁用:false;启用(默认):true) 3 /// 公共网络防火墙(禁用:false;启用(默认):true) 4 /// 专用网络防火墙(禁用: false;启用(默认):true) 5 public static bool Firew
阅读全文
posted @ 2025-11-29 20:13
家煜宝宝
阅读(5)
推荐(0)
摘要:
i++ 和 ++i 的区别 i++ 和 ++i 都是编程中常用的自增运算符,但它们在使用上有重要区别。 基本概念 i++(后置自增):先使用变量的当前值,然后再将变量加1 ++i(前置自增):先将变量加1,然后再使用变量的值 示例代码 1 #include <iostream> 2 using na
阅读全文
posted @ 2025-11-28 15:44
家煜宝宝
阅读(23)
推荐(0)
摘要:
1. 初始化和基本操作 创建 QStringList 对象 1 // 1. 默认构造函数创建空列表 2 QStringList list1; 3 4 // 2. 使用初始化列表(C++11) 5 QStringList list2 = { "Arial","Helvetica","Times" };
阅读全文
posted @ 2025-11-28 15:28
家煜宝宝
阅读(16)
推荐(0)
摘要:
动态添加用户控件并选择最后一次添加的页面 1 <TabControl ItemsSource="{Binding TabItems}" SelectedItem="{Binding SelectedTabItem}" > 2 <!-- ItemTemplate定义选项卡头(Header)的显示 --
阅读全文
posted @ 2025-11-28 14:55
家煜宝宝
阅读(4)
推荐(0)
摘要:
使用 1 //代理生成器 2 ProxyGenerator generator = new ProxyGenerator(); 3 //拦截器 4 MyInterceptor interceptor = new MyInterceptor(); 5 //代理生成器使用拦截器生成代理对象 6 IDBH
阅读全文
posted @ 2025-11-28 14:49
家煜宝宝
阅读(6)
推荐(0)
摘要:
LINQ介绍 LINQ语言集成查询是一系列直接将查询功能集成到 C# 语言的技术统称。数据查询历来都表示为简单的字符串,没有编译时类型检查或 IntelliSense 支持。此外,需要针对每种类型的数据源了解不同的查询语言:SQL 数据库、XML 文档、各种 Web 服务等。然而,LINQ的出现改变
阅读全文
posted @ 2025-11-28 14:24
家煜宝宝
阅读(13)
推荐(0)