【问题标题】:Unable to cast object of type 'System.EventArgs' to type无法将“System.EventArgs”类型的对象转换为类型
【发布时间】:2022-01-22 00:02:54
【问题描述】:

在我的 Form_Load 中

AddHandler KeyDown, AddressOf Form1_KeyDown
RaiseEvent KeyDown(Me, e)

Event KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
    If e.KeyCode = Keys.Control Then
        MsgBox("test")
    End If
End Sub

我收到此错误:无法将“System.EventArgs”类型的对象转换为类型

我应该怎么做才能捕捉到 keydown 事件?

【问题讨论】:

  • AddHandler KeyDown, AddressOf Form1_KeyDown RaiseEvent KeyDown(Me, e)
  • 我尝试格式化您的代码,但我不清楚它是否打算全部为一个块 - 请根据需要进行调整。此外,错误消息的最后一部分丢失了。

标签: vb.net keydown


【解决方案1】:

这是我的代码:

我有表单加载功能:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    AddHandler KeyDown, AddressOf Form1_KeyDown
    RaiseEvent KeyDown(Me, e)

结束子

我有事件声明:

    Event KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)

以及按下控制键时应该打开MsgBox的功能:

    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
    If e.KeyCode = Keys.Control Then
        MsgBox("test")
    End If
End Sub

但我有这个错误:无法将“System.EventArgs”类型的对象转换为类型

所以我不知道该怎么办

【讨论】:

  • System.InvalidCastException:'Impossible d'effectuer un cast d'un object de type 'System.EventArgs' en type 'System.Windows.Forms.KeyEventArgs'。这是完整的错误信息
猜你喜欢
  • 2022-01-22
  • 1970-01-01
  • 2021-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多