我正在编写一个只能打开3个表单的Windows应用程序(C#)。 当我单击form1的按钮时,form2将打开但只打开一次。
我不知道为什么会这样。
你能帮帮我吗?
谢谢!
这是我的form1代码:
public partial class Form1 : Form
{
bool form2Opend = false;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (!form2Opend)
{
Form2 f2 = new Form2(this);
f2.Show();
form2Opend = true;
string data = this.textBox1.Text;
f2.TextInTextBox(data);
}
}
public void TextInTextBox(string text)
{
this.textBox1.Text = tekst;
}
public void putStatusToOff()
{
this.form2Opend = false;
}
}
这是我在form2中的代码
public partial class Form2 : Form
{
private Form1 f1;
public Form2(Form1 giveToForm)
{
f1 = giveToForm;
InitializeComponent();
}
public void TextInTextBox(string tekst)
{
this.textBox1.Text = text;
}
private void button1_Click(object sender, EventArgs e)
{
string dataFromForm2 = this.textBox1.Text;
f1.TextInTextBox(dataFromForm2);
f1.putStatusToOff();
this.Close();
}
}
答案 0 :(得分:0)
在button1_Click
方法中,检查状态变量form2Opend
,只有在此变量设置为false
时才打开表单。如果您需要Form2
的多个实例,则必须删除该检查:
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
f2.Show();
string data = this.textBox1.Text;
f2.TextInTextBox(data);
}