【发布时间】:2013-06-25 14:37:45
【问题描述】:
我有一个表单,它有 2 个文本框。其中之一是 MultiLine 和 ReadOnly。另一个是用于输入命令,所以我希望它始终处于焦点。 是否可以将 Form 的 MouseWheel 事件转发到 TextBox,这样我就可以在 TextBox 中滚动而不让它成为焦点? 如果不是,最好的解决方法是什么?
提前致谢。
【问题讨论】:
我有一个表单,它有 2 个文本框。其中之一是 MultiLine 和 ReadOnly。另一个是用于输入命令,所以我希望它始终处于焦点。 是否可以将 Form 的 MouseWheel 事件转发到 TextBox,这样我就可以在 TextBox 中滚动而不让它成为焦点? 如果不是,最好的解决方法是什么?
提前致谢。
【问题讨论】:
可以通过窗体的鼠标滚轮事件获取滚动值,然后手动设置TextBox的滚动,使用ScrollToCaret()。
textBox.SelectionStart = scrollPosition;
textBox.ScrollToCaret();
要获取滚动值,请使用 MouseWheel 事件:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.mousewheel(v=vs.71).aspx
【讨论】: