我正在读一本Windows Forms书,我举了一个例子,对我来说很困惑。
这是两张图片,第一张是初始状态,第二张是用户单击“隐藏”按钮时的图片。 此表单包含两个拆分容器,一个水平容器,一个垂直容器,位于水平容器的右侧面板中。
这本书说:
对接设计的最大特点之一是它们可以轻松容纳隐藏 或修改后的控件。实施
此设计中,两个面板放置在 SplitContainer,一个名为pnlFileList,另一个名为pnlShow。 但是,一次仅显示这些面板之一。内容 窗口的其余部分会自动调整自身大小以适应 显示其他视图时
private void cmdHide_Click(object sender, System.EventArgs e)
{
splitContainer1.Panel1Collapsed = true;
pnlShow.Visible = true;
}
private void cmdShow_Click(object sender, System.EventArgs e)
{
pnlShow.Visible = false;
splitContainer1.Panel1Collapsed = false;
}
我做到了,但是问题出在SplitContainer的左面板合拢时出现的按钮。
我不知道将面板"pnlShow"
放在何处
如果将其放在水平SplitContainer控件的右侧,它也会消失。
有什么建议吗?
答案 0 :(得分:1)
这本书的引用对我来说似乎不准确。您无法将pnlShow
放置在SplitContainer的“左侧区域”内,因为一旦将Panel1Collapsed
属性设置为true,它将不会显示。
相反,您可以将pnlShow
放在SplitContainer的左侧,并将其Dock
属性设置为Left
。另外,在这种情况下,您似乎实际上不需要面板,因为它只包含一个按钮。您可以只使用一个按钮。无论如何,您的表单在设计时将如下所示:
然后,您的代码应该可以正常工作。
一些评论:
YourButtonName.Visible
而不是pnlShow.Visible
。CommandButton
。在.NET世界中,标准是使用“ btn”代替。最后,根据我在以上最后一点中提到的内容和问题中的屏幕快照的外观,这本书似乎已经过时了,并且是基于.NET框架的早期版本编写的,因此除非您必须专门研究这本书,否则我建议您找到更新的书或教程。