
C#WinForm编程
文章平均质量分 56
枫0子K
try = 0; try++;
寿命的缩短与思想的虚耗成正比。
展开
-
C# 打开资源管理器并选中某个文件
利用进程启动参数,为资源管理器附参数值。System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("Explorer.exe");psi.Arguments = "/e,/select," + filename;System.Diagnostics.Process.Start(ps转载 2013-07-13 22:13:44 · 1681 阅读 · 0 评论 -
C#动画控件(一张图包含所有动作)
如游戏中,一张图片中包含了动画的所有帧。其实没必要做这么个控件,只需要将动画做成Gif,然后使用PictureBox加载这个Gif就可以了~囧。但是为了验证是否两者有区别,特意做了这个动画控件,直接丢弃了太可惜,记录一下吧~~以后需要可以直接用。步骤:1. 添加组件AnimationControl,添加一个Sytem.Windows.Timer作为帧管理器。2. 注册Timer的Tic原创 2015-02-04 16:25:24 · 6335 阅读 · 0 评论 -
C#性能优化集锦
做C#开发总会遇到那么些令人头疼的问题,而相对来说可能最头疼的就是性能问题。或许不能流畅到像C/C++的程序那样,但是多多注意性能问题,结合C#本身自有的优势,也是毫不逊色于其他开发语言的。原创 2014-12-31 11:23:23 · 903 阅读 · 0 评论 -
Dev-GridLookUpEdit立即打开下拉框
该方案几乎适用与DevExpress中所有下拉控件(鼠标进入不会自动弹出下拉框的编辑框控件)场景:GridLookUpEdit设置TextEditStyle为Standard(允许输入)。尝试在GotFocus事件与Enter事件中直接调用this.ShowPopup()方法,失败!原因:进入/获取焦点后会打开下拉框,但随后焦点又回到编辑输入框,下拉框关闭。解决方案:在转载 2015-02-12 15:29:59 · 4491 阅读 · 0 评论 -
C#处理记录
1. 未能加载文件或程序集"..."或它的某一个依赖项。试图加载格式不正确的程序。产生原因:(生成的目标平台选择问题)exe采用AnyCPU编译,运行在64位操作系统上,但是DLL是使用x86编译。解决方案:exe改为采用x86编译 / DLL采用AnyCPU编译。原创 2015-03-20 14:41:55 · 1323 阅读 · 0 评论 -
DevExpress-GridControl控件-GridView使用
GridControl在不同版本(目前使用14.1.8)提供了多种不同的视图,它不仅比DataGridView强大,而且在数据加载性能各方面也有了很大的提升。在此对之前的研究做一份整理记录,以备后用。原创 2015-01-21 11:50:45 · 7314 阅读 · 0 评论 -
关于互斥执行的设计与实现
引言我在开发过程中经常遇到这样一个问题(简化版描述):一个文本框绑定了TextChanged事件,在另一个方法中我想要改变文本框的值却不想触发TextChanged事件。一般会使用如下方案解决:1. 先注销TextChanged事件,赋值完重新绑定:void A_TextChanged(object sender, EventArgs e){ A.TextChanged -=原创 2015-06-27 12:34:01 · 1942 阅读 · 0 评论 -
利用反射实现简单加壳
起因:为系统实现了授权限制,可以对每个用户实现不同的功能授权。关联:以前为不同客户开发了许多辅助使用系统的小工具,产品想将其中比较重要的也实现授权限制。困难:小工具繁多,有些代码甚至已经遗失,要想重构代码来实现授权限制几乎不可能。Idea:通过加壳的方式在程序启动前做授权判断,只有通过授权认证的才能成功启动。实现步骤:Step1: 将小工具以嵌入资源的方式添加到新的原创 2015-11-04 15:27:47 · 1112 阅读 · 0 评论 -
C# 友元函数
C#如何使用友元函数?友元函数的应用?原创 2016-01-27 14:24:51 · 5845 阅读 · 1 评论 -
C# 判断是否处于设计模式中(IsDesignMode)
自定义控件时提供IsDesignMode属性是很强力的。原创 2014-12-11 10:21:36 · 7837 阅读 · 0 评论 -
截屏(带鼠标)
截屏并保存屏幕中的鼠标。截屏比较简单,使用CopyFromScreen就可以做到,但保存屏幕中的鼠标却不能用this.Cursor属性,需要使用到API。private void button1_Click(object sender, EventArgs e){ Size screenSize = Screen.PrimaryScreen.WorkingArea.Size;转载 2014-12-17 21:04:08 · 4390 阅读 · 0 评论 -
Xml文件合并、拼接
由于Xml的文档格式的问题,一个Xml中的节点不neng原创 2014-11-24 16:53:38 · 5958 阅读 · 0 评论 -
C# 使窗体控件接受拖拽数据
.............(此处待补全1万字介绍)实现步骤:1、设置控件 AllowDrop 属性为 True2、添加控件 DragEnter 事件(当数据拖拽进入控件区域时触发该事件)private void Form1_DragEnter(object sender, DragEventArgs e){ // 验证拖拽到数据格式,此处验证拖拽数据是否为文件原创 2013-07-13 16:32:48 · 2443 阅读 · 0 评论 -
C# 获取本机所有IP、默认网关、子网掩码
对几个IP地址集合的定义: private List _localAddressFamily = new List();// 本机IP地址集合 private List _subNetAddressFamily = new List();// 子网掩码集合 private List _defaultIPGateway = new List();原创 2013-08-11 19:51:42 · 6880 阅读 · 0 评论 -
decimal,double,float等浮点型去除后导0
情况是这样的:在List中原始数据是:想要达到的结果是方案:1、使用.ToString("0.###"),这里的.###表示保留小数点后多少位。如保留小数点后两位就是 0.##。2、转换为字符串后先去除后导0,再取出后导 . 符号,.ToString().TrimEnd(new char[] { '0' }).TrimEnd(new char[] { '.' });原创 2013-12-24 15:06:18 · 3023 阅读 · 0 评论 -
VS 常用快捷键记录
1. 自动补全代码(Edit.CompletedWord)原创 2014-10-23 14:31:27 · 572 阅读 · 0 评论 -
停用/屏蔽任务管理器
原文链接:屏蔽任务管理器转载 2014-07-24 11:57:31 · 1293 阅读 · 0 评论 -
C#内存泄露与资源释放 经验总结
经验总结:C#并不是有了垃圾回收机制,你就可以对内存管理放任不管,其实在稍不注意的时候,可能就造成了内存泄露,或者超大内存占用~以下记录下遇到过的内存优化-内存泄露的问题与应对方案。1. string与StringBuilder,字符串拼接操作的问题。这个问题经常碰到,所以把它放第一位,看代码:string txt = string.Empty;for (int i原创 2014-11-13 18:39:02 · 29395 阅读 · 1 评论 -
C#XmlDocument无法读取utf-16文件
<DataProviders Default="A"> <Provider Name="A" Type="OleDataProvider" ConnectionString="Provider=SQLOLEDB.1;Password=xx;User ID=sa;Data Source=192.168.1.x\SQL2008;Initial Catalog=xxx" /> <Pro原创 2014-11-18 16:53:59 · 2271 阅读 · 0 评论 -
DevExpress PopupContainerEdit 可编辑 多行文本
先上效果图:原创 2014-10-16 10:05:41 · 5285 阅读 · 0 评论 -
配置数据库连接字符串ConnectionString
项目需要做一个方便配置出ConnectionString的gong转载 2014-11-19 09:37:54 · 3768 阅读 · 0 评论 -
C# 字体池技术实现
字体池的应用,主要是为了解决字体不断创建导致句柄泄漏/内存泄漏的问题,这个问题在Android上也同样存在。经测试,C# WinForm原生控件不存在字体问题,但是使用的第三方控件Dev 14.1就存在这样的问题。所以参照线程池思路,想到了使用字体池的方式,使系统中的字体统一为一个对象,经测试,有效解决了泄漏问题。字体池代码:/// /// 字体缓存类/// public s原创 2016-01-28 16:45:46 · 1291 阅读 · 0 评论