C# splitContainer1 调整子控件的大小

C# splitContainer1 resize child control

我有一个 splitContainer。我想调整 splitContaner 面板内的表单大小,以便在我如下移动拆分器时进行缩放。但是我的表格没有被重绘。有什么建议,非常感谢!

    private void splitContainer1_SplitterMoved(System.Object sender, System.Windows.Forms.SplitterEventArgs e)
    {
        // Define what happens when the splitter is no longer moving.
        Cursor.Current = System.Windows.Forms.Cursors.Default;
        statictisTableDisplayForm1.ClientSize = new Size(statictisTableDisplayForm1.Width, splitContainer1.SplitterDistance);
        statictisTableDisplayForm1.Invalidate();
        statictisTableDisplayForm1.Refresh();
        Refresh();
    }
  1. Form 应该是代表应用程序 window 的顶级控件。您不应该将表单作为控件嵌入到其他表单中(好吧,除非没有其他选择)。
  2. 通常,您不应调整大小 and/or 手动移动控件。有几个布局选项允许在容器大小发生变化时自动调整控件的大小:AnchorDock.

所以最好创建一个 UserControl,它将包含 StatictisTableDisplayForm 的控件和逻辑,并将其放置到 SplitContainer 面板,并将 Dock 设置为 Fill.当您移动拆分器时,这将自动调整用户控件的大小。

注意:如果您也必须单独使用 StatictisTableDisplayForm,则只需将相同的用户控件放置到此表单即可。