Vb.net 如何在按键或按键事件后禁用列表框的滚动事件?

Vb.net 如何在按键或按键事件后禁用列表框的滚动事件?,vb.net,listbox,Vb.net,Listbox,编程语言是vb.net您可以扩展ListBox类,然后重写类中引发滚动事件的部分 编辑:您希望不抛出滚动事件,还是确实不希望列表框本身滚动 这可能有效-我不能在这里测试,因为。。。您还需要将端口连接到vb.net public class BetterListBox : ListBox { // WM_VSCROLL message constants private const int WM_VSCROLL = 0x0115; protected override void Wn

编程语言是vb.net

您可以扩展ListBox类,然后重写类中引发滚动事件的部分

编辑:您希望不抛出滚动事件,还是确实不希望列表框本身滚动

这可能有效-我不能在这里测试,因为。。。您还需要将端口连接到vb.net

public class BetterListBox : ListBox { 
  // WM_VSCROLL message constants
  private const int WM_VSCROLL = 0x0115;
  protected override void WndProc(ref Message m) {
    // Trap the WM_VSCROLL message to generate the Scroll event
    if (m.Msg != WM_VSCROLL) {
       base.WndProc(ref m);
    }

}

我确实希望在按键或按键事件之后引发滚动事件。您能否提供代码或解释如何扩展listbox类并覆盖相应事件?您在问题中说要禁用滚动事件,但在下面说您希望引发滚动事件?你能更清楚地解释一下你的场景吗?对不起,我想说我不想在listbox keydown或keyup事件之后抛出scroll事件我已经尝试过了,但它给我带来了两个错误1)“listbox”是一个“名称空间”,但像“类型”一样使用2)找不到类型或名称空间名称“Message”,可以吗在vb.net中提供相同的功能