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();
}
- Form 应该是代表应用程序 window 的顶级控件。您不应该将表单作为控件嵌入到其他表单中(好吧,除非没有其他选择)。
- 通常,您不应调整大小 and/or 手动移动控件。有几个布局选项允许在容器大小发生变化时自动调整控件的大小:
Anchor
、Dock
.
所以最好创建一个 UserControl,它将包含 StatictisTableDisplayForm
的控件和逻辑,并将其放置到 SplitContainer 面板,并将 Dock
设置为 Fill
.当您移动拆分器时,这将自动调整用户控件的大小。
注意:如果您也必须单独使用 StatictisTableDisplayForm
,则只需将相同的用户控件放置到此表单即可。
我有一个 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();
}
- Form 应该是代表应用程序 window 的顶级控件。您不应该将表单作为控件嵌入到其他表单中(好吧,除非没有其他选择)。
- 通常,您不应调整大小 and/or 手动移动控件。有几个布局选项允许在容器大小发生变化时自动调整控件的大小:
Anchor
、Dock
.
所以最好创建一个 UserControl,它将包含 StatictisTableDisplayForm
的控件和逻辑,并将其放置到 SplitContainer 面板,并将 Dock
设置为 Fill
.当您移动拆分器时,这将自动调整用户控件的大小。
注意:如果您也必须单独使用 StatictisTableDisplayForm
,则只需将相同的用户控件放置到此表单即可。