使用C#我想将文本发送到另一个表单的文本框

时间:2014-03-04 22:04:15

标签: c# forms

我对C#很新,所以请放轻松我。

我有form1作为主要表单,另一种形式称为“debug”。调试表单有两个文本框dbgBox1dbgBox2。我想要做的是,当debug.Visible == true时,从form1更新文本框。我不希望这只发生在按钮点击等。 例如,更新form1上的文本框很容易(通过textbox1.Text =“”;)我如何做类似的事情,但更新调试表单中的文本框?

This thread似乎很接近,但并不能解释为足以让我理解。

2 个答案:

答案 0 :(得分:1)

如果您是自己从表单中实例化第二个表单,可以通过引用更新它,如下所示:

formDebug fd = new formDebug();
fd.Show(this);

fd.dbgBox1.Text = "Box 1 Text";
fd.dbgBox2.Text = "Box 2 Text";

fd.Update();

答案 1 :(得分:0)

实现一种在外部更改表单状态的方法是一种很好的做法,因此您的表单将更少耦合。直接访问另一个表单的属性通常不是一个好主意,包括主表单。

public partial class debug : Form
{
    public debug()
    {
        InitializeComponent();
    }

    public void setdbgBox1Text(string text)
    {
        dbgBox1.Text = text;
    }

}

然后你可以使用:

    debug deb = new debug();
    deb.Show();
    deb.setdbgBox1Text("aaa");