两个窗体f1和f2:
当我点击f1上的“下一步”按钮时,显示f2并使f1不可见(我是:this.Hide();new一个f2,f2.ShowDialog(););
当我点击f2上的“上一步”按钮时,返回f1,并使f2不可见(这个时候应该怎么写?f2.Hide();f1.ShowDialog();???)。
f1是程序启动窗体,它是通过Application.Run(new Form1());来实例化的,所以我上面不知道该怎么写了!
当我点击f1上的“下一步”按钮时,显示f2并使f1不可见(我是:
当我点击f2上的“上一步”按钮时,返回f1,并使f2不可见(这个时候应该怎么写?
f1是程序启动窗体,它是通过
private void 上一步_Click(System.Object sender,
System.EventArgs e)
{
this.DialogResult = DialogResult.ok;
}f1中
private void 下一步_Click(System.Object sender,
System.EventArgs e)
{
f1.Hide();
f2 f2 = new f2();
if(f2.ShowDialog() == DialogResult.OK)
{
f1.visible = true;
}
}
我应该怎么写?把原来的实例化删除,再在别的地方重新实例化?
既然用了模式对话框,就用button事件实现即可
你已经把f1隐藏了,只要关闭模式对话框的时候判断是否单击了上一步按钮
如果是现实即可
//f1中
private void 上一步_Click(object sender, EventArgs e)
{
this.Hide();
Form2 f2 = new Form2(this);
f2.Show();
}
//f2中
Form1 f1;
public Form2(Form1 f)
{
f1 = f;
InitializeComponent();
}
private void 上一步_Click(object sender, EventArgs e)
{
this.Hide();
f1.Show();
}
两个窗口类form1和form2,program.cs里面Application.Run(new Form1());,启动窗口为form1的一个实例,无名字,该窗口中有一按钮“下一步”。当点击“下一步”时,
this.Hide();form2 f2=new form2();f2.ShowDialog();(此时转到窗口f2)。
窗口f2上有一个按钮“上一步”,点击“上一步”按钮时,讲f2隐藏掉,而将最开始的那个无名字的窗口显示出来,应该怎么写呢?
如果想这样写的话:this.Hide();可以将f2隐藏掉,那怎么将前面那个窗口显示出来呢?前面那个窗口无名字啊!
谢谢各位大侠!
Form2 f2;
private void 下一步_Click(object sender, EventArgs e)
{
this.Hide();
if (f2 == null || f2.IsDisposed)
{
f2 = new Form2(this);
f2.ShowDialog();
}
else
{
f2.ShowDialog();
f2.Activate();
}
}
//f2中
Form1 f1;
public Form2(Form1 f)
{
f1 = f;
InitializeComponent();
}
private void 上一步_Click(object sender, EventArgs e)
{
this.Hide();
if (f1 != null)
{
f1.Show();
}
}如果写到这样你还不知道怎么用,我也无话可说,自己找本基础的书去看吧
给你代码你写在button事件里面自己看看好不好?