摘要: http://blog.csdn.net/lanmao100/article/details/3796824当用户执行一个非常耗时的操作时,如果不借助Thread编程,用户就会感觉界面反映很迟钝。在.Net 2.0中可以通过BackgroundWork非常方便地进行Thread编程,大致的步骤是:1、调用BackgroundWorker的RunWorkerAsync方法(可以传递参数),它将调用DoWork事件2、在DoWork的事件响应代码中调用耗时的操作,此例中是PingIPs函数3、在耗时操作中判断CancellationPending属性,如果为false则退出4、如果要向用户界面发送 阅读全文
posted @ 2011-09-06 11:28 有一 阅读(370) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/yylxb12345/article/details/3947361这篇文章来来源于C# Color Table,这里是我翻译的中文版本,其中已经加上了我的一些理解和注释。翻译这篇文章的原因是我在写C#程序的时候发现,C#自带的颜色种类极多(详见下表),如果没有直观的对照关系的话,很难从那么多的名字中挑选出中意的颜色。以下的颜色代码取自HTML规范,这些颜色的名称对应于KnownColor的属性。比如,你可以用以下代码来创建一个Color对象:Color c=Color.FromKnownColor(KnownColor.colorname);所有的c 阅读全文
posted @ 2011-08-31 11:00 有一 阅读(486) 评论(0) 推荐(0) 编辑
摘要: namespace xxxx{ //发布事件的类 public class TestEventSource { //定义事件参数类 public class TestEventArgs : EventArgs { public readonly char KeyToRaiseEvent; public TestEventArgs(char keyToRaiseEvent) { KeyToRaiseEvent = keyToRaiseEven... 阅读全文
posted @ 2011-08-30 17:28 有一 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 构造函数里设置相应的style,并将背景色设为透明this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);this.SetStyle(ControlStyles.ResizeRedraw, true);this.SetStyle(ControlStyles.UserPaint, true);this.BackColor = Color.Transparent;在OnSizeChanged中添加标记,改变全局变量_path protected override void OnSizeChanged(EventA... 阅读全文
posted @ 2011-08-30 10:39 有一 阅读(462) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/hcbin/archive/2010/03/13/1685041.html圆角Panel代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Diagnostics;using System.Linq;using System.Text;namespace myControlLibrary{ public partial class RoundPanel : System.Windows.Forms.Panel {... 阅读全文
posted @ 2011-08-29 17:50 有一 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 使用双缓冲的图形可以减少或消除重绘显示图面时产生的闪烁。使用双缓冲时,更新的图形首先被绘制到内存的缓冲区中,然后,此缓冲区的内容被迅速写入某些或所有显示的图面中。显示图形的重写相对简短,这通常可以减少或消除有时在更新图形时出现的闪烁。 使用C# GDI+绘图,实现双缓冲绘图有几种方法,在这篇文章中,将介绍其中的一种——使用BufferedGraphics实现GDI+双缓冲绘图。 下面的代码示例演示如何使用BufferedGraphics对象绘制以下图形,这些图形使用几种类型的缓冲实现。单击窗体将启动或停止一个计时器,该计时器将引起绘制更新。绘制更新使您可以观察双缓冲的效果。右击窗体将循环使用下 阅读全文
posted @ 2011-08-25 15:58 有一 阅读(2122) 评论(0) 推荐(0) 编辑
摘要: http://hi.baidu.com/jgszhl_85/blog/item/175ada08add768d762d98628.htmlGDI+的双缓冲问题终于搞定了, 真是松了一口气!一直以来的误区:.net1.1 和 .net 2.0 在处理控件双缓冲上是有区别的。.net 1.1 中,使用:this.SetStyle(ControlStyles.DoubleBuffer, true);.net 2.0中,使用:this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);怪不说老是提示参数无效,一直也不知道是这个问题,呵呵要知道,图元 阅读全文
posted @ 2011-08-25 15:30 有一 阅读(905) 评论(0) 推荐(1) 编辑
摘要: http://blog.csdn.net/fireofstar/article/details/3446393 .net2005中的范型List类的Sort方法有四种形式,分别是 1,不带有任何参数的Sort方法----Sort(); 2,带有比较器参数的Sort方法 ----Sort(IComparer<T>) 3,带有比较代理方法参数的Sort方法----Sort(Comparison<(Of <(T>)>)) 4,带有比较起参数,可以指定排序范围的Sort方法----Sort(Int32, Int32 IComparer(T)) 首先介绍第一种方法,使 阅读全文
posted @ 2011-08-23 20:42 有一 阅读(13875) 评论(0) 推荐(1) 编辑
摘要: http://blog.csdn.net/lynnlin1122/article/details/4019710字符型转换为字符串// C 货币2.5.ToString("C"); // ¥2.50// D 10进制数25.ToString("D5"); // 25000// E 科学型25000.ToString("E"); // 2.500000E+005// F 固定点25.ToString("F2"); // 25.00// G 常规2.5.ToString("G"); // 2.5// 阅读全文
posted @ 2011-08-23 16:13 有一 阅读(3083) 评论(0) 推荐(0) 编辑
摘要: 在C#中大家都会遇到这种情况 double类型的数据,需要格式化(保留N未有效数字)或者是保留N为小数等情况,我们往往采取double.tostring("参数");的方法。下面就列出几个常用的方法。double temp=3.1415926;(F)Fixed point:string str1=temp.toString("f1");//保留一位小数 四舍五入 结果:3.1(F)Fixed point:string str2=temp.toString("f2");//保留两位小数,四舍五入 下面一次类推 结果:3.14(N)Num 阅读全文
posted @ 2011-08-22 16:21 有一 阅读(3803) 评论(0) 推荐(2) 编辑