如何将form2中的文本框值传递给c#中的form1

时间:2012-11-10 20:33:38

标签: c# winforms

大家好我是c#的新手,使用visual c#2010,我正在努力学习基础知识。

我创建了两个表单(Form1和Form2)

每个表单都有一个文本框和一个按钮

我的实验(form1到form2)如下:

我已经声明了一个字符串

公共字符串deneme; 我将两个文本框都公开,然后在表单1按钮中写下以下内容:

deneme= textbox1.text;
Form2 frm2 = new Form2();
form2.show();

form2.textbox1.text= deneme;

当我这样做时它工作,我在form2文本框上看到我的输入。 我想做的是; 按下form1上的按钮并打开form2,然后在文本框上写一些内容并在form1文本框中显示该输入,我使用相同的方法,但它什么也没有返回..我做错了什么?

我很抱歉我的英语不好

5 个答案:

答案 0 :(得分:1)

简单的方法是Form2的属性

您可以向form2添加属性

public string Result{get;set;}

并在外部代码中查看

form1.textbox1.text= form2.Result;

答案 1 :(得分:0)

deneme= textbox1.text;
Form2 frm2 = new Form2(dename);
form2.show();
  

在form2中,在Initialize方法中执行此操作:

Initialize(string name)    
{
        form2.textbox1.text= name;
}

答案 2 :(得分:0)

检查这些不只是传递给另一个表单的单个值,而且还来回处理传递值并挂钩事件...不是高级的东西,但也有一些逐步的样本

Prior posting here

答案 3 :(得分:0)

大家好,我已经解决了我的问题,这就是我所做的!

在第二种形式中,我写了以下代码

Form1 mymainform;

public Form2(Form1 m)
{
    InitializeComponent();
    afrm1 = m;
}

然后在按钮单击中编写以下内容

mymainform.Textboxnameinform1.text = textboxnameinform2.text;    
this.close();

并在Form1中,我有按钮来调用form2,我写了以下代码

Form2 frm2 = new Form2(this);    
frm2.Show();

如果有人遇到同样的困难并且无法弄明白,请不要犹豫与我联系如果我能帮助你我会很高兴

答案 4 :(得分:0)

 //this code worked for me
 //in form2 put following code prevent form from opening multiple times  
 public partial class Form2 : Form
    {
        public Form2()
        {
             InitializeComponent();
        }
        private static Form2 Instance;
        public static Form2 GetInstance()
            {
               if (Instance ==null || Instance.IsDisposed)
                {  
                    Instance = new Form2();
            }
            else
             {
                Instance.BringToFront();
            }
                 return Instance;
         }

 // in form1

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


         private void Button2_Click(object sender, EventArgs e)
         {
            Form2 form2 = Form2.GetInstance();
            form2.textBox1.Text = textBox1.Text;
            form2.Show();
        }
    }