我有2种形式.. Form 1和Form ..我在Form1上Button1的加载窗口2,但我每次单击button它加载的Form2新实例C#防止复制形式
我想Button1以带来正面窗口2如果它已打开并且在最小化时恢复它
我有2种形式.. Form 1和Form ..我在Form1上Button1的加载窗口2,但我每次单击button它加载的Form2新实例C#防止复制形式
我想Button1以带来正面窗口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的事件
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;
}
非常完美..谢谢Precious1tj –
很高兴我可以帮助 – 2013-07-21 19:43:13
有一个问题..当我点击button1加载form2通常,如果我再次点击它带来form2根据需要再次前面..但如果我完全关闭form2并再次单击button1它不会加载form2只是无所作为。 –
您可以通过在form2中创建onClose事件来完成此操作,您可以在其中取消关闭并将可见性设置为隐藏。
然后不再创建新实例,而是将可见性再次设置为可见。
你可以告诉我的代码做到这一点,如果你可以plz –
好,你有什么试过? –