我的应用程序中有一个多行文本框,当我单击鼠标中键向上或向下滚动时,它不起作用.
它可以在记事本中使用,但不能在我的文本框中使用.有人知道为什么吗?或者,是否有可能在单击中键时以编程方式开始按所需方向滚动?
解决方法:
要使鼠标滚轮工作正常,请制作一个继承自TextBox的自定义TextBox类.
重写WndProc方法.
查看消息类型.
对于消息类型0x207(WM_MBUTTONDOWN),请调用DefWndProc(ref m);
对于任何其他消息类型,请调用base.WndProc(ref m);.
然后,您的文本框将具有中键滚动.
通常,Windows.Forms会覆盖文本框的内置中间按钮功能,因此控件可以在中间按钮上具有MouseDown事件,但也会禁用固有滚动功能.返回调用默认的窗口处理程序,文本框恢复其滚动功能.