gpt4 book ai didi

c# - 在任务栏中最小化表单时将其置于最前面

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:13 26 4
gpt4 key购买 nike

有没有办法将已经最小化到 taksbar 的表单置于最前面?我尝试了以下代码但没有成功:

        filterForm.Show();
filterForm.Activate();
filterForm.BringToFront();

P.S:这个表单是从另一个表单调用的,用户在其中做一些事情然后可以最小化它。我只想一次打开此表单的一个实例,因此第二次用户单击按钮以显示我正在检查表单是否已显示的表单,如果显示,我希望它在前面:

public FilterForm filterForm;
public bool IsFilterFormActive;

private void tsOpenFilerForm_Click(object sender, EventArgs e)
{
if (!IsFilterFormActive)
{
filterForm = new FilterForm();
filterForm.FormClosing += delegate {
IsFilterFormActive = false;
};
IsFilterFormActive = true;
filterForm.Show();
}
else
{
filterForm.Show();
filterForm.Activate();
filterForm.BringToFront();
}
}

最佳答案

您正在泄漏表单实例,最好的办法是在关闭时将其设置回 null。然后你也不需要 bool 。像这样:

    FilterForm filterForm;

private void tsFilterForm_Click(object sender, EventArgs e) {
if (filterForm == null) {
filterForm = new FilterForm();
filterForm.FormClosed += delegate { filterForm = null; };
filterForm.Show();
}
else {
filterForm.WindowState = FormWindowState.Normal;
filterForm.Focus();
}
}

关于c# - 在任务栏中最小化表单时将其置于最前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8914726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com