思想决定人生,态度改变一切

成功者找方法,失败者找借口! 做事先做人;安分做人,本分做事!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2008年1月13日

摘要: 利用Visual Studio .NET开发自定义的WinForm控件,恐怕大家都已经很熟悉了。正常情况下,这种控件只能用在基于.NET的Windows Application程序开发上,而无法直接嵌入到IE,这不免让人感觉遗憾。 毕竟.NET控件已经不同于在Win32下用Delphi或C++Builder开发的自定义控件。基于.NET开发的任何受控装配件(Assembly)都是IL代码,... 阅读全文
posted @ 2008-01-13 21:32 投石问路 阅读(1907) 评论(2) 推荐(0) 编辑

摘要: 改编自网上的一个例子程序。 异步调用的基础知识。 更复杂的应用还在研究中。 复制 保存 public class MyAsync { public delegate string LengthyProcedureAsyncStub(int milliseconds); public string LengthyProcedure(int milliseconds) { System.T... 阅读全文
posted @ 2008-01-13 21:29 投石问路 阅读(891) 评论(0) 推荐(0) 编辑

摘要: 最近看了好多人问这方面的问题,以前我也写过一篇blog,里面说了如何在子线程中控制进度条。但目前大多数环境,需要弹出模式窗口,来显示进度条,那么只需要在原先的基础上稍作修改即可。 首先是进度条窗体,需要在上面添加进度条,然后去掉ControlBox。除此外,还要增加一个方法,用来控制进度条的增加幅度,具体如下: 复制 保存 /// /// Increase process bar /... 阅读全文
posted @ 2008-01-13 21:28 投石问路 阅读(1754) 评论(1) 推荐(0) 编辑

摘要: 将Delegate理解为接口,只有一个方法的接口,这样最容易理解。这个方法只有声明,没有实现,实现在别的类。(实际上应该把它看作函数指针,不过接口更容易理解些。) 在你的类中有一个Delegate就相当于有一个接口。通过这个接口你可以调用一个方法,而这个方法在别的类定义,由别的类来干。 为了说的形象一点,举个例子: 学生考试完后成绩出来了,考的好了老师要表扬,考的不好了老师要批评。 使用... 阅读全文
posted @ 2008-01-13 21:26 投石问路 阅读(368) 评论(0) 推荐(0) 编辑

摘要: BeginInvoke 方法真的是新开一个线程进行异步调用吗? 参考以下代码: 复制 保存 public delegate void treeinvoke(); private void UpdateTreeView() { MessageBox.Show(System.Threading.Thread.CurrentThread.Name); } private void butto... 阅读全文
posted @ 2008-01-13 21:23 投石问路 阅读(341) 评论(0) 推荐(0) 编辑

摘要: 最近一直在看wse3.0,从一个例子中偶然的收获。虽然通过后台操作,从而减少用户交互时的“僵硬”体验一直是每个程序员的追求,在今天这样ajax的时代里面更加显的重要。一切为了用户,一切为了更丰富愉快的体验。本文并不是ajax相关的东东。伟大的BackgroundWorker! BackgroundWorker 类允许您在单独的专用线程上运行操作。耗时的操作(如下载和数据库事务)在长时间运行时可... 阅读全文
posted @ 2008-01-13 21:19 投石问路 阅读(310) 评论(0) 推荐(0) 编辑

摘要: 如果你想为一个线程传入变量你怎么办? ThreadStart可不支持带参数的方法.所以你无法使用Thread来启动一个带参数的方法.. 复制 保存 ThreadStart myThreadDelegate = new ThreadStart(ThreadMethod); //public delegate void ThreadStart(); u can't pass a Par... 阅读全文
posted @ 2008-01-13 21:06 投石问路 阅读(470) 评论(1) 推荐(0) 编辑

摘要: 在很多场合下, 你需要在主(UI)线程中运行一些比较耗时间的任务,比如以下的任务 Image downloads Web service invocations File downloads and uploads (including for peer-to-peer applications) Complex local computations ... 阅读全文
posted @ 2008-01-13 19:06 投石问路 阅读(1931) 评论(0) 推荐(0) 编辑

摘要: 做了一个控件,这样就可以告别图片按钮了:) 效果: 程序源代码: using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Data; using System.Windows.Forms; using System.Drawing.Draw... 阅读全文
posted @ 2008-01-13 19:04 投石问路 阅读(304) 评论(0) 推荐(0) 编辑

摘要: 原文标题:Generic Singleton Provider 原文地址:http://www.codeproject.com/csharp/genericsingleton.asp 介绍 很多有着不同开发背景得人都会比较熟悉单例模式。他们会发现每次他们要创建一个不同的单例类的时候,都不得不写同样得代码。使用新的C# 2.0的泛型,可以实现只写一次同样得代码。 背景 已经有很... 阅读全文
posted @ 2008-01-13 19:01 投石问路 阅读(297) 评论(0) 推荐(0) 编辑

摘要: 因为id可能不是连续的,所以不能用取得10<id<20的记录的方法。 有三种方法可以实现: 一、搜索前20条记录,指定不包括前10条 语句: select top 20 * from tbl where id not in (select top 10 id from tbl) 二、搜索记录生成临时表,建立临时表的自增id。通过取得自增id的10<id<20的记录的方法取得... 阅读全文
posted @ 2008-01-13 18:59 投石问路 阅读(381) 评论(0) 推荐(0) 编辑

摘要: 随着传统的数据库、计算机网络和数字通信技术的飞速发展,以数据分布存储和分布处理为主要特征的分布式数据库系统的研究和开发越来越受到人们的关注。但由于其开发较为复杂,在一定程度上制约了它的发展。基于此,本文提出了在.Net环境下使用一种新的开发语言C#结合ADO.Net数据访问模型来开发分布式数据库系统,大大简化了开发过程。 1 分布式数据库系统 就其本质而言,分布式数据库系统的数据在逻辑... 阅读全文
posted @ 2008-01-13 18:38 投石问路 阅读(414) 评论(0) 推荐(0) 编辑

摘要: 在C#中做很多应用需要使用win32 API,但发现原型函数的一些数据类型看起来非常费劲,甚至在C#中“没有”这种数据类型,查阅了一下资料,数据类型对应关系整理如下,希望对大家有用: BOOL=System.Int32 BOOLEAN=System.Int32 BYTE=System.UInt16 CHAR=System.Int16 COLORREF=System.UInt32 D... 阅读全文
posted @ 2008-01-13 17:12 投石问路 阅读(283) 评论(2) 推荐(0) 编辑

摘要: 用C#生成中文汉字验证码的基本原理 前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码。^_^ 我不得不佩服腾讯为了防止目前网络上横行的QQ号码自动注册机而采取中文验证码的手段。仔细想了想感觉用程序生成随机的中文验证码并不是很难,下面就来介绍一下使用C#生成随机的中文汉字的原理。 1、汉字编码原... 阅读全文
posted @ 2008-01-13 17:10 投石问路 阅读(343) 评论(0) 推荐(0) 编辑