自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C# 流程接口设计 和 方法链调用 记录用

流畅接口设计和方法链调用的核心原理:返回this:每个方法返回当前对象实例上下文延续:保持操作在同一个上下文中进行接口设计:通过返回接口类型支持多态编译器支持:自动处理中间结果的传递语义连贯:创造领域特定的语言体验这种设计让API更加直观、易用,是现代库和框架中广泛采用的优秀实践。

2025-11-04 13:44:21 857 1

原创 Run 在XAML中的应用

Run是 WPF 中用于在文本块中定义具有不同格式的文本段的内联元素。它允许你在同一个TextBlock中混合使用不同的样式。Run精细控制:可以对文本的每个部分单独设置样式数据绑定:支持完整的 WPF 数据绑定功能性能优化:比多个 TextBlock 更高效灵活性:可以动态创建和修改可维护性:使复杂文本布局更清晰使用时机需要在一个文本块中显示多种格式时需要数据绑定的文本片段动态生成格式化的文本内容创建复杂的文本布局避免时机简单的单一样式文本性能极其敏感的场合(大量动态 Run)

2025-11-04 13:36:51 756

原创 TemplatedParent , FindAncestor 含义用法

- 使用 TemplatedParent 绑定 --></Border></Setter></Style><Grid></Grid><Grid><Button Content="搜索"</Grid></Border></Setter></Style>特性使用场景ControlTemplate 内部任何视觉树中的元素查找目标应用模板的控件指定类型的祖先元素性能快(直接引用)稍慢(需要遍历树)灵活性固定目标可指定类型和层级典型用法自定义控件模板跨层级数据绑定。

2025-10-31 15:58:11 805

原创 wpf o:Freeze=“True“ - 冻结功能

冻结(Freezing)是 WPF 中的一个概念,使对象变为不可变(只读)状态,这样可以提高性能。可重用的画刷资源(通过x:Key性能优化的画刷(通过动态主题支持的画刷(通过这种模式在需要高性能且支持主题切换的应用程序中非常有用,特别是在创建大量 UI 元素时。

2025-10-31 13:46:51 528

原创 WPF AddOwner

假设我们有一个自定义的文本编辑器,需要支持多行输入:csharp复制下载// 使用 AddOwner 来继承基类的依赖属性true, // 代码编辑器默认允许多行true, // 代码编辑器默认允许 Tab 键// CLR 属性包装器// 当 AcceptsReturn 改变时的处理逻辑。

2025-10-31 11:19:16 819

原创 模板部件特性(TemplatePart Attribute)

csharp复制下载// 获取文本框部件= null)= null)

2025-10-31 11:09:20 597

原创 wpf DependencyProperty? 方便查询用

是 WPF、Silverlight 和 UWP 等 XAML 平台的核心属性系统。它不是一个普通的 .NET 属性,而是一个在依赖对象中注册并由 WPF 属性系统管理的属性。你可以把它理解为对普通 CLR 属性的一个“增强版”。样式设置数据绑定动画动态资源引用属性值继承这是最常见的使用场景。当你创建一个新的或从Control类继承来制作自定义控件时,你需要使用来定义控件的属性,这样这些属性才能享受到 WPF 属性系统的所有高级功能。为一个自定义的“圆形按钮”控件添加一个属性。csharp复制。

2025-10-31 11:01:30 779

原创 代码命名规范 ->变量命名

本文介绍了变量命名规范:形参采用"_+类型前缀+描述"格式(如_dictQuantityUpdates);成员变量使用"类型前缀+描述"(如dicProducts),同名时加this.前缀;局部变量为"类型前缀+描述"(如dictUpdateResults)。常用类型前缀包括:list(List)、dict(Dictionary)、set(HashSet)等。示例代码展示了在InventoryService类中如何应用这些规范,通过统一的前缀命名方

2025-10-24 10:17:26 316

原创 代码命名规范 C#

变量命名

2025-10-24 10:08:08 180

原创 C# 六大设计原则

重构-使代码更简洁优美:小技巧省掉N多代码设计模式六大原则做个标记方便阅读

2022-05-12 18:22:40 259

原创 C# 多线程更新控件

this.BeginInvoke(new Action( () => { //内部为对控件进行的操作 listBoxMsg.ForeColor = Color.Blue; listBoxMsg.Items.Ad...

2021-06-18 13:44:00 673

转载 C# 全局变量

publicclassGlobalVariable{//******************************************************************//*Hashtable用于存放全局变量,由key和value成对实现。//******************************************************************...

2019-06-25 10:20:40 1529

转载 windows编程四个常用代码

First:透明窗口windows透明窗口,让窗口透明,如下图。Second:全屏幕显示窗体全屏幕显示窗体:很多游戏按esc或者最大化按钮全屏功能就是这样实现的,窗口比较大,效果不做展示,这里直接附上代码。Third:隐藏任务栏隐藏任务栏:很多寄生程序采用隐藏的方式,让大家在任务管理器中找不到任务项,其实就是这样一句简单的代码就可以实现。SetWindow...

2019-06-24 16:30:00 1293

转载 windows 消息代码大全

windows消息代码WM_NULL =$0000 //WM_CREATE =$0001 //应用程序创建一个窗口WM_DESTROY = $0002 //一个窗口被销毁WM_MOVE = $0003 //移动一个窗口WM_SIZE= $0005 //改变一个窗口的大小WM_ACTIVATE= $0006 //一个窗口被激活或失去激活状态;WM_SETFOCUS=...

2019-06-24 16:17:25 2868

转载 TCP/IP

为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。但是简单的连到一起是远远不够的,就好像语言

2017-11-07 14:10:42 370

转载 CreateFile 函数详解

CreateFile函数详解CreateFileThe CreateFile function creates or opens the following objects and returns a handle that can be used to accessthe object: files pipes mailslots communications res

2017-10-26 10:49:58 754

原创 window相对路径

为预防下次忘记举例:..\\bin\\Debug32\\IO_Caption.csv

2017-10-26 09:37:38 657

转载 Gdi+ BUTTON开源地址

https://www.codeproject.com/Articles/26887/A-user-draw-button-that-supports-PNG-files-with-tr备后期使用

2017-10-19 17:21:33 320

转载 模态对话框与非模态对话框的创建及的几种销毁方法与区别

对话框的创建:CDialogEx* g_pDlg = NULL;  全局对话框指针模态对话框void  A(){CTest dlg;dlg.DoModal();   //程序在这里暂停,只有关闭后才能往下执行//只有关闭了 dlg创建的窗口才能执行到这里}非模态对话框 (可以直接使用,我正在用)void A(){AFX_M

2017-10-19 16:39:53 488

转载 .pch

VS系列编译问题总结:1、无法打开预编译头 Debug\XXX.pch  无法解析的外部符号 "int __cdecl _AfxInitManaged(void)"分析:pch文件是预编译文件,它由stdafx.h和stdafx.cpp文件生成,用来预编译一些不易改动的文件,调高编译速度。在网上很多人给的解决方案都是设置【C/C++】-> 【预编译头】->【预编译头

2017-06-27 00:05:50 611

转载 stdafx.h targetver.h

c++ stdafx.h、targetver.h文件遇到问题,赶紧记录一下,免得过后忘了如果预编译头会有stdafx.h、targetver.h文件。stdafx.h标准系统包含文件的包含文件, 或是经常使用但不常更改的,特定于项目的包含文件。百度百科说是所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、A

2017-06-26 23:51:52 619

转载 Visual Studio的一个解决方案包括.sln .suo .vcproj .ncb .user等文件类型。

Visual Studio的一个解决方案包括.sln .suo .vcproj .ncb .user等文件类型。.sln(Visual Studio.Solution):   它通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用,可将它们组织到解决方案中。                                               包含了较为通用的信息,包括解决方案

2017-04-03 06:53:00 944

转载 _declspec(dllexport)和__declspec(dllimport)

__declspec(dllexport)和__declspec(dllimport)__declspec(dllexport)  __declspec(dllexport)    将一个函数声名为导出函数,就是说这个函数要被包含她的程序之外的程序调用。   extern    "C"                    指示编译器用C语言方法给函数命名。         

2017-04-03 04:46:50 272

转载 基础温习 - MFC _cstatusBar

CToolBar和CToolBarCtrl以及CStatusBar 和CStatusBarCtrl均是继承自CWnd类。CToolBar和CStatusBar都是在control bars 类中的封装,而CStatusBarCtrl和CToolBarCtrl都是在controls 类中的封装。CToolBarCtrl和CStatusBar由于它们只是简单地封装了API而没有

2016-12-02 17:21:12 370

转载 MFC OnClose

OnClose()和 OnDestroy()基于对话框的MFC程序,发现每次程序退出时,托盘的小图标不能自动消失,鼠标移上去之后才能消失,比较不爽。后来发现我删除这个图标的代码是在自己重写的OnClose()函数中,结果断点一看,OnClose()根本没有被调用,确切的说是点“退出”不调用,点右上角的“叉”才调用,难怪出现这个结果,后来还有我想在OnClose()函数中有其他操

2016-12-02 15:21:57 2305

空空如也

空空如也

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

TA关注的人

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