C#
文章平均质量分 70
gqqnb
这个作者很懒,什么都没留下…
展开
-
如何为自定义控件设置图标——ToolboxBitmap的用法
首先,图标必须是16×16的大小,用bmp格式最保险。图片最左上角那一点的颜色作为透明色。 下文以SimpleColorPicker类为例。 举例了ToolboxBitmap三种构造函数的用法。原创 2010-12-18 16:19:00 · 9733 阅读 · 3 评论 -
BeginInvoke、ThreadPool、Task三类异步方法的区别和速度比较
速度(最快为1)返回值多参数等待在时限内完成超时后结束ThreadPool.UnsafeQueueUserWorkItem()1非原生支持1非原生支持非原生支持3不支持ThreadPool.QueueUserWorkItem()2.7非原生支持1非原生支持非原生支持3原创 2012-07-25 11:24:49 · 15352 阅读 · 5 评论 -
【解决方案】ItemsControl删除元素,但仍然显示它们
例如一个选手机号的程序,有一系列手机号可选。有些手机号已经被人选走了,列表仍然显示它们,但多加一条删除线,如图。如图,淡色的、被线划掉的就是已经被选走的。这样的功能该如何实现呢?具体要求外界可以把这种控件视为ListBox,加元素就是Items.Add,删元素就是Items.Remove。外界不应去关心如何“假删”。此控件的应用范围应更为广泛,允许用模板来自定义被删除后原创 2012-07-29 11:36:41 · 2813 阅读 · 0 评论 -
关于文本编辑器与IDE
IDE是用来创作程序的(这里之所以不说“写程序”,是因为程序不光是写出来的,还要重构、编译、调试、管理等);文本编辑器是用来编辑文件的,当然也可以编辑程序源代码。我见到网上有争论说Rubyon Rails不需要IDE,文本编辑器即可,又考虑到文本编辑器与IDE是个旷日持久的话题,所以发表一下我的看法。本文的文本编辑器主要以(g)Vim7.3为例,IDE以VisualStudio 201原创 2012-09-05 23:44:42 · 5420 阅读 · 0 评论 -
为什么2DES不安全?
2DES所用的密钥长度是112位,所以2DES所产生的安全性(破解2DES的时间复杂性)应该与相当。之所以说2DES不安全,因为破解2DES的时间复杂性远远低于,约略大于。下面进行证明:设小明用K1、K2执行2DES,给小红发送加密过的情书。我们已经截获了小明的给小红的情书原文p(plain text)和密文c(cipher text)。我们相信小明也是用K1、K2给小琳发信息,我们严重怀原创 2012-11-11 21:00:46 · 9199 阅读 · 2 评论 -
【2012.12.27更新】.Net 4.0代码协定用法简介
2012.12.27更新:增加了EnsureContractReferenceAssemblies。“代码协定”包括它的语法和使用方法。如果以前不知道代码协定,去看看http://msdn.microsoft.com/zh-cn/library/dd264808.aspx。它的语法是很简单的,可以参见http://msdn.microsoft.com/zh-cn/lib原创 2011-02-11 13:50:00 · 2290 阅读 · 2 评论 -
【2012.12.18更新】WPF支持GIF的各种方法
2012.12.18更新:修复下载链接已知WPF的Image元素只能显示GIF图片的第一帧,而MediaElement不能加载作为资源或内嵌的资源的GIF图片,所以网上有几种实现方法。我抄袭网上提供的方法,改头换面后作为自己的GifImage实现。本文的前半部分介绍我的GifImage实现;后半部分做实验,将我的GifImage和网上现存的几种Gif支持方法做性能上的比原创 2012-01-21 19:35:58 · 13423 阅读 · 5 评论 -
.NET远程调用:MarshalByRefObject和Serializable的性能测试
本文测试远程调用以下对象时的执行速度:无成员的MarshalByRefObject50个属性的MarshalByRefObject无成员的Serializable50个属性的Serializable场景是这样的:客户端获取服务端,把自己注册给服务端,然后服务端回调客户端,并传递上述的对象。代码下载https://www.box.com/s/lai03ktzdi0gzo5原创 2013-01-03 21:47:06 · 2987 阅读 · 0 评论 -
IDisposable:关于资源销毁,老师不告诉你的事
本文翻译自IDisposable:What Your Mother Never Told You About Resource Deallocation译者:爱让一切都对了(有删简)控制IDisposable这篇文章的第一部分讨论了IDisposable接口的问题,这部分将着眼于实现IDisposable的“最佳做法”。解决IDisposable的问题:用可销毁设计模式,少用I翻译 2013-01-01 16:43:26 · 2305 阅读 · 0 评论 -
ThicknessPropertyConverter,以便绑定Thickness的某几个属性
Margin的类型是Thickness,而Thickness的Top、Left等属性不是依赖项属性,不能单独绑定。网上有许多帖子询问如何绑定到Margin的某(几)个属性,如(抱歉,我没有在中文圈里搜到相关的问题或介绍)Binding only part of the margin property of WPF controlBinding just one Margin原创 2013-01-28 13:36:54 · 4020 阅读 · 0 评论 -
如何在64位电脑上安装配置emgucv?【2013.1.29更新】
2013.1.29更新增加使环境变量生效的方法。调整文章结构。增加无GPU使用2.4.2的方法2013.1.16更新重启电脑的步骤是不必要的。截至2013年1月29日,emgucv的稳定版本为2.4.2。2.4.2及之前版本,若安装文件文件名中带gpu字样的,则仅限支持CUDA的显卡使用;不带gpu字样的,则通用。而通用版目前的最高版本为2.4.0。所以,如原创 2012-09-08 16:35:45 · 6246 阅读 · 1 评论 -
switch枚举时,要不要把枚举的每个值都写进case里?
我有一个MyEnum enum MyEnum { One, Two, Three }MyEnum的值不同,软件就做不同的事。 private static void AllCases() { MyEnum me = (MyEnum) new Rando原创 2013-02-10 16:07:07 · 10973 阅读 · 0 评论 -
软件发布——三国弹一下【2013.2.21更新】
三国弹一下是跟三国杀类似的局域网卡牌游戏,只要有局域网,宿舍晚上断网后也可以玩。目前,三国弹一下有和三国杀一样的卡牌和武将,可以让你不付费就体验各种武将技能。三国弹一下特别适合初学三国杀的玩家,游戏会指导用户出牌,让您快速掌握游戏规则。三国弹一下为游戏过程做了优化,当您无牌可出时游戏会自动跳过,不需要像三国杀Online上一样按取消按钮;当一张牌只有一个可能的目标时,游戏会自动帮你选中那个目标。当原创 2013-01-14 04:09:29 · 1304 阅读 · 1 评论 -
Style.Trigger与DataTemplate.trigger(样式触发器与模板触发器)
以下样式触发器与模板触发器是等效的。使用Style.Triggers:原创 2013-09-08 22:15:20 · 7019 阅读 · 0 评论 -
【发布软件】Visual Studio工具:自动递增版本号
IncBuildNo是个命令行工具,与VS配合即可完成递增版本号的任务。原创 2012-01-21 21:13:50 · 12948 阅读 · 4 评论 -
CSDN论坛问答质量提升计划
事由我一开始学电脑s原创 2014-06-19 06:35:32 · 1278 阅读 · 0 评论 -
谁说在运行时改变资源就要使用DynamicResource?
本文讨论StaticResource和DynamicResource众多区别中的一项——关于修改资源的问题。关于向前引用什么的问题,请参考Google。<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"原创 2012-07-23 20:07:48 · 3313 阅读 · 0 评论 -
【解决方案】OuterGlowBitmapEffect在WPF 4.0中过时并失效了怎么办?
先上图第一个按钮用了OuterGlowBitmapEffect的效果,第二个按钮用了广泛推荐的DropShadowEffect,第三个按钮用了我自己写的OuterGlowAdorner。原创 2012-07-23 18:18:34 · 4990 阅读 · 0 评论 -
发布软件《人人相片全部下》
《人人相片全部下》是一款用来下载人人网好友相片的软件。原创 2011-01-22 13:04:00 · 1049 阅读 · 0 评论 -
为什么as比is快?
在做类型转换的时候以及测试某个对象是否是某种类型的时候,as和is都可以完成任务,但普遍认为as比is快。通过查看il代码,可以立即验证。左图是is生成的代码,右图是as生成的代码。左边3行;右边1行,是左边的子集。孰快孰慢一目了然。原创 2011-02-28 20:04:00 · 1246 阅读 · 0 评论 -
Keys的各个枚举值常量
None: 0LButton: 1RButton: 2Cancel: 3MButton: 4XButton1: 5XButton2: 6Back: 8Tab: 9LineFeed: 10Clear: 12Enter:原创 2011-06-19 12:50:00 · 1860 阅读 · 0 评论 -
可自定义补全算法的TextBox控件
.NET framework中System.Windows.Froms.TextBox有补全功能,但只有有限的几种模式。如果想输入拼音,补全列表提示汉字,这是做不到的。于是,你可以使用我的CustomizableCompleteTextBox。 该控件的一个重要成员是Completing事件。你可以订阅此事件,在此事件中根据Text计算补全条目。 以下是一个拼音补全的示例。你需下载原创 2011-06-24 12:11:00 · 1800 阅读 · 2 评论 -
写程序不能忘记数学啊
不仅仅是写数据结构与算法,写日常小程序也要数学知识呢!这会遇到的数学知识是高中的椭圆。protected override void OnMouseMove(System.Windows.Input.MouseEventArgs e){ base.OnMouseMove(e); double width = ActualWidth - 2 * SystemParamet原创 2011-12-04 18:44:45 · 881 阅读 · 0 评论 -
WPF布局控件的选用策略
Windows Presentation Foundations (WPF)提供了多种布局面板,常用的包括Canvas、StackPanel、Grid、DockPanel。本文将要介绍如何选用这些控件,以便窗体大小改变时依然能够正确地布局。锚定(Anchor)锚定是Windows窗体应用程序中常用的布局技术。如果你不了解,可以在VS里新建一个Windows窗体应用程序,放一个按钮,然后原创 2011-12-17 21:43:46 · 3590 阅读 · 0 评论 -
程序猿发展起点的比较
个人拙见。。。。本图发布至公有领域。原创 2011-12-10 11:53:47 · 1278 阅读 · 0 评论 -
【续】WPF支持GIF的各种方法
前一篇介绍了我的GifImage与其他人的GIF支持实现,以及对比;这一篇再进行另一项对比。本文主要是自我记录,对读者的意义可能不大。在前文的基础上,我修改了GifImage,使其支持从两种来源获得gif图像。一是URI,二是Stream。另外,我还对GifImage进行了优化,做了很多测试保证反复创建GifImage,内存不会暴增。(事实上可以保持稳定)因为GifImage内部使原创 2012-01-26 11:19:57 · 4028 阅读 · 0 评论 -
酷派tbl联系人读取器2011.1.31更新【完善文件信息】
这是酷派tbl短信读取器的姊妹版。酷派tbl联系人读取器,导出联系人为文本格式,可被记事本、excel等打开。仅读取联系人姓名和联系号码,忽略分组,无法重新导入手机!在Windows 7 x64下测试通过。需要.net framework 2.0或以上支持。更新日志:2011.1.31修改:在程序文件上加入文件说明、产品名称。2010.10.27新增:在保存结束原创 2011-01-31 10:44:00 · 12413 阅读 · 6 评论 -
.NET远程处理(Remoting)与WCF的功能性对比
写作动机与本文范围研究.NET远程处理和WCF,是因为我的项目需要.net应用程序在局域网内通信。于是有了.NET远程处理和WCF两种选择。网上有很多的.net remoting vs WCF的文章,但都不合我意。我要编写的客户端和服务端都是.net 4.0应用程序,不需要WCF什么“强大灵活的”SOA功能。我的客户端和服务器在同一局域网内,不需要WCF强大的互联网穿透能力。为了通信效率,原创 2012-02-04 13:59:54 · 8019 阅读 · 0 评论 -
.NET远程处理(Remoting)与WCF的性能对比
用TCP信道时,.NET远程处理默认的序列化器是System.Runtime.Serialization.Formatters.Binary.BinaryFormatter。WCF是用SOAP传送消息的,即格式是XML。可以设置XML的编码方式,选择编码为文本或二进制数据。下面测试用BinaryFormatter和WCF的序列化器序列化同一个对象时,哪一个产生的二进制流最短。 class原创 2012-02-04 20:43:32 · 3622 阅读 · 0 评论 -
.NET远程处理(Remoting)与WCF的性能对比(2)
本文承接上一篇,背景资料不再重述。我按照我实际项目的需求,抽取其网络通讯的部分,用.NET远程处理和WCF分别实现,然后测量所耗时间,以此判断两者在我的场景中的性能。心急的直接跳到最后,有图表和结论。测试配置WCF和.NET远程处理都用tcp信道,信道不加密,不使用app.config文件。都是用release编译,不优化。测试中,客户端向服务端获取进入条件,然后申请进原创 2012-02-08 23:41:25 · 7933 阅读 · 0 评论 -
【.NET】如何在编程实践中划分程序集?
本文将讨论的程序设计语言是.NET语言,至少对于C#成立。本文不详述命名空间和程序集的差别,而是讨论如何在编程实践中应用这些差别。本文侧重于程序集方面,命名空间的划分今后有时间再谈。在.NET语言中,至少包括C#,命名空间和程序集(扩展名为dll,在Visual Studio上表现为一个项目)是相互独立的。一个程序集可以包括多个命名空间,一个命名空间可以分散在多个程序集中。这几乎是广为原创 2012-06-25 13:46:37 · 1340 阅读 · 0 评论 -
图解ScrollViewer的ExtentHeight和ViewportHeigh
ScrollViewer: http://msdn.microsoft.com/zh-cn/library/ms612678作者爱让一切都对了本文依照知识共享-署名-相同方式共享协议发布原创 2012-07-14 08:51:58 · 3898 阅读 · 0 评论 -
【WPF】ComboBox:根据绑定选取、设置固定集合中的值
问题场景我有一个对象,里面有一个属性叫Limit,int类型。虽然int可取的范围很大,我想要在用户界面上限制Limit可取的值,暂且限制为5、10、15、20。所以ComboBox绑定不是绑定常见的ItemsSource(至少初看起来不是),而是Text、SelectedItem、SelectedValue或是什么东西,先卖个关子。另外,Limit是表示时间的,单位秒。我要求Comb原创 2012-07-18 13:01:17 · 13694 阅读 · 0 评论 -
MAXIMUM GAP
MAXIMUM GAP的解题算法原创 2014-12-25 10:04:47 · 4375 阅读 · 0 评论