【发布时间】:2022-01-22 04:53:46
【问题描述】:
这是我的代码:
我有表单加载功能:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
AddHandler KeyDown, AddressOf Form1_KeyDown
RaiseEvent KeyDown(Me, e)
End Sub
我有事件声明:
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.InvalidCastException : 'Impossible d'effectuer un cast d'un object de type 'System.EventArgs' en type 'System.Windows.Forms.KeyEventArgs'。'
这是完整的错误信息
所以我不知道该怎么办
【问题讨论】:
-
Re “所以我不知道我该怎么办” - 这很可悲。也许您应该创建适当的 KeyEventArgs 对象并使用它?另见docs.microsoft.com/en-us/dotnet/api/…
-
你到底想在这里做什么?为什么要将表单加载事件 arg 转发给按键事件处理程序?
-
我不明白你的意思?
-
我想知道何时按下特定键盘并执行相应操作