将数据传递到单独的表单中

时间:2013-08-01 15:14:20

标签: c# winforms

我有一个按钮,按下时当前正在向消息框输出消息。它不是很整洁所以我创建了一个新表单并在其中放置了一个文本框。当第二个表单获取数据时,它会将其呈现在另一个消息框中,而不是像预期的那样呈现文本框。感谢帮助。

窗体2

 public Form2(string strTextBox)
    {
        InitializeComponent();
        textBox1.Text = strTextBox;
    }

表格1

 private void SaveButton_Click(object sender, EventArgs e)
 {
            foreach (string error in errorSet)
            {
                Form2 frm = new Form2(error);
                frm.Show();

            }
 }

如果它看起来有点奇怪,那么button_click中还有一些逻辑,但它对我遇到的问题来说非常多余。

谢谢

1 个答案:

答案 0 :(得分:1)

你应该遍历你的错误集合并将它们存储在StringBuilder中,然后在循环外只显示一次Form2(如果至少有一个错误)。

不要忘记让你的文本框 MultiLine = true ,给它足够的高度和垂直滚动条。

private void SaveButton_Click(object sender, EventArgs e)
{
     StringBuilder sb = new StringBuilder();
     foreach (string error in errorSet)
        sb.AppendLine(error);

    if(sb.Lenght> 0)
    {
        Form2 frm = new Form2(sb.ToString());
        frm.Show();
    } 
}