如何知道在form1中单击按钮的时间,但在form2 C#中知道

时间:2011-04-30 14:12:24

标签: c# event-handling

C#。你好......我有2个表格=> Form1带有一个按钮和Form2。我想知道如何处理Form1中Form2按钮的事件。因此,当我在form2中单击时,我想知道在form1中做某事

3 个答案:

答案 0 :(得分:0)

Form1可以订阅Form2的事件。你需要在Form1中使用Form2,但是你可以简单地写:

instanceOfForm2.Button.Click += handlerInForm1;

答案 1 :(得分:0)

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
}

答案 2 :(得分:0)

正如其他人所说,但如果您已经拥有它们,则无需公开控制或查找参考文献:

在form2中创建一个方法来发送其他方法来订阅按钮点击:

   public void SubscribeToButton(EventHandler eh) {
       button1.Click += eh;
   }
form1中的

订阅form2:

   form2.SubscribeToButton(this.f2_button_Click);

并在其中有一个将在点击

上执行的方法
   private void f2_button_Click(object sender, EventArgs e) {
   }

我实际上写错了订单,所以请将form1作为form2威胁,反之亦然。