建议换个角度,不用button 应该也可以实现把。
button是一个类,背后有很多数据在支持呢。每一个按钮都是一个对象,程序要控制那么多对象,当然卡的要死。如果你只是想显示一个个图形,不要求去点击它,那你完全可以用GDI画一些圆,画多少都行
用GDI先画背景,然后在背景上循环画若干圆。每个圆的圆心坐标的半径范围内鼠标点击,就属于点击了这个圆,然后通过编号规律得到被点击的圆的编号,比如楼主每列都是32个圆,那么每一列上对32求模相同者纵坐标相同,可以采用这个想法得到被点击的编号。画在图中以后就相当于picturebox显示一张图片,应该不会卡的。
关于:
关于这个问题,你说的先直接画个图形出来,那么数字的居中如何弄? 所以还得先弄一个控件,但是要是弄控件 资源又消耗的太厉害!!所以不知道怎么弄人家20000点没见卡过,秒显!如果有方法,谢谢回复
可以:
显示数字的话不一定必须要用label或者button的Text属性,直接用GDI+写字在图上即可,参考代码:
Graphics g = Graphics.FromImage(bmp); //bmp是当前那个picturebox里面显示的图像
g.DrawString("要写的字", this.Font, Brushes.Black, new Point(x,y)); //x和y每画一个字后需要动态计算
g.dispose();
通过计算x和y的坐标实现在每个圆区域内居中写字