2013-03-05 120 views
0

因此,我在窗体上使用了大约50个不同的标签,并且每当我做任何事情(最小化,最大化,运行窗体上的任何命令)时,它都会闪烁,我需要一种更有效的方式去做这个。VB.NET中的标签背景闪烁

我搜索过,看到有人说要画文字,但有没有其他方法?如果您建议绘制文本,那么绘制50个不同项目的好方法是什么?

谢谢。

+0

50标签不应该使表单闪烁自己,除非你在古代硬件上运行。你可以请发布更多的细节?也许截图 – 2013-03-05 17:39:34

+0

请提供更多信息。 – ShadowScripter 2013-03-05 17:56:19

回答

0

2问题:

1)您的窗体上的DoubleBuffered属性是否设置为true?如果没有,试试看看是否有帮助。

2)你是否覆盖OnPaint/OnPaintBackground事件?如果是的话,你可以将你的代码发布在那些?

+0

DoubleBuffered属性设置为true,我尝试了#2,但似乎没有任何工作。 似乎会有一个简单的解决方案,但我似乎无法找到一个。 我想我可能需要一些手持这个,因为我只是无法弄清楚。 – 2013-03-05 18:12:30

+0

嗯。用户界面密集的形式还在发生什么?有大的背景图片吗?是否以某种方式一次性计算标签中的值(如果是这样,则可以先调用SuspendLayout(),然后再调用ResumeLayout())?如果您制作了表格的副本并开始删除标签,那么当您下降到40/30/20/5时,闪烁会消失吗? – GojiraDeMonstah 2013-03-05 18:16:15

+0

这些标签位于300px x 500px的小图片上。当您点击“搜索”时会计算这些值,但在此之前没有任何事情发生。只是当表单大小改变大小这种错误我看起来很不专业。 会绘制文本的工作?我没有真正尝试,因为我没有找到一个好方法来绘制50个项目。 – 2013-03-05 18:21:20