文本框中的中间按钮滚动的东西

时间:2009-10-07 00:44:25

标签: c# textbox scroll

我的应用程序中有一个多行文本框,当我中间点击向上或向下滚动时,它不起作用。

它适用于记事本,但不适用于我的文本框。有人知道为什么吗?或者,如果可以在单击中间按钮时以编程方式开始向所需方向滚动?

2 个答案:

答案 0 :(得分:3)

要使鼠标滚轮滚动工作,请创建自己的继承TextBox的自定义TextBox类。

覆盖WndProc方法。

查看消息类型。

对于消息类型0x207(WM_MBUTTONDOWN),调用DefWndProc(ref m); 对于任何其他消息类型,请调用base.WndProc(ref m);

然后你的文本框会有中间按钮滚动。

通常,Windows.Forms会覆盖文本框的内置中间按钮功能,因此控件可以在中间按钮上有一个MouseDown事件,但这也会禁用先天滚动功能。返回调用默认窗口处理程序,文本框返回其滚动功能。

答案 1 :(得分:0)

您是否将ScrollBars属性设置为VerticalBoth? 对我而言,它仅在ScrollBars = NoneHorizontal

时才起作用