如何我要用c#编写这样一个界面,包含两个Form窗口,一个是主窗口,一个是次级窗口,
1.在主窗口中添加button控件,点击这个button控件,主窗口消失,出现次级窗口,
2.在次级窗口中同样有button控件,点击这个button控件,次级窗口关闭,回到主窗口!
请问各位大虾该如何解决?
1.在主窗口中添加button控件,点击这个button控件,主窗口消失,出现次级窗口,
2.在次级窗口中同样有button控件,点击这个button控件,次级窗口关闭,回到主窗口!
请问各位大虾该如何解决?
主窗口的按钮:btnToSubForm 子窗口的按钮:btnBackMainFrom主要就是用一个委托,一看就会了~~主窗口程序:
public partial class MainForm : Form
{
public delegate void backToMainForm(); public MainForm()
{
InitializeComponent();
} private void btnToSubForm_Click(object sender, EventArgs e)
{
SubForm childForm = new SubForm();
childForm.showMainForm += new backToMainForm(show);
childForm.Show();
this.WindowState = FormWindowState.Minimized;
} private void show()
{
this.WindowState = FormWindowState.Normal;
}
}子窗口程序:
public partial class SubForm : Form
{
public event MainForm.backToMainForm showMainForm; public SubForm()
{
InitializeComponent();
} private void btnBackMainFrom_Click(object sender, EventArgs e)
{
this.Close();
showMainForm();
}
private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2=new Form2();
f2.Show();
this.Hide();
}
//次窗口代码如下
private void button1_Click(object sender, System.EventArgs e)
{
Form1 f1=new Form1();
f1.Show();
this.Hide();
}
//主窗口
private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2=new Form2();
f2.Show();
this.Hide();
}
//副窗口
private void button1_Click(object sender, System.EventArgs e)
{
Form1 f1=new Form1();
f1.Show();
this.Close();
}
private void button1_Click(object sender, System.EventArgs e)
{
Form1 f1=new Form1();
f1.Show();
this.Hide();
}
这样会重复定义多个窗体 ,用Application.OpenFomrs["f2"].show();
ChildForm cld = new ChildForm();
private void button1_Click(object sender, System.EventArgs e)
{
cld.MainForm=this;
cld.Show();
this.Hide();
} //次窗口
public MainForm mainForm = null;
private void button1_Click(object sender, System.EventArgs e)
{
if(mainForm!=null)
mainForm.Show();
this.Hide();
}
static void Main()
{
f1 = new Form1();
Application.Run(f1);
}
Form1中写Form2 f2 = new Form2();
f2.Show();
this.Hide();Form2 中写this.Close();
Form1.f1.show();总之有N多种方法可以实现的