我想实现一个类似于连连看那种界面,即窗体上有很多小图块,每个小图块能响应事件并能更改自身样式.
我现在的方法是:将小图块作为一个控件,从Control继承,在控件上绘图,然后将几十个控件放到主窗体上.
现在的问题是:主窗体显示控件时速度慢,且闪烁.尤其是当窗体被其他程序遮挡后需要重绘时,简直惨不忍堵.
我知道双缓冲技术可以解决绘图的闪烁问题,但我这里不知道要怎样应用这个技术,因为不是直接绘图.
如果采用直接绘图方式,则每个小图块又如响应事件和改变样式呢?
请大家给点思路,谢谢
我现在的方法是:将小图块作为一个控件,从Control继承,在控件上绘图,然后将几十个控件放到主窗体上.
现在的问题是:主窗体显示控件时速度慢,且闪烁.尤其是当窗体被其他程序遮挡后需要重绘时,简直惨不忍堵.
我知道双缓冲技术可以解决绘图的闪烁问题,但我这里不知道要怎样应用这个技术,因为不是直接绘图.
如果采用直接绘图方式,则每个小图块又如响应事件和改变样式呢?
请大家给点思路,谢谢
解决方案 »
- 值不能为空
- 关于怎么生成dll的问题?
- 怎样遍历Form窗体上的所有控间??
- 各位好! 小弟不太懂C# 偏偏需要读一段C#编写的程序 所以想就其中碰到的几个问题向各位请教一下!
- 关于等待界面的问题
- 下载文件时有什么办法可以不直接打开文件而是弹出下载对话框?我还有乱码
- 我发现Sql server建立表的时候,int类型主键必须是自动增长的...
- 关于mvc中razor的用法
- C#调用C++
- 请指教,当我用 Encoding.ASCII.GetBytes("haha"); 得到的byte[] buffer, 却无法用buffer.ToString(); 来得到string ?
- MYSql就触发器和游标的一些问题.
- vs2008正式版,不是b2版,哪里下载?可以提供下载地址码?谢谢。最好没有使用限制的。
http://download.csdn.net/source/162553主要如何提高绘制的速度
连连看的区域判断和连线判断都是简单的事情
this.PerformLayout();每次OnPoint的时候调用一下OnFlash()可以有效防止闪烁.
InitialComponents()里面就是这么做的