随笔分类 -  C# WinForm

摘要:在项目当中有一组选择项,要求单选并且可以取消,但Winform提供的单选按钮一旦选择上就不能取消了,经过研究和测试,总算搞定了功能的要求,主要代码如下,就不一一说明了,代码里有注释,给有需要的朋友一个参考,Demo在下面。private bool checkedStatus = false; /// /// 当前按钮选择状态,true已选择 /// public bool CheckedStatus { get { return checkedStatus; ... 阅读全文
posted @ 2013-08-02 12:47 Daniel.Zhao 阅读(5397) 评论(7) 推荐(0) 编辑
摘要:前段时间公司新写的自动升级服务端(Remoting)出现了内存不断飙升的情况,从最初的七八十兆一晚上竟然飙到了1G多,直接导致客户端连接服务端失败,这不科学,后来优化了各种可能造成占用内存的方法(数据库连接,I/O操作,引用类型释放),但效果不佳,这下可难为我们了,不知道问题的所在也就不知道该如何去修改。我们知道.NET是带有垃圾回收机制的,出现这种情况一般是由某些数据长期存活在内存中又不能被当成垃圾数据回收的原因造成的。后来就在各搜索引擎上进行了各种搜索,有说使用windebug分析dump,但需要大量时间琢磨,有人说是不是硬件问题,还有人说中毒了,最后找到了一款微软推出的CLRProfil 阅读全文
posted @ 2012-11-02 23:30 Daniel.Zhao 阅读(13686) 评论(37) 推荐(39) 编辑
摘要:前言当使用.NET“安装项目”打包的安装文件,再次安装的时候会弹出如下提示,这个时候会让我们很郁闷,怎样才能自动卸载上一个安装的版本呢?方法很简单,只需简单的两个操作步骤即可解决。操作步骤主要由RemovePreviousVersions属性和ProductCode值来决定。MSDN上是这样说的“安装程序检查“UpgradeCode”和“ProductCode”属性,以确定是否应移除早期版本。新旧两种版本的 UpgradeCode 必须相同;ProductCode 必须不同。”RemovePreviousVersions 属性在“部署项目属性”当中,设置RemovePreviousVersio 阅读全文
posted @ 2012-10-26 15:14 Daniel.Zhao 阅读(4254) 评论(3) 推荐(0) 编辑
摘要:什么是猜想输入 当我们在使用查询应用时,输入某个关键字后文本框下面就会自动弹出跟此关键字相附的词组供我们选择,为我们节省了输入的时间,这就是猜想输入,例如:百度,谷歌,等等,如下图: 如上图所示,使用WinForm的TextBox实现了这样的效果,主要借助于TextBox的AutoCompleteMode和AutoCompleteSource以及AutoCompleteCustomSource属性。详细参数 AutoCompleteMode 获取或设置控制自动完成如何作用于TextBox的选项。 属性值 Append 将最可能的候选字符串的其余部分追加到现有的字符,并... 阅读全文
posted @ 2011-12-07 11:38 Daniel.Zhao 阅读(11156) 评论(16) 推荐(16) 编辑
摘要:注:感谢Aleax博友提出的Bug(见#7楼),现已纠正,纠正的内容会在要点里说明,修改过的源码已附上,也谢谢各位博友提出的意见和方法,当然方法有很多种,这只是其中一种非常简单和直接的方法,给初学者一点参考,望大家多多提意。效果图一 准备工作 两张透明的png图片(尺寸73 x 81),一张用于鼠标进入控件时显示,一张用于鼠标单击控件时显示。 新建自定义控件,在构造函数中添加代码 public GlassButton() { SetStyle(ControlStyles.DoubleBuffer, true); ... 阅读全文
posted @ 2011-11-01 14:41 Daniel.Zhao 阅读(11261) 评论(50) 推荐(15) 编辑
摘要:设置panel垂直滚动条到最后panel1.VerticalScroll.Value = panel1.VerticalScroll.Maximum; 阅读全文
posted @ 2011-10-21 10:01 Daniel.Zhao 阅读(2261) 评论(0) 推荐(1) 编辑