В основном, у меня есть текстовое поле внутри панели. В платформе v1.1 сочетания клавиш, такие как ctrl + C и ctrl + V, не являются неявными для текстовых полей и должны кодироваться для события KeyUp. Итак, я создал общий класс, который наследует текстовое поле и имеет обработчик событий для копирования и вставки с помощью сочетаний клавиш.
Проблема, которая у меня есть, заключается в том, что когда я нажимаю Ctrl + V внутри текстового поля на панели, он дважды копирует текст. Я думал, что это может быть потому, что на панели (прокручиваемый элемент управления) уже установлено событие KeyUp для вставки, и что сначала запускается одно, а затем то, которое я написал. Я думал, есть ли возможность переопределить событие KeyUp панели, чтобы оно не вызывало вставку? (если моя логика верна) Приветствуются любые идеи относительно того, почему происходит двойная вставка. (двойная вставка происходит только в текстовом поле внутри панели)
private void dbTextBox_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyData == (Keys.Control | Keys.C)) (sender as TextBox).Copy();
if (e.KeyData == (Keys.Control | Keys.V)) (sender as TextBox).Paste();
}