1

大家好,我是 c# 新手,使用 Visual c# 2010,我正在尝试学习基础知识。

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

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

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

我已经声明了一个字符串

公共字符串定名;我公开了两个文本框,并在表单 1 按钮中写下以下内容:

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

form2.textbox1.text= deneme;

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

我很抱歉我的英语不好

4

5 回答 5

1

简单的方法是 Form2 的一个属性

您可以将属性添加到 form2

public string Result{get;set;}

并在外部代码中检查

form1.textbox1.text= form2.Result;
于 2012-11-10T20:45:08.993 回答
0
deneme= textbox1.text;
Form2 frm2 = new Form2(dename);
form2.show();

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

Initialize(string name)    
{
        form2.textbox1.text= name;
}
于 2012-11-11T11:10:03.897 回答
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();

如果有人遇到同样的困难并且无法解决,请随时与我联系,如果我能帮助你,我会很高兴

于 2012-11-15T11:03:38.660 回答
0

检查这些不仅仅是传递给另一个表单的单个值,还可以处理来回传递值以及挂钩事件......不是高级的东西,但也有一些分步示例

之前在这里发帖

于 2012-11-11T14:23:36.893 回答
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();
        }
    }
于 2020-05-17T08:31:36.950 回答