c# button mouseclick 窗体之间切换

是这样的,我想做一个很简单的程序,我现在有个主窗体,有个子窗体。我想做成,主窗体有个“进入”的button,这个button的mouseclick事件是进入到子窗体,而子窗体有个“返回”的button,这个button的mouseclick事件是返回主窗体。我是这样写的。我建了Form1和一个Form2,然后Form1放了一个button,这么写的:private void button1_MouseClick(object sender, MouseEventArgs e) { Form2 f2 = new Form2(); f2.Show(); }同理Form2里面也建了个button,这么写的。private void button1_MouseClick(object sender, MouseEventArgs e) { Form1 f1 = new Form1(); f1.Show(); }现在问题是,我点击主窗体的进入出来一个新的子窗体,我点击新的子窗体的返回出来一个新的主窗体,就是这两个按钮如果一直点击一直是出新的窗体,可我不想这样,我就想点击之后到子窗体,子窗体点击返回之后再回到主窗体。哪位大神可以帮帮我?也许我们能加QQ好好聊聊?
2026年09月23日 16:27
有2个网友回答
网友(1):

嗯,切换窗体,可以把当前窗体传递过去。。
企鹅多少,发hi里面

那我直接贴代码吧。

在Form2的构造函数里面能form1当做参数传递过去
Class Form2
private Form1 frmMain;
public Form2(Form1 frm1)
{
InitializeComponent();
frmMain=frm1;
}
private void button1_MouseClick(object sender, MouseEventArgs e)
{
frmMain.Show();
}

在From1里面就要这样写就可以了

private void button1_MouseClick(object sender, MouseEventArgs e) {
Form2 f2 = new Form2(this);//把当前窗体给传递过去
f2.Show();
}

手打的,具体情况你看看

网友(2):

btn1:
Form f2 = new Form2();
f2.show(this);
this.hide();

btn2:
this.Owner.Show();
this.Close();
你试试