2012-03-20 96 views
2

我有一个关于我在C#实现中遇到的问题的问题。我想“隐藏”我的面板的一部分,如果用户检查复选框(或类似的东西),应该显示面板的这个隐藏部分。隐藏部分面板C#

我想要的是类似于Windows中用于这类事情的东西。就像您在“我的电脑”时一样,您可以在左侧面板中看到多个选项,而一个小“三角形”表示还有更多要显示的内容。

我所拥有的就像是用户检查复选框时显示的10-15个文本框。我的第一个想法是要我的面板的静态大小,只是隐藏文本框,但因为这将看起来相当愚蠢与我下面的空白空间很多dississed这一点。

我想要减小尺寸,但这是最有效的方法还是有更聪明的方式做这样的事情?

谢谢大家!

+0

请将winforms标签添加到您的文章或指定您正在使用的平台。 – 2012-03-20 22:05:24

+0

记得接受一个答案,以便将来的计算器用户可以使用这个问题作为指导:) – 2012-03-21 00:05:04

回答

3

您可能想要一个嵌套面板,其中包含您要隐藏的控件。当出现希望隐藏/显示它们的情况时,只需更改嵌套面板的可见性即可。根据您的表单布局方式,您也可以在执行此操作时手动更改外部面板的大小。

+0

我喜欢你的建议,我会尝试这样的事情,希望我已经正确地理解你.. – erikduvet 2012-03-20 22:28:47

+0

请标记它,如果它回答你的问题。 – 2012-03-21 14:47:27

0

你需要像

if (checkBox1.Checked == true) 
{ 
    panel1.Visible = true; 
} 

地方单击该复选框时的方法这里面的代码创建的。

+1

不会'panel1.Visible = checkBox1.Checked;'更简单吗? – Bernard 2012-03-20 22:09:53

+0

针对简单明了的代码,一行代码看起来更简单,但更难理解 – 2012-03-20 22:11:16

+0

你是说我应该把我的面板分成两份呢?我只想隐藏我的面板的一部分,它应该像一个DropDownList一样,但不litterly .. – erikduvet 2012-03-20 22:26:44