我有表格大小的主面板,并在其上放置了许多控件。我的问题是
当我在表格上点击(特别是主面板滚动条上的任何位置)时,每次看起来很奇怪都会闪烁。
所以,任何人都可以告诉我这背后的原因是什么,或建议我代码来阻止这一点。提前谢谢。
答案 0 :(得分:0)
在单个表单中添加大量控件并不好,但对于表单集属性DoubleBuffered
中的停止闪烁到true
<强>被修改强>
制作一个自定义面板并将DoubleBuffered设置为true:
public partial class CPanel : Panel
{
public CPanel ()
{
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
UpdateStyles();
}
}
如何强> 在项目中插入新类,用以下代码替换代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace yournamespace
{
public partial class CPanel : Panel
{
public CPanel()
{
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
UpdateStyles();
}
}
}
构建您的application
- &gt;转到form desig
n-&gt;现在您在toolbox
中有了一个新控件:在表单中插入新控件 - &gt;复制您的控件从旧面板到新面板