【发布时间】:2009-03-14 06:23:47
【问题描述】:
我想在拆分容器上隐藏 panel2 并让 panel1 使用该空间。我希望设置 Panel2Collapsed 可以解决问题,但没有运气。想法?
【问题讨论】:
-
将 Panel2Collapsed 设置为 true 时会发生什么? Panel2 是否保持可见?
我想在拆分容器上隐藏 panel2 并让 panel1 使用该空间。我希望设置 Panel2Collapsed 可以解决问题,但没有运气。想法?
【问题讨论】:
这在类似的情况下对我有用:
splitContainer1.Panel2Collapsed = true;
splitContainer1.Panel2.Hide();
我希望第二个面板在某些情况下根本不可见,所以我以这种方式实现了它。
【讨论】:
Splitter 控件存在这种问题,但我认为 SplitContainer 的全部目的是取消那些问题...
在表单设计器中将Panel2Collapsed 属性设置为true 并以编程方式两者都按您希望的方式工作(即Panel1 然后占据所有空间)......所以肯定有其他事情发生。
【讨论】:
this.splitContainerControl1.Panel2.Hide();
this.splitContainerControl1.Panel2.Height = 0;
this.splitContainerControl1.IsSplitterFixed = true;
这对我有用。
【讨论】:
splitContainer1.PanelVisibility = SplitPanelVisibility.Panel1
【讨论】:
在 Visual Studio 2017 中,这是一个小技巧。这就是我必须为我工作的。 MyControl 在 panel1 内。
'vb.net:
MySplitContainer.Panel2Collapsed = True
MySplitContainer.Panel2.Hide()
MySplitContainer.SplitterDistance = MySplitContainer.Height
MySplitContainer.Panel1.Anchor = AnchorStyles.Bottom
MyControl.Height = MySplitContainer.Height
'for C# just add a semi-colon onto the end of each line and it should work.
【讨论】:
尝试设置 panel2.Visible = false。
【讨论】: