如何在 C# 中执行由按钮控制的并排窗体
本文关键字:控制 窗体 按钮 执行 | 更新日期: 2023-09-27 18:35:17
我必须创建一个表格,其中包含 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
实例,并在按钮单击事件之外设置其位置一次,然后显示/隐藏相同的 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();
}
}