Tablayout面板需要很长时间才能加载

时间:2017-10-27 08:34:59

标签: c# winforms gwt-tablayoutpanel

我有下面的表单,我在Tablayout面板中有几个控件,如图中所示。

enter image description here

当我加载此表单时,它花了太长时间(也闪烁)。

我尝试过: 我选择CellBorderStyle为'None'所以,那一刻我没有观察到这个问题,但是当我选择任何cellBorder样式而不是'None'时它会出现。

PS;表格加载时我没有执行任何操作。只是尝试加载初始表单。

2 个答案:

答案 0 :(得分:1)

尝试DoubleBuffered属性以避免闪烁。您必须从TableLayoutPanel创建一个子类,以将DoubleBuffered属性设置为true。

答案 1 :(得分:1)

以下是Tor建议的完整答案。

public static void SetDoubleBuffered(System.Windows.Forms.Control c)
{

    if (System.Windows.Forms.SystemInformation.TerminalServerSession)
        return;

    System.Reflection.PropertyInfo aProp =
          typeof(System.Windows.Forms.Control).GetProperty(
                "DoubleBuffered",
                System.Reflection.BindingFlags.NonPublic |
                System.Reflection.BindingFlags.Instance);

    aProp.SetValue(c, true, null);
}

我从表单构造函数

调用了upperfunction
SetDoubleBuffered("tablayoutPanelName");