我想获得表单1中的输入和form2中的输出,并且类似地输出在form2中并输出到fom1中。但是当我调试我的代码时,表单显示为空白。它没有显示任何文本框或按钮。我已经将form1作为父母 表格1代码
public partial class Form1 : Form
{
public static String s;
Form2 f2 = new Form2();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int i, n, sum = 0;
for (i = 1; i <= 5; i++)
{
f2.ShowDialog();
textBox1.Text = s + Environment.NewLine;
sum += Int32.Parse(s);
}
textBox1.Text+="sum="+sum;
}
}
}
表格2代码
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form1.s = textBox1.Text;
this.Close();
}
}
答案 0 :(得分:0)
这只是一个启动者 特别是设置f1的TextBox1有点不整洁。 在Form2中添加一个属性。
Public int Value {get {return Int32.Parse(TextBox1.Text); }
将button1设为OK按钮(将模态设置为mrkOK)
在Form1中摆脱s和f2
将按钮1单击处理程序更改为
private void button1_Click(object sender, EventArgs e)
{
int i, n, sum = 0;
for (i = 1; i <= 5; i++)
{
using(Form2 f2 = new Form2())
{
if (f2.ShowDialog() == DialogResult.OK)
{
if(String.IsNullOrEmpty(TextBox1.Text))
{
TextBox1.Text = f2.Value.ToString();
}
else
{
TextBox1.Text = String.Concat(TextBox1.Text,Environment.NewLine,f2.Value.ToString());
}
sum += f2.Value;
}
}
textBox1.Text = String.Format("{0}{1}sum={2}",TextBox1.Text, Environment.NewLine,sum);
}