Windows Form中的RichTextBox控件可以用于显示RTF格式的文档,许多应用程序用它来提供简单的文字编辑功能。
然而,RichTextBox有一个麻烦的地方,那就是它的Tab键默认占8个字符宽,有没有办法调整?
Google了半天,有的人说使用其SelectionTabs属性可以,但我试了一下,并不好用。
最后,想到了最简单的办法:在KeyDown事件中直接处理Tab键,将其转换为空格。
这是一个取巧的方法,因为它不在文档中保存“\t”了。用于显示没问题,如果某个程序依赖于“\t”,不要这么做。
其KeyDown事件响应C#代码如下:
private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Tab)
{
richTextBox1.SelectedText = " ";
e.SuppressKeyPress = true;
}
}注意:
RichTextBox的AcceptsTab属性要设置为True,RichTextBox控件才可以显示Tab制表位。
上述代码在VS2008中测试通过。