BC30455参数'发送者'未指定参数的

时间:2017-10-19 13:46:25

标签: vb.net

我的代码需要帮助

Public Class Forma
Private Sub ProjectToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ProjectToolStripMenuItem.Click
    If ProjectToolStripMenuItem_Click() Then
        Print(Form_load)
    End If
End Sub
Private Sub Form_load(FormB As Object)

End Sub


End Class

但我一直没有为参数'发件人'指定BC30455参数。的。我做错了什么

3 个答案:

答案 0 :(得分:1)

您的条件是要查看事件ProjectToolStripMenuItem_Click的结果(点击ProjectToolStripMenuItem的事件)。在此功能上,您不需要定义sendere参数。

您应该检查您的代码并解决问题:

Public Class Forma
    Private Sub ProjectToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ProjectToolStripMenuItem.Click
        If exampleFunction() Then '<-- choose the correct function or variable
            Print(Form_load) '<-- Form_load?? maybe FormB??
        End If
    End Sub
    Private Sub Form_load(FormB As Object)

    End Sub
End Class

您应该了解的一些基础知识:

  • Sub不返回值,因此您不能在条件上使用Sub(只能在条件上使用函数,变量和值)。
  • 看起来您检查用户是否点击了按钮/菜单项。您无需检查,因为如果用户点击ProjectToolStripMenuItem_Click,系统会自动调用事件ProjectToolStripMenuItem。在您尝试检查单击按钮/菜单项时,实际上已单击它。您可以在official .NET docs上找到有关Event Handlers的更多信息。

错误消息应该足够清楚以解决问题:

  

您尚未为必需参数提供参数。

     

要更正此错误:

     
      
  • 为指定参数提供参数。
  •   
     

来源: https://docs.microsoft.com/en-us/dotnet/visual-basic/misc/bc30455

点击按钮后尝试print the form

Public Class Forma
    Private printForm as Object

    Private Sub ProjectToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ProjectToolStripMenuItem.Click
        If ConditionIsTrue() Then '<-- choose the correct Sub or Function
            Me.printForm.Print()
        End If
    End Sub
    Private Sub Form_load(FormB As Object)
        '... maybe some other stuff

        Me.printForm = FormB

        '... maybe some other stuff
    End Sub
End Class

答案 1 :(得分:0)

您无法将Sub作为参数传递Print(Form_load)FormB.Print()可能就是你要找的东西。

答案 2 :(得分:0)

这看起来像一个问题:If ProjectToolStripMenuItem_Click() Then

这是对同一个子的调用,并且没有指定参数。