04 2010 档案
摘要:昨日,看了一篇文章“在举国哀悼之日,我仅技术角度分析开心网暂停游戏后恢复存在的问题”。 文章里讨论了游戏暂停,但是游戏里的时间没有暂停的问题。导致在游戏重开的时候,原本应该收获的“菜”已经腐烂一片了。这个原因的产生,实际上是由于游戏并没有实际上的暂停(服务器可不是说关就关的),只是把链接到服务器的请求转向到一个其他页面而已,所有的游戏数据仍然继续运...
阅读全文
摘要:在上文“GDI+绘制自定义行距的文本的三种方法。”中,介绍了绘制自定义行间距的多行文本的方法。 在第三种的方法中,启用了GdipDrawDriverString这个函数。这个函数可以定义每个字符的位置,这是它的优点。不过它的缺点也比较明显。一是它定义的字符位置是以字符的左下角为基准的,和一般的概念是两样的。二是他对Font要求比较高,据说如果采用的是英文字体,在显示中文时...
阅读全文
摘要:在.NET中,绘制图形和文本用的是GDI+。 在实际的应用中,绘制多行文本是比较常见的,而且有时还要求在绘制多行文本时能指定文本的行间距。如下图: 注:由于图太大,只截了左边部分的图,右边有一小部分没有截图。 上面这个示意图。一共18行文字,每行52个文字,行间距为1.5字符。 有关的GDI+的知识这里不再详细的介绍了。下面讲的是如何实现上面这个图的效果,给出三种实现方法。并比较他们的...
阅读全文
摘要:了解C#的人对typeof这个关键字再熟悉不过了。它是获得对象的类别,返回值是type。 在VB2005中和typeof对位的是GetType。可是,GetType的使用却充满着魅惑性。先看看下面的代码。 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _ ...
阅读全文
摘要:前几日,发布了博客“群发“站内信”的实现”,得到广大网友呼应,在此表示感谢。 看了网友的留言。发现大家对文中的前两种情况没有什么异议,对第三种方案争议颇多。我在此再把我的第三种情况详细的阐述一下,和大家交流。另外,本文的主体主要放在“群发”(也就是点到面),至于“单发”(点到点),不在本文的讨论之列。...
阅读全文
摘要:在WinForm的开发中,有时有些特殊的要求。例如:在某个Form上彻底屏蔽中文输入法,使之不能切换到中文输入,不能进行中文输入。 这个问题看上去简单,实现起来并没有想象中的简单。下面,把我做的几个实验依次列举,就会发现,其实实现起来还是有一定难度的。 实验一: 1、新建项目,建立两个Form,分别为Form1、Form2。Form1为启动Form。 2、Form1上有一个Text...
阅读全文
摘要:在实际的编程中,数组是运用很多的对象。象Array,List等都是对数组的一种封装。 我们看看下面两种的定义方法,能看出他们的区别吗? Dim tB1() As Byte Dim tB2() As Byte = {} 这两种都是定义一个字节数组,且数组里都没有元素。 不过下面两句话就能看出区别了。 Debug.Print(tB1 Is Nothing) Debug.P...
阅读全文