Вы можете установить для свойства AcceptsReturn
значение false
и обработать клавишу ctrl + enter, создав обработчик события PreviewKeyDown следующим образом:
(rtb — это имя RichTextBox)
private void RichTextBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter && Keyboard.IsKeyDown(Key.LeftCtrl))
{
// do whatever you want
// if u want to add a new line just uncomment the next lines
// rtb.AppendText(Environment.NewLine);
// rtb.CaretPosition = rtb.CaretPosition.DocumentEnd;
e.Handled = true;
}
}
я чувствую, что для этого требования вы должны использовать только клавишу ввода, она будет работать в соответствии со мной
private void richTextBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode==Keys.Enter )
{
//Enter key is down
//Capture the text in next line if you press enter only this event will
}
}
Можете ли вы показать код вашего обработчика событий KeyDown? Кроме того, почему бы вам не попробовать KeyUp, который срабатывает после (а не во время) нажатия клавиш.