1

RichTextBoxフォーム上にコントロールを持つ WinForms アプリケーションがあります。現在、AcceptsTabsプロパティを true に設定しているので、Tabがヒットするとタブ文字が挿入されます。

私がやりたいのは、Tabヒットしたときにタブ文字の代わりに 4 つのスペースが挿入されるようにする\tことです (私は等幅フォントを使用しています)。これどうやってするの?

4

2 に答える 2

2

をオーバーライドする新しいクラスを追加しますRichTextBox

class MyRichTextBox : RichTextBox
{
    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
        if(keyData == Keys.Tab)
        {
            SelectionLength = 0;
            SelectedText = new string(' ', 4);
            return true;
        }

        return base.ProcessCmdKey(ref msg, keyData);
    }
}

その後、新しいコントロールをフォームのデザイン ビューにドラッグできます。

注: @LarsTec の回答とは異なり、AcceptsTabここでは設定は必要ありません。

于 2013-04-23T23:49:03.230 に答える