首页 文章

如何从另一个方法调用按钮单击事件

提问于
浏览
23

如何从其他方法调用 SubGraphButton_Click(object sender, RoutedEventArgs args)

private void SubGraphButton_Click(object sender, RoutedEventArgs args)
{
}

private void ChildNode_Click(object sender, RoutedEventArgs args)
{
   // call SubGraphButton-Click().
}

11 回答

  • 2
    private void PictureBox1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Click Succes");
    }
    
    private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == 13)
        {
            PictureBox1_Click(sender, e); //or try this one "this.PictureBox1_Click(sender, AcceptButton);"
        }
    }
    
  • 0

    你可以简单地称它为:

    SubGraphButton_Click(sender, args);
    

    现在,如果你的 SubGraphButton_Click 用args做了什么,你可能会遇到麻烦,但通常你不会对它们做任何事情 .

  • 0

    在WPF中,您可以通过以下方式轻松完成:

    this.button.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
    
  • 3

    将其添加到Click委托的实例中:

    ChildNode.Click += SubGraphButton_Click

    这是模式.NET事件跟随(Observer)的内容 .

  • 0

    对我来说这适用于WPF

    private void Window_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                RoutedEventArgs routedEventArgs = new RoutedEventArgs(ButtonBase.ClickEvent, Button_OK);
                Button_OK.RaiseEvent(routedEventArgs);
            }
        }
    
  • 2

    使用InvokeOnClick事件 . 即使按钮不可见/禁用,它也能正常工作

  • 50

    您可以执行不同的方法来解决此问题 . 最好的方法是,如果您的两个按钮都假设执行相同的工作,您可以定义第三个功能来完成工作 . 例如 :

    private void SubGraphButton_Click(object sender, RoutedEventArgs args)
    {
        myJob()  
    }
    
    private void ChildNode_Click(object sender, RoutedEventArgs args)
    {
        myJob()
    }
    
    private void myJob()
    {
        // Your code here
    }
    

    但如果你仍坚持按照自己的方式行事,最好的行动是:

    private void SubGraphButton_Click(object sender, RoutedEventArgs args)
    {
    }
    
    private void ChildNode_Click(object sender, RoutedEventArgs args)
    {
       SubGraphButton_Click.PerformClick();
    }
    
  • 4

    您可以通过简单地将参数传递给它来调用button_click事件:

    private void SubGraphButton_Click(object sender, RoutedEventArgs args)
    {
    }
    
    private void ChildNode_Click(object sender, RoutedEventArgs args)
    {
       SubGraphButton_Click(sender, args);
    }
    
  • 7

    您可以通过以下代码轻松完成此操作(假设您的按钮名称为btnButton):

    btnButton.PerformClick();
    
  • 39

    你可以通过传递来调用button_click事件..

    private void SubGraphButton_Click(object sender, RoutedEventArgs args)
    {
    }
    
    private void ChildNode_Click(object sender, RoutedEventArgs args)
    {
       SubGraphButton_Click(sender, args);
    }
    

    也没有通过..

    private void SubGraphButton_Click(object sender, EventArgs args)
    {
    }
    
    private void Some_Method() //this method is called
    {
       SubGraphButton_Click(new object(), new EventArgs());
    }
    
  • 14

    通常更好的方法是触发事件(单击)而不是直接调用方法 .

相关问题