在我的应用程序中,我真的需要放置很多控件(标签,文本框,domainupdown).所以我继续使用了一些嵌套TableLayoutPanel.现在的问题是,这种形式对大多数事件响应非常缓慢(调整大小,最大化,最小化和......)表格中的控件实际需要花费5秒才能调整大小,重新绘制到新的表单大小.
我现在把手指放在眼睛里!如果这个表格在我的家用电脑上很慢(i7 @ 4GHz和一张好的显卡)它会在旧的P4电脑上运行吗?
我甚至尝试使用下面的代码,但它绝对没有任何东西,如果它不会减慢它的速度!
private void FilterForm_ResizeBegin(object sender, EventArgs e)
{
    foreach(TableLayoutPanel tlp in panelFilters.Controls)
    {
        if(tlp != null)
        {
            tlp.SuspendLayout();
        }
    }
}
private void FilterForm_ResizeEnd(object sender, EventArgs e)
{
    foreach (TableLayoutPanel tlp in panelFilters.Controls)
    {
        if (tlp != null)
        {
            tlp.ResumeLayout();
        }
    }
}
请告诉我是否有一个技巧可以让tablelayoutpanel更快地工作......或者如果你知道一个更好的方法来放置大约数百个很好地对齐的控件.
我有一个 TableLayoutPanel,它在 SplitterPanel 内保存动态数量的控件。用户可能希望调整面板大小以适合这些控件,以避免使用滚动条。这会在容器大小调整以及容器内的控件上产生抖动。有时,在调整大小期间,父容器会明显滞后于鼠标的移动(最多 3 秒的滞后)。
有什么方法可以防止在父容器调整大小期间重新绘制控件,例如在调整大小期间隐藏所有元素或停止在 mousedrag 期间发生的调整大小事件,仅在 onMouseUp 事件上触发?
我有一些 TableLayoutPanel,其中第一个“层”有 1 列和 10 行,其中一些行包含 UserControl 或另一个具有 2 或 3 列和一些行的 TableLayoutPanel。其中一两个包含另一个 TableLayoutPanel,仅此而已。所以这是嵌套 TableLayoutPanel 的最多 3 个“级别”。其中大部分设置为自动调整大小,因为某些用户控件可能会更改其大小。当表单包含这样一个嵌套的 TableLayoutPanel 时,UserControls“闪烁”,看起来它们加载非常缓慢。