如何将文本值传递到另一个表单上的文本框?

时间:2011-03-23 15:28:45

标签: c#

我试图将单个文本框的值传递到另一个表单上的另一个文本框中。

在表格1中,我有以下代码:

private SecondForm secondForm;
public void SecondFormTextBox()
{
    uname.Text = secondForm.uname.Text;
}

在表格2中,我有以下代码。

public TextBox uname
{
    get
    {
        return uname;
    }
}

我收到以下错误,希望你能帮忙!!

  

需要对象引用   非静态字段,方法或   属性   'WindowsFormsApplication1.AdministratorHome.uname.get'

     

之间的歧义   'WindowsFormsApplication1.AdministratorHome.uname'   和   'WindowsFormsApplication1.AdministratorHome.uname'

4 个答案:

答案 0 :(得分:4)

让我们举一个例子,将按钮按下的form1上的textBox中的值传递给表单2上的textBox。 代码:

//form1:
Form2 form2;

private void button1_Click()
{
   if(form2 == null)
   {
       form2 = new Form2();
       form2.Show(); 
   }
   form2.PassToForm2(textBox1.Text);
}

//form2:
private void PassToForm2(string msg)
{
   textBox1.Text = msg;
}

希望它有所帮助, 米蒂亚

答案 1 :(得分:1)

在上面的代码片段中,属性get引用自身;这是一个坏主意(tm)。如果你想获得文本值,你会得到某种类似的属性:

public string TextBoxText
{
   get { return myTextBox.Text; } // myTextBox is the symbol for your text box
}

然后另一个表单可以通过属性简单地访问该文本。接下来,在您的第一个代码段中,您尚未为第二个表单变量分配实例;它是空的。

答案 2 :(得分:0)

首先TextBox uname没有setter - 或者至少你还没有粘贴它。

其次,您是否将secondForm中的Form1属性设置为Form2的实例(例如在构造函数中)?

答案 3 :(得分:0)

从您提供的代码中,您看起来不像是在为secondForm创建实例。如果您这样做,请提供更多代码。