C#
guangboo
查无此人
展开
-
The SQL Site Map Provider You've Been Waiting For
Now that ASP.NET 2.0 is a shipping product, it seems appropriate to revisit an issue that tops the new features wish lists of many developers: a SQL Server™ site map provider.As you probably know转载 2007-12-06 17:38:00 · 1303 阅读 · 0 评论 -
SetWindowRgn函数应用--截图,绘制多边形窗体
版权所有,转载请注明出处:http://guangboo.org/2013/02/04/setwindowrgn-applicationSetWindowRgn函数用于设置窗体的绘制区域,该区域决定了窗口的形状,并且超出该区域的一切绘制工作都无效的,不会显示在屏幕上。函数签名int SetWindowRgn(HWND hWnd, HRGN hRgn, BOOL bRedraw);其原创 2013-02-04 19:15:13 · 1192 阅读 · 0 评论 -
使用SerializableAttribute进行对象序列化与反序列化
原文地址:http://guangboo.org/2013/01/10/useing-serializableattribute-to-serialization-deserializationSerializableAttribute属性用于修饰可以序列化的类,如果类支持序列化,便可以使用该属性来修饰。需要注意的并不是所有支持序列化的类都需要被SerializableAttribute来原创 2013-01-10 13:30:13 · 1803 阅读 · 0 评论 -
C#实现屏幕截图
背景在很多聊天工具中都有一个屏幕截图功能,可以方便的截取屏幕部分区域,以图片的形式传输给对方,使得沟通更加直观。其实不仅在聊天时需要截图,在其他时候我们也需要截图工具,但一般我们都使采用Print Screen按键来截取整个屏幕,然后使用MSPaint再选取部分区域。其实使用C#也很容易实现截图功能。原理首先我们也需要对整个屏幕拍一个快照,然后在这个图片上选择一个区域,再截取这部分区域原创 2012-12-06 17:41:26 · 6410 阅读 · 2 评论 -
SplashScreen实现加载数据
背景对于windows开发人员来说在打开VS开发工具时,总是先呈现一个SplashScreen界面,登上几秒钟后才打开VS的主界面。这样的效果一般是在主界面需要加载大量资源,为避免主界面变成“死”界面,而提供一个友好的Loading画面。为实现该效果,我们通常在加载主界面Application.Run(new MainForm())之前打开一个SplashScreen窗口,并在SplashSc原创 2012-12-06 11:33:43 · 1101 阅读 · 0 评论 -
C#重绘windows窗体标题栏和边框
摘要windows桌面应用程序都有标准的标题栏和边框,大部分程序也默认使用这些样式,一些对视觉效果要求较高的程序,如QQ, MSN,迅雷等聊天工具的样式则与传统的windows程序大不相同,其中迅雷还将他们的BOLT界面引擎开放,使得大家也可以创建类似迅雷一样的界面。那么这些软件的界面是怎样实现的呢,使用C#是否也可以实现类似界面?重绘方式常见的自定义标题栏和边框的方式有两种,一种是隐原创 2012-12-06 12:02:18 · 13072 阅读 · 11 评论 -
创建单实例应用程序的三种方法
背景在编写windows桌面应用程序时,如果我们没有特别处理,我们是可以打开多个应用程序实例的。例如,我们在同一台机器上挂打开多个QQ程序,也可以打开多个浏览器窗口。但有些应用程序,却只运行单个实例运行,如Outlook,MSN等。那么如何实现单实例应用程序呢?下面介绍三种方法。方法一,扫描进程这是最容易想到的方法,实现起来也比较简单。扫描进程的代码如下,假设应用程序名称为MySing原创 2012-12-06 10:32:16 · 1642 阅读 · 1 评论 -
“热”更新动态库(dll文件)
使用.net反射机制实现 “热”更新动态库(dll文件)原创 2010-09-29 10:29:00 · 1652 阅读 · 2 评论 -
数据库 数据类型float到C#类型decimal, float数据类型转化无效
今天运行系统突然出错,数据类型转化无效,错误在system.data.sqlclient.get_decimal()方法,初步估计是数据库的float类型转换为c#的decimal类型时出错了,实体类使用的是decimal?类型,心想就算数据库里的数值是空,也不能出现转换错误啊。网上百般搜索,很多人遇到类似情况,多数是直接去float类型时候出错,如(float)dr[0],后来看到有说应该是原创 2009-07-06 13:21:00 · 1530 阅读 · 0 评论 -
给存储过程不能将0作为参数?
遇到一个有趣的问题:cmd.CommandText = "getClasses"; cmd.Parameters.Add(new SqlParameter("@PageIndex", 0));结果报错:过程 getClasses 需要参数 @PageIndex,但未提供该参数。 我晕明明这样定义的啊:。。。PROCEDURE [dbo].[getClasses]@Pag原创 2008-08-04 10:18:00 · 761 阅读 · 0 评论 -
看看 类的序列化及反序列化的耗时
下面是一个测试类的序列化的例子,可以看看序列化和反序列化的耗时namespace Queue ...{ [Serializable] public class Person ...{ private int _age; private string _name; public Person() ...{ _a原创 2008-01-16 16:04:00 · 1789 阅读 · 0 评论 -
使用继承?还是接口...
使用继承还是组合?这个问题的争论恐怕还在争论不休,微软鼓励程序员多使用继承,他们的理由是:扩展性好,因为,如果给应用添加一个功能的话,只要在基类上添加就可以了,其派生出来的子类不需要做任何修改,因为子类不需要了解父类;而对于接口来说就没这么容易了,不仅要修改接口,而且所有实现该接口的类也都要修改,这就给应用的扩展性带来了麻烦。所以微软推荐并鼓励程序员优先使用继承。那为什么要使用接口呢?1,原创 2008-01-02 13:03:00 · 1048 阅读 · 0 评论 -
使用继承还是组合...
上篇写了继承和接口,这里说下继承和组合,本片主要就一中情况来讲--------很多个类都要使用同一组静态方法时,是写一个包含这些方法的基类,还是编写一个包含这些静态方法的帮助类。如:public class Base { private static int a = 0; public int GetA() { return a++;原创 2008-01-02 13:39:00 · 632 阅读 · 0 评论 -
编写高性能的Web应用程序的10个注意点
文章讨论:1. 普遍的asp.net性能点2. ASP.NET中有用的性能点和窍门3. ASP.NET中使用数据库时的一些建议4. ASP.NET中的缓存和后台处理内容:数据层性能Tip1:返回多个结果集Tip2:数据访问分页Tip3:连接池Tip4:ASP.NET缓存APITip5:预请求缓存Tip6翻译 2007-12-29 16:03:00 · 655 阅读 · 0 评论 -
实例构造与结构构造(Java/C#)
所谓实例构造就是指通常的构造函数带参数的和不带参数的,其中不带参数的构造函数又叫做默认构造函数。而类型构造函数又可称为静态构造函数。例如:public class Customer...{ public Customer()...{ ... } // instance constructor, default public Customer(Type type).原创 2007-12-23 20:33:00 · 593 阅读 · 0 评论 -
ASP.NET 2.0 中的资源与本地化(by Ted Pattison)
http://www.microsoft.com/china/msdn/library/architecture/BOFforSO.mspx?mfr=true 在上一期专栏文章中,我介绍了资源文件在 .NET 开发中的使用。我将一个 Windows® Forms 应用程序进行了国际化,并将其本地化以适用于使用不同语言的用户。本月我将讨论 ASP.NET 2.0 中网站的本地化。我假设您熟悉转载 2007-12-18 15:14:00 · 668 阅读 · 0 评论 -
通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行(BY Jeff Prosise)
http://www.microsoft.com/china/msdn/library/architecture/BOFforSO.mspx?mfr=trueASP.NET 成功的其中一个原因在于它降低了 Web 开发人员的门槛。即便您不是计算机科学博士也可以编写 ASP.NET 代码。我在工作中遇到的许多 ASP.NET 开发人员都是自学成材的,他们在编写 C# 或 Visual Basic转载 2007-12-18 15:08:00 · 692 阅读 · 0 评论 -
ADO.NET中的数据关系
传统的ADO与ADO.NET最大的区别在于以ADO.NET存储的RowSets有真正的相互关系。例如,一个DataSet存储包含客户信息的Customers表和客户订单的Orders表,在ADO.NET中,这些表之间可以具有联系,并且重新创建了在关系数据库中的联系。对ADO.NET来说,一旦你再次得到这两个行集合的数据(换句话说,有父子关系的表的数据),并且使他们之间具有联系,你就可以通过给翻译 2007-12-09 21:50:00 · 1050 阅读 · 0 评论 -
修改窗体客户区区域
版权所有,转载请注明出处:http://guangboo.org/2013/02/05/change-size-of-client-areawindows窗口样式windows下都有相对固定的窗体样式,当然这些样式可能会根据windows主题会有很大的变换,就像皮肤一样。但windows也提供了一些API,来允许我们修改默认的窗体样式,以实现各自的样式需求,如《C#重绘Windows窗体标原创 2013-02-06 09:50:45 · 1918 阅读 · 0 评论