我有2个表单.. form1和form2 ..我在form1上有button1加载form2但是每次我点击button1它都会加载form2的新实例
我希望button1在它打开时带到前面的form2,如果它被最小化则恢复它
答案 0 :(得分:2)
这应该有用(虽然没有经过测试)
public static bool _Invoked;
Form2 f2 = new Form2();
private void button1_Click(object sender, EventArgs e)
{
if (!_Invoked)
{
_Invoked = true;
f2.Show();
}
else if (_Invoked)
{
f2.BringToFront();
_Invoked = false;
}
}
添加评论以进一步澄清
修改强>
刚试过这个及其工作
Form2 f2 = new Form2();
bool _Clickone = false;
private void button1_Click(object sender, EventArgs e)
{
if (!_Clickone)
{
_Clickone = true;
f2.Show();
}
else
{
f2.WindowState = FormWindowState.Normal;
f2.ShowInTaskbar = true;
f2.BringToFront();
}
}
然后为m
处理第二个的Form Closing事件 private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;
}
答案 1 :(得分:0)
您可以通过在form2中创建onClose事件来取消关闭,并将可见性设置为隐藏。
然后,不再创建新实例,而是将可见性再次设置为可见。