我必须将我的旧代码从VB6重写为VB.NET,这里有一些我不知道该怎么做的事情。 例如,我必须在textbox的keyDown事件处理程序下替换一些键码,我无法在没有帮助的情况下执行此操作。
最简单的说,我有可行的VB6代码:
If KeyCode = vbKeyUp Then
KeyCode = vbKeyEscape
End If
当我尝试按字面意思重写时:
If e.KeyCode = Keys.Up Then
e.KeyCode = Keys.Escape
End if
但这不会发生:
错误2属性' KeyCode'是“只读”#39;
由于我有很多这样的转换要做,这有什么办法可以实现这么简单吗?
答案 0 :(得分:2)
在VB.Net中模拟此操作的最佳方法是执行以下操作。当您看到按下Up
键时取消该事件。然后发送Escape
密钥的人工密钥事件。
Protected Overrides Sub OnKeyDown(ByVal e As KeyEventArgs)
If e.KeyCode = Keys.Up Then
e.Handled = True
SendKeys.Send("ESC")
Else
MyBase.OnKeyDown(e)
End If
End Sub
答案 1 :(得分:0)
Private Sub txtDUnidades_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtDUnidades.KeyPress
If e.KeyChar = "." Then
e.KeyChar = ","
e.Handled = False
End If
End Sub