从按钮单击调用方法没有兼容的签名

时间:2017-02-22 16:54:18

标签: wpf vb.net button

我得到了一个" ...没有与代表兼容的签名......"尝试将参数传递给方法时出现错误消息。有人可以告诉我我做错了什么吗?

Private Sub btnSubmit_Click(sender As Object, e As RoutedEventArgs) Handles btnSubmit.Click

    Step6Click("btnSubmit")

End Sub


Private Sub Step6Click(whereFrom As String)

最初,没有标记错误,但是在构建应用程序时,会发生错误。

我改变了(" btnSubmit")到(" xxx")认为与传递" btnSubmit"有一些冲突。当有一个名为相同的按钮时。仍然得到错误。

如果我一起取出参数,那么就不会发生错误,但我需要在Step6中知道调用的来源。

我可以通过创建名为" whereFrom"的属性或变量来绕过错误。但是,我想了解为什么这是一个错误。

完整的错误消息:

  

错误33方法'私有子Step6Click(whereFrom As String)'没有与代表兼容的签名   '委托Sub RoutedEventHandler(sender As Object,e As System.Windows.RoutedEventArgs)'。

感谢。

1 个答案:

答案 0 :(得分:0)

如果Step6Click事件处理程序,您尝试连接XAML标记中Button的Click事件,则它应具有以下签名或根本没有参数:

Private Sub Step6Click(sender As Object, e As RoutedEventArgs)

End Sub

您可以创建另一个从两个事件处理程序调用的方法,即只创建另一个具有不同名称的方法,例如:

Private Sub btnSubmit_Click(sender As Object, e As RoutedEventArgs) Handles btnSubmit.Click
    Step6ClickMethod("btnSubmit")
End Sub

Private Sub Step6Click(sender As Object, e As RoutedEventArgs)
    Step6ClickMethod("btnSubmit")
End Sub

Private Sub Step6ClickMethod(ByVal whereFrom As String)

End Sub