C#
coder i++
coder i++分享一下 ,记录一下
展开
-
C#中4种深拷贝方法介绍
【代码】C#中4种深拷贝方法介绍。转载 2023-10-18 11:24:04 · 1268 阅读 · 0 评论 -
wpf storyboard stop
真麻烦 参数的问题。原创 2023-07-23 14:20:15 · 804 阅读 · 0 评论 -
nlog配置
【代码】nlog配置。原创 2023-07-21 10:54:08 · 309 阅读 · 0 评论 -
C# 实现拖拉控件改变位置与大小
接着便实现MouseMove的事件,当鼠标左键按下时,接着移动鼠标后,继续鼠标移动后的坐标,然后与MouseDown时记下的坐标相减,就得到鼠标的位移值,接着控件的Location加上该位移值即可,然后更新pPoint。第一、创建用户控件–FrameControl(边框控件),然后增加一个字段用来保存传入的控件,还有加载事件,此处类同前面的MoveControl。此处的主要思路为:点击控件的时候,创建一个自定义的用户控件,该用户控件响应区域就是传入控件的边框区域,同时给它画上虚线与8个小圆圈。转载 2023-06-04 10:36:58 · 4112 阅读 · 1 评论 -
wfp+treeview Style
【代码】wfp+treeview Style。原创 2023-05-17 06:44:07 · 202 阅读 · 0 评论 -
WPF+小动画背景颜色闪烁
【代码】WPF+小动画背景颜色闪烁。原创 2023-05-16 20:55:51 · 1171 阅读 · 0 评论 -
分享一个轻量化的TCP\IP通讯库(SimpleTCP)
项目中,服务端和客户端之间大多都是保持长连接的方式,但是后面遇到了一个与生产线上的Mes系统通讯的项目,由于现场的网络经常会出现连接异常的情况,于是就想到了这种短连接的方式(服务端长期处于监听状态,客户端则只在需要收发数据的时候连接上来,收发数据之后再次断开)。后来无意间就找到Simple TCP 这个好用的外部库,开发也是非常的 simple and friendly!非常适合偷懒。。。转载 2023-05-14 09:12:03 · 1032 阅读 · 0 评论 -
WPF中DataGrid的数据导出到Excel
【代码】WPF中DataGrid的数据导出到Excel。转载 2023-05-12 16:27:12 · 761 阅读 · 0 评论 -
C#通过Aforge调用电脑摄像头(附代码)
AForge.NET是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。转载 2023-04-05 11:51:40 · 3521 阅读 · 0 评论 -
WPF之Binding深入探讨
1,Data Binding在WPF中的地位程序的本质是数据+算法。数据会在存储、逻辑和界面三层之间流通,所以站在数据的角度上来看,这三层都很重要。但算法在3层中的分布是不均匀的,对于一个3层结构的程序来说,算法一般分布在这几处:A。数据库内部。B。读取和写回数据。C。业务逻辑。D。数据展示。E。界面与逻辑的交互。A,B两部分的算法一般都非常稳定,不会轻易去改动,复用性也很高;C处与客户需求最紧密,最复杂,变化最大,大多少算法都集中在这里。D,E负责UI和逻辑的交互,也占有一定量的算法。显然,C部分是程序的转载 2023-04-03 21:18:30 · 2072 阅读 · 0 评论 -
App.config/Web.config 中特殊字符的处理
使用 Ildasm.exe(MSIL 反汇编程序) 工具可以查看编译到应用程序源代码中的未加密连接字符串。此外,如果连接字符串发生更改,则必须重新编译应用程序。HTML中,&等有特殊含义(,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,就要用到HTML转义字符串(Escape Sequence)了。事实上App.config是xml文件,在xml文件中特殊字符要进行HTML转义。HTML特殊转义字符列表。转载 2023-04-03 20:28:51 · 473 阅读 · 0 评论 -
C#读取excel文件到datatable
【代码】C#读取excel文件到datatable。转载 2023-04-03 19:50:14 · 312 阅读 · 0 评论 -
WPF TreeView控件获取节点等级和父节点
今天在做一个项目时用到TreeView控件,想通过双击子节点对选中节点进行一些处理,发现并没有想象中的那么简单,于是就只能自己想办法去实现了(网上搜了一些方法,不是很靠谱,重要的是不够简洁【坏笑】)这个在Winform开发的时候很容易获取,因为TreeNode有这个属性,但是WPF的TreeViewItem没有提供这个属性,我们只能自己实现了。2、当节点是由数据源绑定生成时,需要通过可视树来获取父节点。这里的Level就是我们要获取的层级属性,接下来绑定数据源。一、获取选中节点的父节点(容器)转载 2023-04-03 13:30:11 · 1018 阅读 · 0 评论 -
windows程序消息机制(Winform界面更新有关)
当然在某些需要cpu最大限度运动的程序里面就可以使用另外的方法,例如某些3d游戏或者及时战略游戏中,一般会使用PeekMessage()这个方法,它不会被windows阻塞,从而保证整个游戏的流畅和比较高的帧速。因此,一个线程可以向另一个线程的消息队列发送消息从而告诉对方做什么,这样就完成了线程间的通信。否则,在后台线程和主截面线程共享某些状态数据的情况下,如果不同步调用,而是各自继续执行的话,可能会造成执行序列上的问题,虽然不发生死锁,但是会出现不可预料的显示结果或者数据处理错误。然后就是消息的参数。转载 2023-03-31 17:00:23 · 876 阅读 · 0 评论 -
wpf仪表盘
【代码】wpf仪表盘。转载 2023-03-28 15:26:27 · 408 阅读 · 0 评论 -
C# ListView用法详解
获取或设置项在控件中的显示方式,包括Details、LargeIcon、List、SmallIcon、Tile(默认为 LargeIcon):可以显示任意的列,但只有第一列可以包含一个小图标和标签,其它的列项只能显示文字信息,有列表头。:设置是否可拖动列标头来对改变列的顺序。(默认为false)提示:只有在Details视图该属性才有意义。:设置用户是否可以编辑控件中项的标签,对于Detail视图,只能编辑行第一列的内容。(默认为false)提示:只有在Details视图该属性才有意义。转载 2023-03-28 09:14:47 · 4613 阅读 · 0 评论 -
改变DEV组件字体
DevExpress.Utils.AppearanceObject.DefaultFont = new Font(“华文行楷”, 10);SetGridFont(gridView1, new Font(““华文行楷””, 10));转载 2023-03-28 09:13:49 · 163 阅读 · 0 评论 -
Winform中为窗口设置双缓冲
如果为 true,则绘制在缓冲区中进行,完成后将结果输出到屏幕上。双重缓冲区可防止由控件重绘引起的闪烁。要完全启用双重缓冲,还必须将 UserPaint 和 AllPaintingInWmPaint 样式位设置为 true。如果为 true,控件将忽略 WM_ERASEBKGND 窗口消息以减少闪烁。仅当 UserPaint 位设置为 true 时,才应当应用该样式。// 禁止擦除背景.如果为 true,控件将自行绘制,而不是通过操作系统来绘制。双缓冲为了解决控件刷新时,闪烁的问题。转载 2023-03-28 09:12:26 · 860 阅读 · 0 评论 -
WPF绘制自定义窗口
简介: 原文:WPF绘制自定义窗口 WPF是制作界面的一大利器,下面就用WPF模拟一下360的软件管理界面,360软件管理界面如下: 界面不难,主要有如下几个要素: 窗体的圆角 自定义标题栏及按钮 自定义状态栏 窗体的半透明效果 窗体4周有一圈半透明阴影(抓的图上看不出来) 实现思路很简单,首先隐藏默认窗口的标题栏和边框,然后用WPF的Border或Canvas等元素模拟定义窗体的标题栏、内容区和状态栏。它和后面的Grid元素定义的实际窗口是同级的。到此,自定义窗口的基类就打造完成,完整代码见附件。转载 2023-03-27 17:45:49 · 1461 阅读 · 0 评论 -
WPF Template,ItemsTemplate,ItemContainerStyle,ItemsPanel,ContentPresenter
我现在有个需求,要求做个像360右上角的配置菜单的按钮,用Botton和popup可以实现,可我不想写太多事件,这时候我想到了comboBox这个控件,点击出现下拉的内容,真是太符合我的需要了,于是,我就决定定制ComboBox。首先,默认的ComboBox是一个两行两列的布局,(0,0)(第一行,第一列的位置)位置处是一个编辑控件,(0,1)是个按钮,(1,0)(1,1)是个popup,就是点击出现下拉的位置,popup的显示绑定按钮的状态,于是,我们点击按钮的时候,popup就显示出来,popup区转载 2023-03-27 17:36:06 · 663 阅读 · 0 评论 -
水晶报表首次启动慢解决方案及表内框线微调设计方法
故可以在应用程序启动(或者其他空闲时间)的时候开启一个子线程来进行一次报表的初始化,后面真正要调用的时候就变成第二次调用了,这个就可以较好的解决上述问题了。上面的InitCrystalReport()函数的作用是去crystalReportViewer所在的窗体(这里是ReportPrint)中初始化一次,当然不用show出来。综上,便在后台神秘进行了一次报表生成工作,而这次生成的速度无论多慢帮应用程序来讲都没有一次影响,从而达到提升启动性能的效果。如果不勾上面项,则是报表在搜索打印机的时间耗时了。转载 2023-03-16 15:43:13 · 324 阅读 · 0 评论 -
log4j定义
n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式。%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。%c 输出所属的类目,通常就是所在类的全名。在log4j.properties里面配置。%t 输出产生该日志事件的线程名。%m 输出代码中指定的消息。%L 输出代码中的行号。转载 2023-03-10 14:43:23 · 96 阅读 · 0 评论 -
ef+mysql配置
mysql授权数据库至某用户。原创 2023-01-30 21:04:09 · 619 阅读 · 0 评论 -
.NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)发布于2020-02-21 18:02:46阅读6580。转载 2022-10-31 16:05:37 · 772 阅读 · 0 评论 -
.NET(C#) 读取Resource资源文件的方法
System.Resources 名字空间支持三种资源文件:.txt 文件,只能有字符串资源。.resources 文件,PE 格式,可以加入任何资源。唯一可以被嵌入到 Assembly 的文件,在 System.Resources 名字空间中有专用读写的类。本文主要介绍.NET(C#) 读取Resource资源文件的方法,以及相关的示例代码。直接添加文件到.Resx资源文件中,在运行时使用Resource Manager读取,代码如下,在VS中将文件的生成操作设置“嵌入的资源”的读取方法,代码如下。转载 2022-10-18 15:51:47 · 11069 阅读 · 0 评论 -
如何反编译dll,并生成新的dll
选择开始-所有程序-vs安装文件夹-vs tools-开发人员命令提示符,然后在弹出的dos窗口下输入ilasm /dll/resource=1.res 1.il,注意res文件和il文件位置不可以改变,这样就生成了想要的dll。选择开始-所有程序-vs安装文件夹-vs tools-开发人员命令提示符,然后在弹出的dos窗口下输入resgen 1.resources 1.resx,这样resources文件变转化成可以编辑的resx文件。这样我们就将dll反编译完成。将反编译后的文件组合成dll文件。转载 2022-10-18 13:34:37 · 7516 阅读 · 0 评论 -
C#中的Explicit和Implicit
它可以实现2个不同类的隐式转换 ,提高代码的可读性。但是需要注意使用隐式转换操作符之后,在编译时会跳过异常检查,所以隐式转换运算符应当从不引发异常并且从不丢失信息,否则在运行时会出现一些意想不到的问题。.Payment是一个Payment类的实例,PaymentDTO类和Payment类没有子父关系,所以不存在子类和父类之间的隐式转换。从方法签名上看,这就是重写PaymentDTO类型的操作符,但并不是我以前常用的+,-,*,/, ==等。今天在Review一个老项目的时候,看到一段奇怪的代码。转载 2022-10-10 17:05:42 · 179 阅读 · 0 评论 -
C# 注册表帮助类
转载:https://github.com/TKT2016/WmnSharpCodes/blob/master/WmnSharpStdCodes/Windows/SharpRegistry.cs。转载 2022-09-16 22:24:00 · 286 阅读 · 0 评论 -
C#操作注册表32&64位系统
简要复述一下理论基础:微软为了让32位程序不做任何修改就能运行在64的操作系统上,添加了一个十分重要的WOW64子系统来实现这个功能,WOW64是Windows-32-on-Windows-64的简称,从总体上来说,WOW64是一套基于用户模式的动态链接库,它可以把32位应用程序的发出的命令翻译成64位系统可以接受的格式,即:WOW 层处理诸如在 32 位和 64 位模式之间切换处理器以及模拟 32 位系统的事务。文件系统:32位进程不能加载64位Dll,64位进程也不可以加载32位Dll。转载 2022-09-16 22:18:56 · 788 阅读 · 0 评论 -
c#获取基类或接口的所有继承类方法
【代码】c#获取基类或接口的所有继承类方法。转载 2022-08-29 17:34:05 · 1323 阅读 · 0 评论 -
Base64编码原理分析
base64是网络上常见的用于传输8bit字节代码的编码方式之一,因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像ASCII码的控制字符就不能通过邮件传送。这要就受到了很大的限制,比如图片二进制流的每个字节不可能全部是可见字符,所以就传送不了。但如果不是,那么当多出的代码量不是3的整数倍时,代码量除以3的余数就是2或1.转换的时候,结果不够6位的用0来补上相应的位置,之后再在6位的前面补上两个0.转换完空出的结果就用"="来补位,总之要保证最后编码出来的字节数是4的倍数。转载 2022-08-20 18:00:55 · 864 阅读 · 0 评论 -
BarcodeX(ActiveX打印控件) v5.3.0.80 免费版使用
下载 地址 :https://www.xiazaila.com/soft/39537.html转载:https://www.xiazaila.com/soft/39537.htmlBarcodeX是一款active打印控件,软件可以识别所有类型的条形码,识别之后就可以导出为位图、元文件和到剪贴板等,一键打印出来,设置前台、背景颜色、条形码大小、条形码转换等,适用于所有的系统。BarcodeX(ActiveX打印控件) v5.3.0.80 免费版1、能工作于支持ActiveX的程序和开发环境如:Micros转载 2022-07-05 17:18:04 · 1709 阅读 · 1 评论 -
C#实现水晶报表绑定数据并实现打印4-条形码
看了上几篇文章 加上自己的调试可以打出来了大概记录下流程1、在dataset中加入列code 类型System.Byte[] ,并将此列拉至水晶报表某位置2、安装BarcodeX并添加 barcodex.ocx 引用3、新建 from 并拉一个 barcode过来4、获取数据并赋值barcodex.Caption = “123456”;5、将图片信息转为bytes流并赋值ImageToBytesdatatset.rows[i].column[“code”] = imgbytes;6、赋原创 2022-07-05 17:16:12 · 668 阅读 · 0 评论 -
C#(Winform) 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件
转载:https://blog.csdn.net/qq_37508511/article/details/827703491、在主线程中实例化此ActiveX控件2、将创建此Active控件的线程设定为单线程。Thread.ApartmentState 获取或设置此线程的单元状态。或者线程池也可以ThreadPool.QueueUserWorkItem(new WaitCallback(functionname),obj);如果不在单线程单元中,那就声明为单线程单元给Main函数加上[STATh转载 2022-07-05 16:40:19 · 1097 阅读 · 0 评论 -
C#实现水晶报表绑定数据并实现打印3-二维码条形码
C#实现水晶报表绑定数据并实现打印3-二维码条形码在水晶报表中显示条形码/二维码1、将数字或字符转换为条形码或二维码2、将条形码或二维码在报表中展示操作二维码的dllzxing.net参考:https://blog.csdn.net/xiaoyong_net/article/details/51242190插入图片参考:https://www.cnblogs.com/babyt/archive/2009/05/26/1490368.html主要是如何读取本地图片显示在报表中。如果是CR XI及以转载 2022-07-05 14:31:29 · 1142 阅读 · 0 评论 -
C#实现水晶报表绑定数据并实现打印2
转:https://www.cnblogs.com/aitong/p/10717786.html水晶报表介绍水晶报表是 vs 早期版本自带的一款报表控件。vs2017不自带水晶报表,需要自行安装。虽然水晶报表是收费控件,但是微软已经付过钱了,所以vs自带的水晶报表可以直接使用。如果项目是 .net 4.0 以上版本,需要修改 App.config 文件。因为水晶报表的 .net 版本可能低于 .net 4.0在软件发布的时候需要把对应的config文件一起发布,否则也无法使用水晶报表在解决方案资源管理转载 2022-07-01 16:13:43 · 741 阅读 · 0 评论 -
C# /platform:anycpu32bitpreferred 只能与 /t:exe、/t:winexe 和 /t:appcontainerexe 一起使用
C# /platform:anycpu32bitpreferred 只能与 /t:exe、/t:winexe 和 /t:appcontainerexe 一起使用删除 .csproj中的true标记行原创 2022-06-30 10:27:45 · 902 阅读 · 0 评论 -
C#实现水晶报表绑定数据并实现打印1
转载:https://blog.csdn.net/weixin_30340819/article/details/971846981.新建水晶报表并完成制作2.新建window窗体,并在窗体里面放置一个CrystalReportViewer控件,单击右上角的小三角行,然后选择需要展示的报表,并设置报表的路径。代码绑定:string sql = “select * from tablename”;SqlConnectoin conn = new SqlConnection(conn);SqlDa转载 2022-06-23 21:32:32 · 846 阅读 · 0 评论 -
C# 判断应用是否启动并展示
展示窗体原创 2022-06-20 16:50:27 · 622 阅读 · 0 评论 -
C# datagridview CheckBox勾选问题
C#的Winfrom项目,DataGridView增加checkbox列,测试过程发现某一行勾选,然后取消勾选,其他行的checkbox却选中。解决办法:设置checkbox列的属性FalseValue为false,TrueValue为trueDataGridViewCheckBoxColumn.TrueValue= true;DataGridViewCheckBoxColumn.FalseValue = false;datagrid CellContentClicktihs.dgtagrid.Com原创 2022-05-31 22:05:53 · 2358 阅读 · 0 评论
分享