1.from1在开始的时候就隐藏了,弹出了from2,from2的button1可以显示from1
2.from2的button2创建另一个窗体from3
3.在关闭from3的时候其实是将from3隐藏了而已。
4.再按buttuon2的时候显示from3.以上这个要求怎么弄阿?第一点我已经实现了,但是后面的就不行了。from1:load
this.Hide();
Form2 child = new Form2();
child.Show(this);from2:button1
this.Owner.Show();
this.Owner.WindowState = FormWindowState.Normal;
this.Owner.Focus();在线等各位高手
2.from2的button2创建另一个窗体from3
3.在关闭from3的时候其实是将from3隐藏了而已。
4.再按buttuon2的时候显示from3.以上这个要求怎么弄阿?第一点我已经实现了,但是后面的就不行了。from1:load
this.Hide();
Form2 child = new Form2();
child.Show(this);from2:button1
this.Owner.Show();
this.Owner.WindowState = FormWindowState.Normal;
this.Owner.Focus();在线等各位高手
button2的事件:
foreach (Form cForm in Application.OpenForms)
{
if (cForm.Name == 你的窗体名)
{
cForm.Activate();
cForm.WindowState = FormWindowState.Normal;
return;
}
}
新建窗体代码://end of 事件
构造函数
public void Form2(Form1 f1)
{
//默认构造函数中别的函数..... //保留form1引用
_f1 = f1;
}form1中:
new Form2(this).Show();
this.Hide();form2 buttonClick
_f1.Show();
if(f3.Visible == false)
{
f3.Visible = false;
}
或用EnumWindowsProc获取窗体实现显示
参考
public partial class Form2 : Form
{
Form3 frm;
int index=1;
public Form2()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
this.Owner.Show();
this.Owner.WindowState = FormWindowState.Normal;
this.Owner.Focus();
} private void button2_Click(object sender, EventArgs e)
{
if(index==1)
{
frm= new Form3();
index++;
}
else
{
frm.Show(this);
index=1;
}
}
}