C# 如何知道在form1中单击按钮的时间,但在form2 C中知道#
C#。你好我有两个表单=>Form1和一个按钮以及Form2。我想知道如何处理Form1中Form2按钮的事件。因此,当我在form2中单击时,我想知道在form1中做些什么,form1可以订阅form2的事件。您需要在Form1中的Form2上有一个句柄,但您只需编写:C# 如何知道在form1中单击按钮的时间,但在form2 C中知道#,c#,event-handling,C#,Event Handling,C#。你好我有两个表单=>Form1和一个按钮以及Form2。我想知道如何处理Form1中Form2按钮的事件。因此,当我在form2中单击时,我想知道在form1中做些什么,form1可以订阅form2的事件。您需要在Form1中的Form2上有一个句柄,但您只需编写: instanceOfForm2.Button.Click += handlerInForm1; Form1需要引用Form2。然后,您只需将Form1中的事件处理程序连接到Form2中的按钮 // code in form1
instanceOfForm2.Button.Click += handlerInForm1;
Form1需要引用Form2。然后,您只需将Form1中的事件处理程序连接到Form2中的按钮
// code in form1 might look something like
public void SubscribeToEvents()
{
// get Form2 reference
var form2 = GetForm2Reference();
form2.Button.Click += ButtonOnForm2EventHandler;
}
public void ButtonOnForm2EventHandler(object sender, EventHandlerArgs e)
{
// some code
}
如其他人所述,但未公开控制或查找参考资料(如果您已经拥有): 在form2中,创建一个发送其他订阅方法的方法按钮,单击:
public void SubscribeToButton(EventHandler eh) {
button1.Click += eh;
}
在表格1中,订阅表格2:
form2.SubscribeToButton(this.f2_button_Click);
并在其中包含一个方法,该方法将在单击时执行
private void f2_button_Click(object sender, EventArgs e) {
}
事实上,我写的顺序是错误的,所以请威胁form1为form2,反之亦然。您使用的是Webforms还是MVC?