实现“;单击此处展开“;容器

本文关键字:容器 单击 实现 | 更新日期: 2023-09-27 17:59:17

我没有更好的方法来解释它,但我想实现一个只有在用户单击对话框中的"高级"或加号后才会显示的容器。我有一个登录表单,想添加一些"高级"设置。但它们通常不在视线范围内。

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

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

实现“;单击此处展开“;容器

正如John Willemse所建议的那样,我最终自己创建了该功能。我以刚刚设置为可见或不可见的形式添加了一个Panel

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

    public FrmLogin() {
        InitializeComponent();
        pnlAdvanced.Visible = false;
        Height -= pnlAdvanced.Height;
    }

然后,我用这个Clicked处理程序添加了一个LinkLabel

   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;
        }
    }

工作非常完美,不需要额外的代码。