我的应用程序中有一个多行文本框,当我中间点击向上或向下滚动时,它不起作用。
它适用于记事本,但不适用于我的文本框。有人知道为什么吗?或者,如果可以在单击中间按钮时以编程方式开始向所需方向滚动?
答案 0 :(得分:3)
要使鼠标滚轮滚动工作,请创建自己的继承TextBox的自定义TextBox类。
覆盖WndProc方法。
查看消息类型。
对于消息类型0x207(WM_MBUTTONDOWN),调用DefWndProc(ref m); 对于任何其他消息类型,请调用base.WndProc(ref m);
然后你的文本框会有中间按钮滚动。
通常,Windows.Forms会覆盖文本框的内置中间按钮功能,因此控件可以在中间按钮上有一个MouseDown事件,但这也会禁用先天滚动功能。返回调用默认窗口处理程序,文本框返回其滚动功能。
答案 1 :(得分:0)
您是否将ScrollBars
属性设置为Vertical
或Both
?
对我而言,它仅在ScrollBars = None
或Horizontal