如何在c#中将文本框的值从一个表单传递到另一个表单

时间:2015-12-12 09:21:52

标签: c# winforms c#-4.0

我创建了2个表单(form1和form2)。在form1中,按f5功能键,它将显示表单2.然后我想将值传递给form1,只需在按钮点击时关闭form2。

Form1代码

public string fo            
{
    get { return txtCusID.Text; }
    set { txtCusID.Text = value; }
}

表单2代码

public partial class SearchForm : Form  
{   
   PawningForm f2 =new PawningForm();

   private void button1_Click_1(object sender, EventArgs e)
   {
       lblTest.Text = row.Cells[0].Value.ToString();
       f2.fo = lblTest.Text;
       f2.Show();
   }
}

但是当我点击from2上的按钮时,它会创建两次form1,因为“f2.Show();”和现有的形式1。但我想将值传递给现有的form1。

1 个答案:

答案 0 :(得分:0)

当您从调用表单(PawningForm)创建SearchForm的实例时,您可以传递调用表单的实例并将其保存在SearchForm的全局变量中,因此您可以使用这些行简单地更改代码。 / p>

表单1代码

SearchForm f = SearchForm(this);
f.ShowDialog();

表单2代码

public partial class SearchForm : Form
{
     PawningForm f2;
     public void SearchForm(PawningForm caller) 
     {
          f2 = caller;
          InitializeComponent();
     }
     private void button1_Click_1(object sender, EventArgs e)
     {
        lblTest.Text = row.Cells[0].Value.ToString();
        f2.fo = lblTest.Text;
     }

  }

现在,当您单击按钮时,变量f2表示的实例不是新实例,而是调用SearchForm实例的实例