1

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

在此处输入图像描述

当我加载此表单时,它花费了太长时间(而且还会闪烁)。

我试过:我选择 CellBorderStyle 作为“无”,所以那一刻我没有观察到这个问题,但是当我选择除“无”之外的任何 cellBorder 样式时,它就会出现。

附言; 表单加载时我没有执行任何操作。只是试图加载初始表单。

4

2 回答 2

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");
于 2017-10-30T07:39:48.753 回答
1

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

于 2017-10-27T08:47:03.617 回答