自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(139)
  • 收藏
  • 关注

原创 C#学习笔记总纲

最近使用C#越来越多,查的资料页越来越多,多了就乱,特重新梳理。如发现文章内容侵权,请联系我,即刻整改。

2024-07-01 20:25:26 191

原创 迅雷:自动化下载文件

我的需求就在于把这次的确认去掉。这个函数第一个参数是要下载的url;第五个是1,0,-1(1为立即下载,0为手工下载,-1为默认,但是不管是哪个,你都要看到弹出的框框,然后手工点击一下。第五个为是否只从原地址下载0为不是,1为是;不过以上方法有个缺陷,就是不能将文件下载到想保存的目录。入想使用5.1.4.174版本希望保存到自己想要保存的目录的话。这里的第一个#*01#*后面跟的是要下载的url,#*02#*后面是引用的url,第三个是注释内容。3.写以下脚本*.vbs.这里使用的自己的url.

2025-02-23 08:59:33 371

原创 WPF(C#)Path

直接转换类型:可以使用TypeDescriptor.GetConverter(typeof(Geometry))方法来获取一个Geometry类型的转换器,然后通过该转换器将字符串路径数据转换为Geometry对象,并赋值给Path.Data属性。使用Path.Data的Setter:Path.Data实际上是一个Geometry类型的属性,因此可以直接创建一个Geometry对象(如LineGeometry、EllipseGeometry等),然后将其赋值给Path.Data属性。

2025-01-25 21:54:14 346

原创 WPF(C#):前台焦点问题

文章提供了解决方案,通过在自定义控件获取焦点时,将焦点重定向至内部特定控件,并保持TabIndex同步。Parent.FocusManager.FocusedElement = Child:Parent控件获得焦点时,将焦点传递给Child,Parent.IsFocused不变动触发。Parent.IsTabStop = false,Child.IsTabStop=True:Parent获得Tab时,不停留,传递给Child。Parent获得焦点时,传递给Child。父控件:Parent。

2025-01-23 11:21:40 996

原创 WPF(C#):Triggers-Trigger(属性触发器)

Trigger是实现动态效果的途径之一有Trigger(属性触发器)、MultiTrigger(多属性触发器)、DataTrigger(数据触发器)、MultiDataTrigger(多数据触发器)、EventTrigger(事件触发器)。

2025-01-22 14:05:47 744

原创 WPF(C#):xaml调用后台静态资源

注:这是一个自定义颜色集类,定义了一种颜色,需要在xaml中调用该资源。试过在xaml文件中定义颜色,但是不能动态修改,所以采用了后台静态资源的方式。首先在xaml声明命名空间:xmlns:MyHelpers="clr-namespace:Helpers"注意:这种方式只能调用静态属性,不能调用静态变量。

2025-01-21 16:23:40 170

原创 C#实例:贪吃蛇

包括了3个类一个主窗体,分别是Node(用来表示方格)、Map(用来表示地图)、Serpent(用来表示蛇),另外一个主窗体。3、向前移动一次,将前面方格添加进蛇列表中,将列表最后一个移除,若为前方格子为食物,则不移除最后一个。4、方向键控制蛇的移动方向,蛇不可反方向移动,如正在向上移动,不能马上向下,只能向左、右、上运动。2、1中提到了方格,方格保存的内容有,颜色,坐标,是否可以通过,是否是食物。1、蛇起始长度5,每吃一个食物增加1,最大15过关。2、蛇用蓝色表示,食物用绿色,障碍物用黑色。

2025-01-10 19:44:10 264

原创 (C#)DotNetSpeech:语音识别

【代码】(C#)DotNetSpeech:语音识别。

2025-01-10 19:16:59 101

原创 (C#)RDLC(Reportview)报表直接打印,支持所有浏览器,客户可在linux下浏览使用

最近在做一个打印清单的,但是rdlc报表自带的工具栏中的打印按钮只有在ie内核下的浏览器才可以使用(其他的就会 隐藏),这导致了使用火狐和谷歌浏览器还有使用linux系统的客户打印成了问题,于是就自己百度搜,谷歌搜,然后就解决了,下面放上源码。打印类 PrintHelp(我需要两个table座位数据源所以参数中有两个datatable)由于原来的工具栏没了打印按钮 所以也就没有存在的必要了 隐藏掉 自己做一个工具栏出来。发送email 传真fax 什么的就不说了 很简单 搜一下一箩筐。

2025-01-10 19:13:41 287

原创 (C#)UDP/TCP开发:简单聊天工具

1、用户登陆于服务器通信用到的tcp协议,服务器接收到用户登陆信息(包括ip,端口,用户名等)后,返回已经登陆的用户列表信息(包括ip,端口,用户名等)给这个用户,同时服务器使用Udp协议向已经登陆的用户发送最新用户列表(包括ip,端口,用户名等)用于更新用户列表。2、用户登陆成功后展示好友列表,并启动udp协议的监听(叫监听似乎不太合适,暂且这么叫吧 形象),用以接收好友发来的消息和服务器返回的好友信息(1中提到的发送用户列表信息)服务器接收到的消息有多种,怎么区分呢?这个地方为什么使用一个线程呢?

2025-01-10 19:09:28 433

原创 c# 使用Codosys.dll(CDO)发送邮件

将Codosys.dll拷到你的项目里,然后引用,或者直接引用Com组件也可以。

2025-01-10 18:59:44 115

原创 C# 进程间通信

然后你就可以华丽丽的使用了,话说这个DLL竟然有源码,如果需要可以留下你的某些联系方式哦。首先辅助类需要一个dll,ThreadMessaging.dll。当然,如果你还有其他什么好的建议也可以留下的。怎么样是不是心动了呢?

2025-01-10 18:54:14 154

原创 C# 停靠窗体

【代码】C# 停靠窗体。

2025-01-10 18:15:47 201

原创 使用命令编辑注册表

说明:该命令将在HKCU\Software\Microsoft\Windows\CurrentVersion\Run下添加一个名为注册表的字符串,其值=C:\windows\system32\regedit.exe。添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%)添加一个值(名称: MRU,类型: REG_MULTI_SZ,数据: fax\0mail\0\0)用 "#" 作为分隔符,显示类型为 REG_MULTI_SZ 的所有值名称的所有。

2025-01-02 04:37:12 785

原创 使用注册表管理系统服务(Services)

服务列表中显示的是显示名称,系统使用的服务的名称要查看服务列表具体项才能看到。

2025-01-02 04:02:25 246

原创 Windows注册表文件

注册表文件,指的是包含注册表添加、删除、修改操作信息的文件,文件后缀为reg。

2025-01-02 03:40:24 400

原创 C#控件之TreeComboBox

【代码】C#控件之TreeComboBox。

2024-08-29 23:46:08 309

原创 C# 控件之AutoCompleteSource

在vb.net中ComboBox 控件提供了筛选的功能,可以让用户在下拉列表中快速找到所需的选项。请注意,筛选功能的可用性和行为也依赖于操作系统和控件版本。某些情况下,你可能需要额外的代码或设置来实现特定的筛选需求。,以提供自动完成建议并在用户按下回车键后附加匹配的选项。在上述示例中,我们将 ComboBox 控件的。,以基于选项列表提供自动完成建议。

2024-07-06 15:04:44 433

原创 C# 线程之BackgroundWorker

如果事件处理程序中的DoWork代码通过检查 CancellationPending 标志并将 的 System.ComponentModel.DoWorkEventArgs 标志设置为 Canceltrue来检测到取消请求,则 Cancelled 的 System.ComponentModel.RunWorkerCompletedEventArgs 标志也将设置为 true。事件处理程序中的DoWork代码应定期检查CancellationPending属性值,如果true为 ,则中止操作。

2024-07-02 13:36:21 1119

原创 C# 关键字

标识一个可以扩展但不能被实体化得、必须被实现得类或方法static:静态成员与它在其中被声明得类型相关联,而不是与类型得实体相关联;sealed:防止类型被派生,防止方法和property被覆载;virtual:一个方法修饰符,标识可被覆载的方法;new:用于调用构造器的操作符。同时,也是一个修饰符,用来隐藏而非重载拥有同样签名得一个继承方法;override:一个修饰符,表明一个方法将覆载一个虚方法或抽象方法,或一个操作符将覆载基类中定义的同名操作符;

2024-07-01 21:26:39 717

原创 C# 特性(attribute)

特性的定义:公共语言运行时允许添加类似关键字的描述声明,叫做attribute,它对程序中的元素进行标注,如类型、字段、方法、和属性等。attribute和.NetFramework文件的元数据保存在一起,可以用来在运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。定制特性attribute,本质上是一个雷,其为目标元素提供关联附加信息,并在运行期以反射的方式来获取附加信息。1、定制特性应用范围定制特性可以应用的目标元素包括:程序集(assembly);模块(module);

2024-07-01 20:59:45 975

原创 C# 方法

方法在类或结构中声明,声明时需指定访问级别、返回值、方法名称及方法参数,方法参数放在括号中,并用逗号隔开。通过上面的属性和方法的介绍,希望大家了解方法和属性的基本使用方法,希望大家通过练习能够熟练的掌握属性和方法的使用,从而提高我们代码的质量,为后期的维护带来方便。在方法的撰写过程中,我们经常会对方法进行重载,方法的重载是指调用同一方法名,但各方法中参数的数据类型、个数或顺序不同。方法的分类:方法分为两大类,静态方法和非静态方法。在调用静态方法时需要由类名直接调用,而非静态方法则是通过类创建的对象来调用。

2024-07-01 20:17:04 216

原创 C# 属性

属性和方法是C#程序中两个重要的组成部分,其中,属性提供灵活的机制来读取,编写或计算私有字段的值,而方法则以一部分代码构成代码块的形式存在,用来实现一部分特定的功能。属性是一种用于访问对象或类的特性的成员。属性可以包括字符串的长度、字体的大小、窗体的标题和客户的名称。属性是成员的自然扩展,二者都是关联类型的命名成员。叙述这些枯燥的概念确实让人乏味,下面我就来介绍个属性使用的列子哦,供大家参考。上面的这个例子很好的描述了属性的创建于使用,希望大家能够举一反三。那么,我们就先从属性开始讲起吧!

2024-07-01 20:16:43 233

原创 C#——相等性与同一性 - 似乎有点小缺陷的设计

由于C#提供了多种比较判定方法,因此要正确实现可靠的比较判断需要付出一定的努力。这里简单结合编码规范和实践来给出一些总结性的建议。1. 若要进行相等性比较,请使用Equals方法(与其静态版本)2. 若要进行同一性比较,请使用ReferenceEquals静态方法3. 若要进行判空,请使用is运算符a is null;// 等效(object)a == null// 等效(object)a!= null4. 若可以确定==与!=运算符的行为,则可以加以使用以增强可读性1 == 1;

2023-10-22 07:08:31 265

原创 C#——关于Word或WPS转PDF的实现

如果在列表中找不到"Kingsoft Office"或"WPS Office",那可能是你没有安装WPS Office,或者你的WPS Office版本不支持COM组件。注意:这种方法同样需要在运行代码的机器上安装WPS Office,并且需要在项目中添加对KWPS和KWPS.Application的引用。请注意,使用此方法需要在运行代码的机器上安装WPS Office,并且需要确保你的项目已经添加了对KWPS的引用。首先,需要在项目中添加对KWPS和KWPS.Application的引用。

2023-10-22 06:59:54 1074 2

原创 WindowsAPI——使用Windows API中键盘、鼠标监控钩子

函数,该函数可以将一个热键与当前应用程序或线程绑定,使得当用户按下热键时,系统会自动将该热键的消息发送到该应用程序或线程中,该函数原型如下;消息发送给注册了该热键的窗口,应用程序需要重载该窗口的消息处理函数来响应该事件,从而实现相应的响应操作。函数,该函数用于从消息队列中获取一个消息并将其存储在一个结构体中,通常用于在一个循环中不断地获取消息,从而实现对。消息,并监控是否为我们所需要的即可,如下代码是一段注册热键的实现,分别注册了。函数可以对所有线程进行监控,包括其他进程中的线程,而。

2023-10-22 06:55:10 3063

原创 C#扩展——HtmlAgilityPack

HtmlAgilityPack是.net下的一个HTML解析类库。支持用XPath来解析HTML。这个意义不小,为什么呢?因为对于页面上的元素的xpath某些强大的浏览器能够直接获取得到,并不需要手动写。节约了大半写正则表达式的时间,当然正则表达式有时候在进一步获取的时候还需要写,但是通过xpath解析之后,正则表达式已经要匹配的范围已经非常小了。而且,不用正则表达式在整个页面源代码上匹配,速度也会有提升。

2023-10-22 06:40:28 1507

原创 C#之XML文件:文档结构

一个XML文档由两部分构成:第一部分是文档序言,第二部分是文档元素(节点)。 下面就一个简单的xml文档内容进行解析1.文档序言如: 文档序言通常位于XML文档的顶端,根元素之前出现,它是一个特定的包含XML文档设定信息的部分。XML 文档序言由如下几个部分组成: 用来设置XML文档解析时所需的基本参数。 XML 声明中的三个属性的名称分别是:version、encoding和standalone

2023-09-20 19:41:10 2590

原创 C#之XML文件:XML空间

根据Namespaces in XML W3C 推荐标准的定义,XML 命名空间 是由国际化资源标识符 (IRI) 标识的 XML 元素和属性集合;该集合通常称作 XML“词汇”。定义 XML 命名空间的主要动机之一是在使用和重用多个词汇时避免名称冲突。XML 模式用于为 XML 实例创建一个词汇并频繁使用命名空间。因此,正确理解命名空间概念对于从总体上理解 XML 模式和实例验证至关重要。程序可以包含许多可重用的类和接口。同样,XML 中的命名空间可以有许多可重用的元素和属性。

2023-09-20 12:16:08 595

原创 Math——奇进偶舍 BankersRounding

奇进偶舍,又称为四舍六入五成双规则、银行进位法(Banker's Rounding),是一种计数保留法,是一种数值修约规则。从统计学的角度,“奇进偶舍”比“四舍五入”更为精确:在大量运算时,因为舍入后的结果有的变大,有的变小,更使舍入后的结果误差均值趋于零。而不是像四舍五入那样逢五就进位,导致结果偏向大数,使得误差产生积累进而产生系统误差。“奇进偶舍”使测量结果受到舍入误差的影响降到最低。其具体要求举例如下(以保留两位小数为例):要求保留位数的后一位如果是4,则舍去。

2023-09-18 17:29:37 511

原创 C#——计时器

Stopwatch 类 (System.Diagnostics.Stopwatch)Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。在典型的 Stopwatch 方案中,先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性检查运行时间。Stopwatch 实例或者在运行,或者已停止;使用 IsRunning 可以确定 Stopwatch 的当前状态。使用 Start 可以开始测量运行时间;使用 Stop 可以停止测量运行时间。

2023-09-18 17:20:33 1501

原创 C#文件操作——配置文件

C#常用的配置保存文件

2023-09-18 17:09:48 4885

原创 Office VBA

Office Visual Basic for Applications (VBA) 参考 | Microsoft Learn

2023-09-16 20:51:09 87

原创 Excel:自动加载选项卡

Excel_VBA:自动加载选项卡

2023-09-16 19:24:07 217

原创 ESP8266

需要注意的是,对于发送和接收数据的具体实现,可以选择使用TCP或UDP协议,取决于你的应用需求。绑定地址和端口号:在服务器端,将套接字对象绑定到特定的IP地址和端口号上。创建套接字(Socket)对象:在客户端和服务器端分别创建一个套接字对象,用于进行通信。使用两个ESP8266模块进行数据的发送和接收是很常见的应用场景。这样客户端和服务器之间就建立了一个可靠的连接。建立连接:当服务器接收到客户端的连接请求后,会调用。方法发起连接请求,指定服务器的IP地址和端口号。发起连接请求(客户端):在客户端,调用。

2023-09-16 08:17:09 89

原创 物联网硬件开发

Arduino EthernetGP2D12

2023-09-12 21:22:13 69

原创 Arduino硬件:GP2D12

可以通过该曲线拟合出电压值与距离值的数学关系式,但是这个关系式里的距离是参考距离值,实际距离值=(参考距离值-0.42)cm,另外由于Arduino的模拟量采样命令analogRead(),采样的数据范围是0至1023,对应的电压范围是0至5V,每格数据代表0.0049V,于是读取的有效数据应该由86(0.42V)至520(2.548V)。但是实际上并不是这样的,想象一下,你的机器人本来正在慢慢的靠近障碍物,突然发现障碍物消失了,一般来说,你的控制程序会让你的机器人以全速移动,结果就是,"砰"的一声。

2023-09-12 21:19:05 1337

原创 Arduino硬件:Arduino Ethernet

具有14个数字输入/输出引脚,6个模拟输入,1个16MHz晶振,1个RJ45,一个供电口,一个ICSP接口,和一个复位按钮。Ethernet板上14个数字引脚中的每一个引脚都可以作为一个输入或输出,使用 pinMode(), digitalWrite()及digitalRead() 功能。在多数其他的Arduino板上,这个LED是在引脚13。带有IOREF引脚的插板,既与工作电压5V的AVR兼容,同时也兼容工作电压3.3V的Arduino Due. IOREF旁边的不是一个连接引脚,是为日后预留的。

2023-09-12 21:11:34 383

原创 Arduino学习——硬件

它具有 54 个数字输入/输出引脚(其中 15 个可用作 PWM输出)、16 个模拟输入、4 个 UART(硬件串行端口)、一个 16 MHz 晶体振荡器、一个 USB 连接、一个电源插孔、一个 ICSP接头和一个复位按钮。常见Arduino开发板系列有Uno、Nano、Mega2560、ESP8266、ESP32、PI PICO,他们的生态还在不断壮大,会有越来越多的开发板支持!Raspberry Pi Pico(最左),Pico H(中左),Pico W(中右)和Pico WH(最右)。

2023-09-12 20:59:26 982

原创 ARDUINO学习——示例:TM1637+按键 显示时间

【代码】ARDUINO学习——示例:TM1637+按键 显示时间。

2023-09-12 20:52:49 858

(C#)DotNetSpeech:语音识别

(C#)DotNetSpeech:语音识别

2025-01-10

c# 使用Codosys.dll(CDO)发送邮件

c# 使用Codosys.dll(CDO)发送邮件

2025-01-10

C# 进程间通信所需Dll

C# 进程间通信所需Dll

2025-01-10

C# 叫号小程序Demo

C# 叫号小程序Demo

2025-01-10

C# TreeComboBox的代码

C# TreeComboBox的设计代码,来自于互联网,如有侵权联系我,即可删除

2024-08-29

SendMessage消息说明

WindowsAPI SendMessage函数的Message说明,仍在更新中

2023-02-05

空空如也

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

TA关注的人

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