摘要:
该例子是一个封装的计时器类。
实现功能:
(1)传入一个时间 HH:mm:ss 字符串 和 label控件对象 即可实现控件倒计时。
三行代码即可运行,如下图效果:
当然,每个项目需要的需求不同,这里只是抛砖引玉。 阅读全文
阅读排行榜
(转)C#监视某张表SqlDependency学习笔记
2011-12-06 08:54 by Andrew.Wangxu, 586 阅读, 收藏,
摘要:
sqlDependency提供了这样一种能力:当被监测的数据库中的数据发生变化时,SqlDependency会自动触发OnChange事件来通知应用程序,从而达到让系统自动更新数据(或缓存)的目的.
快速上手可参见园友的下列文章 阅读全文
C# 获得本机IP、端口等信息地址以及服务器IP信息
2011-12-02 01:17 by Andrew.Wangxu, 585 阅读, 收藏,
摘要:
lst_HostIPInfo.Items.Add("IP端点:" + iep.ToString());
lst_HostIPInfo.Items.Add("IP端口:" + iep.Port);
lst_HostIPInfo.Items.Add("IP地址:" + iep.Address);
lst_HostIPInfo.Items.Add("IP地址族:" + iep.AddressFamily);
lst_HostIPInfo.Items.Add("可分配端口最大值:" + IPEndPoint.MaxPort);
lst_HostIPInfo.Items.Add("可分配端口最小值:" + IPEndPoint.MinPort); 阅读全文
关于自定义通知事件的跨线程问题(转)
2011-12-14 00:03 by Andrew.Wangxu, 571 阅读, 收藏,
摘要:
[知识背景]
所谓自定义通知事件,就是指在自己的类中定义的事件,该事件用于向调用者发出通知。比如做一个下载工具,下载是需要时间的,用户在界面里点击“下载”之后,我的下载类在后台开启线程开始传输数据,前台界面上可以同时执行其他操作。当数据传输完成,需要通知界面(调用者)已完成下载,以便界面上做相应的改变。这就需要在我的下载类中有类似 DownloadCompleted 的事件,这样在用户的代码中可以通过 downloader.DownloadCompleted += new new EventHandler(XXXXX) 进入他自己的事件处理函数。
这里说的跨线程问题,是指非法的跨线程调用问题。还用上个例子,在下载完成时,需要改变界面中 Label 控件的 Text 属性以提示用户下载完成。这就牵涉到在另一个类所创建的线程中操纵UI线程中创建的控件。这种做法在 .NET 中是不推荐的,同时这样会严重影响代码质量。(可参考MSDN:ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxmclictl/htm 阅读全文
C#多线程Lock锁定的使用例子(多线程线程同步)
2011-12-02 01:13 by Andrew.Wangxu, 571 阅读, 收藏,
摘要:
这个例子是一个模拟多个人在多台提款机上同时提取一个账户的款的情况。
在存取的过程中 可能 A线程取了100 而B线程那边还看见账户上没少掉那100快,所以导致数据不统一,赋值出现问题。
下面代码则可以测试出加上Lock锁定 与 不加的区别。 阅读全文
浙公网安备 33010602011771号