两个窗体之间怎么互相操作 我有两个窗体 第一个窗体show出第二个窗体 同事第一个窗体隐藏 然后在第二个窗体怎么写代码能让第一个窗体显示 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我试过在窗体2里 new 窗体一然后 用这个对象执行visible=true 发现控制的不是原来的窗体1 而是 新的窗体一也就是说 如果用new的话好像就是3个窗体了 处理第一个窗体中的按钮事件Show第二个窗体并隐藏第一个窗体private void button1_Click(object sender, System.EventArgs e){ Form2 f = new Form2(); f.Tag = this; this.Hide(); f.Show();}处理第二个窗体中的按钮事件,关闭第二个窗体并显示第一个窗体private void button1_Click(object sender, System.EventArgs e){ Form1 f = (Form1)this.Tag; this.Close(); f.Show();} 确实好用~~能解释一下原理吗???Tag不就是一个字符串吗??也能返回Form? 通过事件来实现,给显示第二个窗口的地方添加如下代码: Form2 form = new Form2(); form.FormClosed += (obj, args) => this.Show(); form.Show(); this.Hide(); 创建两个窗体分别为Form1和Form2,各添加一个按钮,Form1按钮事件为: private void button1_Click(object sender, EventArgs e) { Form2 fm = new Form2(); fm.Show(); this.Hide(); }Form2按钮事件为: private void button1_Click(object sender, EventArgs e) { Form1 fm = new Form1(); fm.Show(); this.Hide(); }即可实现你的功能。 看这里http://topic.csdn.net/u/20070110/09/f5fc902d-6148-429d-bc81-78cfb00b2d59.html 这样做也行//Form1 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm2 = new Form2(this); frm2.Show(); this.Hide(); } }//Form2 public partial class Form2 : Form { Form1 frm1 = null; public Form2(Form1 fm) { InitializeComponent(); frm1 = fm; } private void button1_Click(object sender, EventArgs e) { this.Close(); frm1.Show(); } } 怎么养成很强大的OOP思想?新手求指教!! 请教C# Process启动CMD命令 关于RichTextBox控件,在线等! 再问一下很弱的问题! string.foramt("{{0}",字符串) ??? 谁执行的速度快! ? C# 扩展方法和继承 如何将一个进程杀死? 我朋友给了我一个.dll,但是我不知道怎么用 如何在两个不同的Form间传递参数? 求一个最简单的串口编程例子 GraphicsPath的问题
然后 用这个对象执行visible=true 发现控制的不是原来的窗体1 而是 新的窗体一也就是说 如果用new的话好像就是3个窗体了
{
Form2 f = new Form2();
f.Tag = this;
this.Hide();
f.Show();
}
处理第二个窗体中的按钮事件,关闭第二个窗体并显示第一个窗体private void button1_Click(object sender, System.EventArgs e)
{
Form1 f = (Form1)this.Tag;
this.Close();
f.Show();
}
Tag不就是一个字符串吗??也能返回Form?
form.FormClosed += (obj, args) => this.Show();
form.Show();
this.Hide();
private void button1_Click(object sender, EventArgs e)
{
Form2 fm = new Form2();
fm.Show();
this.Hide();
}
Form2按钮事件为:
private void button1_Click(object sender, EventArgs e)
{
Form1 fm = new Form1();
fm.Show();
this.Hide();
}
即可实现你的功能。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2(this);
frm2.Show();
this.Hide();
}
}//Form2
public partial class Form2 : Form
{
Form1 frm1 = null;
public Form2(Form1 fm)
{
InitializeComponent();
frm1 = fm;
} private void button1_Click(object sender, EventArgs e)
{
this.Close();
frm1.Show();
}
}