C#.net 多窗体操作
发布网友
发布时间:2022-04-26 07:54
我来回答
共6个回答
热心网友
时间:2022-06-25 12:55
将Form的窗体对象放在成员变量中,相当于字段,但后在show()之前做一个判断,例如这样:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private Form2 form2;
private void button1_Click(object sender, EventArgs e)
{
if (form2 == null || form2.IsDisposed)
{
form2 = new Form2();
form2.Show();
}
}
}
这样就可以使窗体2不重复显示,至于窗体间传递数据则有很多方法,我说一个最简单的吧。
假如窗体1上有一个button1,窗体2上有一个textbox。点击button1的时候显示窗体2,并且在窗体2的textbox中显示button1的Name。只需在form2的构造函数中加入一个参数,这个参数就是form1对象。下面上代码:
public Form1()
{
InitializeComponent();
}
private Form2 form2;
private void button1_Click(object sender, EventArgs e)
{
if (form2 == null || form2.IsDisposed)
{
form2 = new Form2(this);
form2.Show();
}
}
public partial class Form2 : Form
{
public Form2(Form1 frm)
{
InitializeComponent();
this.textBox1.Text = frm.button1.Name;
}
}
ok了,楼主有什么不理解的可以问我q:800714286
热心网友
时间:2022-06-25 12:55
Form2 form2;
private void button1_Click(object sender,EventArgs e)
{
if(form2==null)
{
form2=new Form2();
form2.Text=this.Text;
form2.Show();
}
else
{
form2.Activate();
}
}
试试看
热心网友
时间:2022-06-25 12:56
Form2 form2;
private void button1_Click(object sender,EventArgs e)
{
if(form2==null)
{
form2=new Form2();
form2.Text=this.Text;
form2.Show();
}
else
{
form2.Activate();
}
}
热心网友
时间:2022-06-25 12:56
创造公共变量就可以了 把Me.Text保存到公共变量 Form2.Text再到公共变量里读取
热心网友
时间:2022-06-25 12:57
你得判断窗体是否创建了
热心网友
时间:2022-06-25 12:58
Form form2=new Form();
form2.Show();