[英]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.