单击按钮更改另一种forms的文本

我一直在尝试通过单击Form2中的按钮(form2中的button1是“STARTA”)来更改Form1中文本框的文本,现在可能花了2个小时(我是编程新手!)。 我一直在寻找类似的问题,并找到了一堆,但即使尝试了很多,我也无法让它工作。

Form1的[设计]

在此处输入图像描述

窗体2 [设计]

在此处输入图像描述

我现在正在尝试的方法是我在这里找到的

在Form1中我写了这个:

public string STARTTID { get { return this.textBox3.Text; } set { this.textBox3.Text = value; } } 

我知道获取并设置一个空文本框没有多大意义,但我已经尝试了许多不同的解决方案,我认为应该可以使用,但是当我点击按钮时,textBox的文本不会改变! 在form2中,当点击button1时,我写道:

 string TIDEN = DateTime.Now.ToString("HH:mm:ss tt"); Form1 first = new Form1(); first.STARTTID = TIDEN; 

我想要做的是,我希望form1中textBox3中的文本更改为按下form2中的button1时的当前时间。

对不起,如果这篇文章有点乱,那是我的第一篇,英语不是我最强的语言。

问题是你在那个上创建新的Form1并更新标签,而不是在你的初始forms

  Form1 first = new Form1(); first.STARTTID = TIDEN; 

您不需要创建新表单,因为您已经创建了它。 当你使用接受Form作为参数的构造函数创建Form2时,你可以做的是解析Form1到Form2。 或者在Form2中为Form1创建属性,并在创建Form2时设置该属性。

Form1中

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

窗体2

 public partial class Form2 : Form { private Form1 form1; public Form2(Form1 form1) { InitializeComponent(); this.form1 = form1; } private void button1_Click(object sender, EventArgs e) { form1.STARTTID = "set by form2"; } }