I have a WinForms application with a RichTextBox control on the form. Right now, I have the AcceptsTabs property set to true so that when Tab<
With the AcceptsTab property set to true, just try using the KeyPress event:
void richTextBox1_KeyPress(object sender, KeyPressEventArgs e) {
if (e.KeyChar == (char)Keys.Tab) {
e.Handled = true;
richTextBox1.SelectedText = new string(' ', 4);
}
}
Based on your comments regarding adding spaces up to every fourth character, you can try something like this:
void richTextBox1_KeyPress(object sender, KeyPressEventArgs e) {
if (e.KeyChar == (char)Keys.Tab) {
e.Handled = true;
int numSpaces = 4 - ((richTextBox1.SelectionStart - richTextBox1.GetFirstCharIndexOfCurrentLine()) % 4);
richTextBox1.SelectedText = new string(' ', numSpaces);
}
}