繁体   English   中英

如何在C#中由按钮控制并排形式

[英]How to do a side by side form controlled by a button in C#

我必须在C#中创建一个包含可能的过滤器的表。

因此,我想使用一个在主窗体的“显示过滤器>”和“ <隐藏过滤器”之间切换的按钮以另一种形式显示过滤器。

我使用以下代码并排打开了主窗体的过滤器窗体:

var frmFilters = new FrmFilterSearch();
frmFilters.SetDesktopLocation(Location.X + Size.Width, Location.Y);

if (!Filters)
   {
        Filters = true;
        btn_show_filters.Text = "< Hide filters";
        frmFilters.Show();
   }
else
   {
        Filters = false;
        btn_show_filters.Text = "Show filters >";
        frmFilters.Hide();
   }

筛选器表单打开得非常好,并且按钮正在切换他的文本,但是我无法关闭(隐藏)筛选器表单。 如果我再次单击该按钮,它将打开一个新的过滤器表单。

我希望有人可以帮助我。

现在,每次单击按钮都将创建一个新的Form实例。

您将要创建FrmFilterSearch的实例,并在按钮click事件之外设置一次其位置,然后显示/隐藏相同的Form。 我建议使用构造函数:

FrmFilterSearch frmFilters = new FrmFilterSearch();

public YourConstructor()
{
    frmFilters.SetDesktopLocation(Location.X + Size.Width, Location.Y);
}

private void FilterButton_Click(object sender, EventArgs e)
{
    if (!Filters)
    {
        Filters = true;
        btn_show_filters.Text = "< Hide filters";
        frmFilters.Show();
    }
    else
    {
        Filters = false;
        btn_show_filters.Text = "Show filters >";
        frmFilters.Hide();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM