代码改变世界

C# 关于开发控件,如何自定义属性归类

2012-06-18 10:33 by Andrew.Wangxu, 1840 阅读, 0 推荐, 收藏, 编辑
摘要:首先介绍下属性分类结构: 绿色框:是总分类。 红色框:是子分类。 (当然子分类下面还可以包含子分类,跟Node节点一回事。) 灰色框:是子分类下面的属性. Q:如何将自己写的属性归类到指定的总分类? A:使用Category属性,例子如下: 阅读全文

C# 静态类的构造函数

2012-06-06 19:11 by Andrew.Wangxu, 1169 阅读, 0 推荐, 收藏, 编辑
摘要:简单介绍: 一个类只能有一个静态构造函数。 静态构造函数只能访问类的静态成员 静态构造函数不能传入参数 静态构造函数只会在该类第一次被使用的时候执行。 阅读全文

C# 控件开发中常用属性整理

2012-06-05 14:07 by Andrew.Wangxu, 324 阅读, 0 推荐, 收藏, 编辑
摘要:Browsable 适用于属性和事件,指定属性或事件是否应该显示在属性浏览器中。 Category 适用于属性和事件,指定类别的名称,在该类别中将对属性或事件进行分组。当使用了类别时,组件属性和事件可以按逻辑分组显示在属性浏览器中。 Description 适用于属性和事件,定义一小块文本,该文本将在用户选择属性或事件时显示在属性浏览器底部。 阅读全文

关于 错误 137 (net::ERR_NAME_RESOLUTION_FAILED) 的解决方案

2012-06-01 09:30 by Andrew.Wangxu, 5033 阅读, 2 推荐, 收藏, 编辑
摘要:哎。。。遇到这问题真头疼,但是系统安装了很多东西有很多文件,重装特别麻烦。 症状:能上QQ IM 各种网络软件打开正常,唯独浏览器出现错误:关于 错误 关于 错误 137 (net::ERR_NAME_RESOLUTION_FAILED) 的解决方案 我用的是谷歌内核的浏览器以及IE 都打不开网站。。。 尝试解决:重装IE 重新注册IE组件 升级IE 重新安装其他内核的浏览器,360各种修复 各种扫描均无效。。 阅读全文

C# 关于方法中的参数(可选参数和命名参数)

2012-05-31 10:56 by Andrew.Wangxu, 3551 阅读, 4 推荐, 收藏, 编辑
摘要:在阅读《CLR via C#(第三版)》第191页中看到方法参数的用法,这里将书本中的内容挑选一些关键的记录下来,内容如下: 设计一个方法的参数时,可为部分或全部参数分配默认值。然后,调用这些方法的代码可以选择不指定部分实参,接受其默认值。除此之外,调用方法时,还可通过指定参数名称的方式为其传递实参。以下代码演示了可选参数和命名参数的用法: 阅读全文

C# 中的拓展方法,以StringBuilder加上IndexOf方法举例

2012-05-30 20:32 by Andrew.Wangxu, 2831 阅读, 6 推荐, 收藏, 编辑
摘要:大家都知道StringBuilder是处理字符串的首选,我不太明白为什么StringBuilder提供的方法竟然比string类要少,挺奇怪。 废话不多说,直接图文跟着走吧。 上图先(我写好的拓展方法): 阅读全文

C#中的不同类型之间的显式与隐式转换实现

2012-05-30 16:02 by Andrew.Wangxu, 594 阅读, 2 推荐, 收藏, 编辑
摘要:在项目中可能经常遇到不同类型之间的转换, 如 int转换为byte double转换为int。 那么这些显式或隐式转换是如何实现的呢,下面也是以User对象举例。 首先贴上来User.cs的所有属性 阅读全文

在C#中的operator重载操作符

2012-05-30 15:01 by Andrew.Wangxu, 3996 阅读, 5 推荐, 收藏, 编辑
摘要:业务需求: 在程序中要求将两个用户的用户名和他们的持有金额的相加,如何来实现呢? 一般实现如下: User user1 = new User(); user1.Name = "张三"; user1.Money = 20; User user2 = new User(); user2.Name = "李四"; user2.Money = 15; //将两个对象相加,得到用户名和金额合计 User user3 = new User(); user3.Name = user1.Name +","+ user2.Name; user3.Money = user1.Money + user2.Money; //打印结果: //user3.Name :“张三,李四” //user3.Moeny:“35”; 试想,能不能将user3那三行代码改为: User user3 = user1 + user2; 阅读全文

在C#中的一个类型定义,可能包含的所有成员

2012-05-30 13:22 by Andrew.Wangxu, 339 阅读, 0 推荐, 收藏, 编辑
摘要:以下代码展示了一个类型定义,其中包含了所有可能的成员。这段代码会通过编译(会显示一些警告),但它并不能代表你平常创建的类型,其中大多数方法没有实用价值。这里仅仅是为了列举出来而已,有遗漏的话 希望园友们提示一下,我会追加上。。 谢谢了。。 阅读全文

关于C#的dynamic类型,简单演示及说明

2012-05-30 11:06 by Andrew.Wangxu, 2397 阅读, 5 推荐, 收藏, 编辑
摘要:在阅读《CLR via C# (第三版)》第132页看到dynamic这个类型,感觉挺有用的。 记录下来日后查用以及跟园友们分享,内容如下: 为了方便开发人员使用反射或者与基本组件通信,C#编译器允许将一个表达式的类型标记为 dynamic。还可以将一个表达式的结果放到一个变量中,并将变量的类型标记为dynamic。然后,可以用这个 dynamic 表达式/变量调用一个成员,比如字段、属性/索引器、方法、委托以及一元/二元/转换操作符。代码用 dynamic 表达式/变量来调用一个成员时,编译器会生成特殊的 IL 代码来描述所需的操作。这种特殊的代码成为 payload(有效载荷)。在运行时,payload 代码根据当前由 dynamic 表达式/变量引用的对象的实际类型来决定具体执行的操作。 阅读全文

C# 多个(N个)ListBox之间的拖动方法

2012-05-25 11:16 by Andrew.Wangxu, 1102 阅读, 0 推荐, 收藏, 编辑
摘要:需求说明:在窗体界面中有多个ListBox要实现之间的数据拖动,下面是封装的一个方法,实现N个ListBox的数据拖放操作。 可任意拖放数据到任意的ListBox 附上截图、代码、示例项目文件: 阅读全文

在VS中折叠所有代码或展开所有代码

2012-05-24 10:59 by Andrew.Wangxu, 954 阅读, 0 推荐, 收藏, 编辑
摘要:Ctrl-M-O 折叠所有方法Ctrl-M-L展开所有方法Ctrl-M-P 展开所有方法并停止大纲显示(不可以再折叠了)Ctrl-M-M 折叠或展开当前方法参考:http://www.wxzzz.com/?id=93 阅读全文

C# 设置当前程序调用的dll文件以及其他文件的寻址路径

2012-04-23 11:47 by Andrew.Wangxu, 870 阅读, 0 推荐, 收藏, 编辑
摘要:文件: App.exe为主程序 A.dll为需要调用的bll文件 B.dll为需要调用的bll文件 一般情况下,我们的exe程序会调用一些dll。 由于项目可能较大,有很多的dll文件需要调用,并不可能将这些文件全部放在跟exe同一目录。 但是默认情况下app.exe只会在当前目录和系统库的目录寻找调用的dll 阅读全文

批处理重命名文件,去掉文件名中指定的字符

2012-04-12 11:45 by Andrew.Wangxu, 985 阅读, 0 推荐, 收藏, 编辑
摘要:第三行中的 *.cs 表示为要需要重命名的文件类型 为 当前目录下的所有cs文件 第五行中的 CM_ 表示要去掉的字符。 如: CM_ABC.cs 运行以上代码后,文件则变为 ABC.cs 阅读全文

C# 使用反射设置某个对象的属性或读取某个对象的属性

2012-03-23 04:14 by Andrew.Wangxu, 586 阅读, 0 推荐, 收藏, 编辑
摘要:/// /// 获取对象中的属性值 /// /// 属性名 /// 对象 /// public string GetModelValue(string FieldName, object obj) 阅读全文
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页