RichTextBox 项目符号缩进(.NET 表单)

cri*_*nds 2 c# richtextbox bulletedlist winforms

在 Microsoft Word 中,创建项目符号列表时,按tabbackspace更改当前项目符号点的位置,如下所示:

  • 子弹一
    • 锯齿状子弹
  • 子弹二

然而,在 RTB 中,按 Tab 会产生以下结果:

  • 子弹一
  •       锯齿状子弹
  • 子弹二

有没有什么干净的方法来实现这一目标?或者我是否需要考虑创建自定义 RTB?(如果是的话请提供代码片段)

谢谢!

Ber*_*kay 7

例如,您可以通过使用事件来做到这一点;

代码;

private void Form1_Load(object sender, EventArgs e)
{
     richTextBox1.SelectionBullet = true;
     richTextBox1.AcceptsTab = true;
}

private void richTextBox1_KeyUp(object sender, KeyEventArgs e)
{
     if (e.KeyCode == Keys.Tab)
     {
          richTextBox1.SelectionIndent = 30;
     }
     if (e.KeyCode == Keys.Enter)
     {
          richTextBox1.SelectionIndent = 0;
     }
}
Run Code Online (Sandbox Code Playgroud)

结果; 在此输入图像描述

希望有帮助,