C#splitContainer1调整子控件的大小

时间:2017-05-29 15:28:36

标签: c# winforms splitcontainer

我有一个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 个答案:

答案 0 :(得分:1)

  1. 表单应该是顶级控件,表示应用程序的窗口。您不应将表单作为控件嵌入其他表单中(除非没有其他选项)。
  2. 通常,您不应手动调整大小和/或移动控件。有多种布局选项可以在容器大小发生变化时自动调整控件大小:AnchorDock
  3. 最好创建一个 UserControl ,其中包含StatictisTableDisplayForm的控件和逻辑,并将其放置在SplitContainer面板中,Dock设置为Fill。当您移动拆分器时,这将自动调整用户控制的大小。

    注意:如果您还必须使用StatictisTableDisplayForm,那么只需将相同的用户控件放在此表单上即可。