相关疑难解决方法(0)

KeyDown事件没有使用.NET WinForms触发?

我已经 KeyPreview 在表单属性中设置为true

我正在开发一个小程序,我遇到一个问题,当我按下并释放任何箭头键时,组件盒内部的某些控件似乎没有触发我的表单上的KeyDown事件,只是KeyUp事件.我的代码是否有问题可能导致此问题?

具体来说,我已经在表单上启用了KeyPreview,并e.SuppressKeyPress = True在两个子例程中设置了断点,并且只有frmMain_KeyUp的断点点击了断点.

我添加了两个GroupBox事件,希望可以缓解这个问题,但没有这样的运气.但是,我在表单上有一个自定义控件,专门编码忽略这些按键,代码按预期工作.

  Private Sub frmMain_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown, GroupBox1.KeyDown, GroupBox2.KeyDown
      e.SuppressKeyPress = True
      Select Case e.KeyCode
          Case Keys.Left
              ScrollDir = ScrollDir Or 1
          Case Keys.Right
              ScrollDir = ScrollDir Or 2
          Case Keys.Down
              ScrollDir = ScrollDir Or 4
          Case Keys.Up
              ScrollDir = ScrollDir Or 8
          Case Else
              e.SuppressKeyPress = False
      End Select
      tScroll.Enabled = True
      tScroll_Tick(Nothing, Nothing)
  End Sub

  Private Sub frmMain_KeyUp(ByVal sender As Object, ByVal e …
Run Code Online (Sandbox Code Playgroud)

vb.net winforms

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

vb.net ×1

winforms ×1