Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool InsertMode = false;
- private void txtTest_KeyUp(object sender, KeyEventArgs e)
- {
- if (e.KeyData == Keys.Insert)
- {
- InsertMode = !InsertMode;
- }
- }
- private void txtTest_KeyPress(object sender, KeyPressEventArgs e)
- {
- //Вытаскиваю объект, который вызвал событие,
- //чтоб можно было подключить несколько TextBox'ов
- TextBox tb = (TextBox)sender;
- //если включен соотв. режим, курсор не в конце текста
- //и не нажата какая-либо управляющая клавиша
- //заменим символ перед курсором
- if (InsertMode && tb.SelectionStart < tb.TextLength
- && !Char.IsControl(e.KeyChar))
- {
- //выделяем 1 символ перед курсором
- //область выделения автоматически заменится
- //символом, введенным с клавиатуры
- tb.SelectionLength = 1;
- //если выделен символ перевода строки, значит это конец строки
- //в multiline TextBox,
- if (tb.SelectedText == "\r" || tb.SelectedText == "\n")
- tb.SelectionLength = 0; //не надо ничего заменять, убираем выделение
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement