分类存档: C#

EMailSender邮件群发管理软件V1.1发布

一堆杂七杂八的事,把这个软件耽搁了,不再折腾了,也不搞商业版了,以后一直免费更新。软件肯定有很多Bug,大家先凑合着用吧,我会慢慢完善。

PS:请勿将软件用于非法用途,大家不要乱发垃圾邮件,因为乱用软件,带来的后果请自负!

V1.1版基本功能介绍:

1、支持分组管理发件箱和收件人,[......]

继续阅读

C#中ref和out的区别

今天面试,问到了ref和out的区别。

ref是传递参数的地址,out是返回值,侧重输出,两者有一定的相同之处,不过也有不同点。

使用ref前必须对变量赋值,out不用。

out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,[......]

继续阅读

C++ 与 C# 类型转换

今天去面试了,一个简单的问题,C++中的char*转换成C#代码,应该对应什么类型。其实以前也用到过好多,在使用C#调用C++的动态库时,经常用到。只是从来没有留心,每次都是简单的搜索一下,找到答案。今天记录一下,以备后用。

C++                C#
传入的char*[......]

继续阅读

C#技术总结:跨线程操作UI控件

跨线程操作UI控件,相信大家经常会碰到,对于新手来说,总是会碰到麻烦,不知道如何使用子线程操作UI控件,因为.NET的安全机制,是不允许使用子线程操作UI控件的,只能由主线程操作。

子线程对UI控件的操作,需要通过委托来实现。举一个简单的例子,比如要给一个label控件赋值。

正常操作只[......]

继续阅读

C#技术总结:使用反射动态加载动态库

写过一个博客群发软件(因为个人暂时没有使用需求,没有进一步开发更新),当时考虑,当添加对新博客的支持时,如何不用更改软件主体代码,而实现升级。考虑再三,决定把对每一个博客的支持模块,都封装为dll类库,支持类继承自同一个接口,通过使用反射,动态调用类库中的方法。这样,当对一个新的博客提供支持时,只需[......]

继续阅读

C#技术总结:单例模式

记得刚开始工作的时候,做的是视频播放软件,软件会涉及很多窗口,但是每次打开一个窗口,都new一个新的示例,而这些窗口是需要经常打开关闭的,时间长了,.NET的垃圾回收机制,并不会及时的回收不需要的资源,所以内存占用,会慢慢变大。在很多其他软件中,这种情况也是经常发生。

其实对于这样的情况,单例[......]

继续阅读

C#核心技术总结(.NET WINFORM)

09年6月从学校出来,两年半多了,期间接触的东西不少,但是主要工作,还是从事Winform开发,其他都是自娱自乐。所以对这段时间,掌握的一些基本技术,做一个总结,还是很有必要的。从今天开始,我会每天总结一点以前使用过的一些比较重要的知识。(技术点可能会比较分散,我想到哪儿就写到哪儿,写的多了,我会尽[......]

继续阅读

C#技术总结:Winform TreeView控件递归创建树

这是个很简单事情,只需要写一个递归函数就OK,很早以前(至少两年前了)就写过,可是今天再碰到,竟然纠结了半天,总是出错,可能真是太长时间不写程序的缘故,思维都退化了。

在改进我那个邮件群发软件,做一个分组管理功能,分组以树的形式显示。

分组的数据结构很简单,只有三个字段,id,name,[......]

继续阅读

Winform下的HTML文本编辑器Editor(含源码示例)

以前发过一篇文章,提到了Winform下选用html文本编辑器的问题。刚才一个朋友加我qq,说看到了我那篇文章,想问我具体实现方式,希望我能提供一个demo。

唉,我是个热心肠啊,所以马上动手,三分钟之后,当我搞定,写完demo的时候,我笑了,那帅哥qq上留言,说有事先闪了,让我写好之后发他邮[......]

继续阅读

Entity Framework 4.0 不支持 Sql Server Compact 主键自增

这几天写的邮件群发软件,仅仅实现了群发功能,邮件地址需要从外部导入,虽然这个功能足够我使用了,但是还是想做一数据库,组织一下邮件地址和其他配置信息。

因为只是一个简单的单机版软件,数据库不能搞太复杂,电脑上没有装Access数据库,不想去下载,所以打算用sql server compact 3[......]

继续阅读