在窗体A的按钮事件中添加代码:
FormB frm = new FormB();
if(frm.ShowDiaLog()==DialogResult.OK)
{
}
这时窗体A隐藏,显示窗体B,并根据窗体B的返回值来决定下一步的操作。
using System;
using System.Windows.Forms;
namespace 图像处理
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
f2.SetVisible(this);
this.Visible = false;
}
}
}
using System.Windows.Forms;
namespace 图像处理
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private Form1 f1;
public void SetVisible(Form1 f)
{
f1 = f;
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
this.Visible = false;
f1.Visible = true;
}
}
}
在A的按钮点击事件中写上
form b=new form();
this.hide();//隐藏A
b.showdialog();//此时A窗体代码将被挂起.
this.show();//在b被关闭或返回值后将执行此代码,显示A
窗体不也是对像吗?
A窗体里面写个public 方法,可以控制该窗体的 visible 属性。
A 的按钮click时,隐藏自己,创建B窗体,B退出时,调用自己的owenr的 那个Public方法,显示A窗体。
A 按钮的click事件里
FrmA.Hide()
FrmB frmB_Instance = new FrmB();
frmB_Instance.ShowDialog();
FrmA.Show();
把窗体A传到窗体B里试试