实现“click-here-to-expand”容器

时间:2013-02-13 14:52:40

标签: c# .net dialog containers

我没有更好的方法来解释它,但我想实现一个只在用户点击“高级”或对话框中的某个加号后显示的容器。我有一个登录表单,想要添加一些“高级”设置。但它们通常应该是不可见的。

当然,对话框必须很好地调整大小以保存扩展内容。

我应该如何实施这样的事情。我尝试了一些谷歌搜索,但找不到合适的搜索词。 Windows默认情况下似乎没有它。

1 个答案:

答案 0 :(得分:3)

正如John Willemse所说,我最终自己创建了这个功能。我在表单中添加了Panel,我只是设置了可见或不可见。

在Form的构造函数中(在第一个视图中隐藏它):

    public FrmLogin() {
        InitializeComponent();

        pnlAdvanced.Visible = false;
        Height -= pnlAdvanced.Height;
    }

然后,我在LinkLabel处理程序中添加了Clicked

   private void linkLabel1_LinkClicked(object sender, 
                            LinkLabelLinkClickedEventArgs e) {
        if (pnlAdvanced.Visible == false) {
            Height += pnlAdvanced.Height;
            pnlAdvanced.Visible = true;
        } else {
            Height -= pnlAdvanced.Height;
            pnlAdvanced.Visible = false;
        }
    }

完美无缺,无需额外代码。