У меня есть RichTextBox в моей форме, и я хочу использовать поведение по умолчанию, как RichTextBox, например, Ctrl + Z (Отменить) или другие действия (Ctrl + Y, Ctrl + X, Ctrl + V).
Если пользователи используют сочетания клавиш (Ctrl + Z), это прекрасно.Но что, если пользователи щелкают ToolStripButton?
Как программно моделировать событие KeyDown для RichTextBox в C # 2010.
Вот фрагмент кода, в котором есть некоторые проблемы.Можете ли вы помочь мне, как симулировать / RaiseEvent в C #?
private void tsbUndo_Click(object sender, EventArgs e)
{
rtbxContent_KeyDown(rtbxContent, new KeyEventArgs(Keys.Control | Keys.Z));
}
private void tsbPaste_Click(object sender, EventArgs e)
{
DoPaste();
}
private void DoPaste()
{
rtbxContent.Paste(DataFormats.GetFormat(DataFormats.UnicodeText));
}
private void rtbxContent_KeyDown(object sender, KeyEventArgs e)
{
//if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
if (e.Control)
{
switch (e.KeyCode)
{
// I want my application use my user-defined behavior as DoPaste() does
case Keys.V:
DoPaste();
e.SuppressKeyPress = true;
break;
// I want my application use the default behavior as the RichTextBox control does
case Keys.A:
case Keys.X:
case Keys.C:
case Keys.Z:
case Keys.Y:
e.SuppressKeyPress = false;
break;
default:
e.SuppressKeyPress = true;
break;
}
}
}
Спасибо.