C# 如果form1中的值在form2已加载时发生更改,我将尝试刷新form2中的数据

C# 如果form1中的值在form2已加载时发生更改,我将尝试刷新form2中的数据,c#,C#,我有两个表格Form1和Form2,我在Form2中显示了Form1中的详细信息。如果Form1中的值在Form2已加载时发生更改,我将尝试刷新Form2中的数据。我已在Form2Form\u Load()事件中显示了详细信息 谁能帮我做这件事 提前感谢。将逻辑从onload事件移动到public函数,并从onload事件和form1调用它 处理Form1中控件的“更改”事件 在Form1中创建自定义事件(用于数据更改)并从控件的“已更改”事件处理程序触发这些自定义事件 在Form2中处理For

我有两个表格
Form1
Form2
,我在
Form2
中显示了
Form1
中的详细信息。如果
Form1
中的值在
Form2
已加载时发生更改,我将尝试刷新
Form2
中的数据。我已在
Form2
Form\u Load()
事件中显示了详细信息

谁能帮我做这件事


提前感谢。

将逻辑从onload事件移动到public函数,并从onload事件和form1调用它

  • 处理Form1中控件的“更改”事件

  • 在Form1中创建自定义事件(用于数据更改)并从控件的“已更改”事件处理程序触发这些自定义事件

  • 在Form2中处理Form1的这些自定义事件,并相应地更新Form2控件


  • 我很确定这会导致异常,除非他确定要执行控件。调用,我假设第二个表单以线程安全的方式显示,否则如果Form2已启动,则无法修改Form1。您可以创建Form1的自定义事件,并且您可能知道Form1何时更改,如果它被更改,则在假定Form2中的控件是公共的(那些包含来自Form1的数据的控件)的情况下,刷新@Form2中的数据。或者,您可以设置一个后台工作人员,检查是否在Form1中进行了更改,然后继续填充。