隐藏RichTextBox的滚动条
我正在尝试编写一个像DarkRoom这样的简单文本编辑器,其中只包含一个RichTextBox(或者一个TextBox)。 我的问题是我不能使用鼠标滚轮滚动,除非我有一个垂直滚动条。 有没有办法隐藏这个滚动条,仍然能够用鼠标滚轮滚动?
到目前为止,我有几个想法如何做到这一点,但不知道如何实现它们。
- 使用MouseWheel事件重新创建滚动代码
- 更改滚动条的视觉样式以隐藏它或使其不太明显
- 编写我自己的TextBox小部件
- 将滚动条与其他内容重叠以隐藏它们
PS:使用任何win32的东西都不是一个选择。
是的,您必须捕获.MouseWheel和.MouseMove事件。 看这篇文章 。
好的,做以下事情:
-
在表单加载事件中添加一行。
private void Form1_Load(object sender, EventArgs e) { this.richTextBox1.MouseWheel += new MouseEventHandler(richTextBox1_MouseWheel); }
-
在鼠标滚轮事件中添加以下内容
void richTextBox1_MouseWheel(object sender, MouseEventArgs e) { if (e.Delta > 0) { //Handle mouse move upwards if (richTextBox1.SelectionStart > 10) { richTextBox1.SelectionStart -= 10; richTextBox1.ScrollToCaret(); } } else { //Mouse move downwards. richTextBox1.SelectionStart += 10; richTextBox1.ScrollToCaret(); } }
在任何一种情况下,让我知道,如果你想要相同的运行样本; 或者如果你不喜欢这个解决方案(0:
- Json.NET返回序列化Android.Gms.Maps.Model.LatLng对象列表的空对象
- 订阅EnvDTE80.DTE2.Events2.PublishEvents.OnPublishBegin的正确方法是什么?
- 试图将boxed int转换为byte
- 使用有效的Double向DateTime添加秒可导致ArgumentOutOfRangeException
- WinForms应用程序中的控制器/静态状态类 – 放在哪里?
- .Net Logger(编写自己的vs log4net /企业记录器/ nlog等)
- 将“C#friendly type”转换为实际类型:“int”=> typeof(int)
- AutoFixture作为Automocking容器与Automocking差异?
- 什么是.Resx和.Resources文件类型之间的区别?
- 如何解码从Base64到字节数组的文本字符串,以及获取此字节数组的字符串属性而不会损坏数据
- 任务并行库中的任务如何影响ActivityID?