我在'MainForm'中使用了一些图片而我的Windows应用程序是用c sharp编写的。 我使用此表单在我的项目中启动其他表单。
我使用透明色的标签和面板。 但是当程序启动时,我看到许多透明标签和面板闪烁。 而且非常糟糕。
我如何解决这个问题?
答案 0 :(得分:2)
上面建议的启用DoubleBuffered
stax 会很有帮助,但可能还不够。
在表单中,添加以下方法覆盖:
protected override void OnPaintBackground(PaintEventArgs e) {}
并且,在OnPaint
方法中,自己绘制背景。如果你不这样做,绘制背景和绘画是单独的事件,背景绘画具有更高的优先级,这意味着它将更早发生。
此外,如果添加子控件(如标签),则会收到自己的绘制背景/绘制事件。您可以禁用Label的背景。如果我做这样的事情,我倾向于不使用控件,而是将文本和图像绘制在一个OnPaint
中。
答案 1 :(得分:0)
你是在多台机器上测试的吗?
您是否使用了所需的所有.net服务包的更新计算机。
等