Intereting Posts
Как вы разрешаете зависимость Ninject в глобальном файле в ASP.NET? Удаление SQL-соединения WCF, доступ к элементам форм Windows из службы Как вызвать конструктор внутри classа? Смутно между SqlCommand & SqlDataAdapter Может ли кто-нибудь дать мне ДЕЙСТВИТЕЛЬНО хорошую причину использовать имена типов CLR вместо имен типа C # (псевдонимы) в коде (как общая практика)? Не удалось запустить процесс dotnet.exe Элемент с идентификатором ‘Id’ уже существует в коллекции метаданных. Имя параметра: элемент Можно ли конвертировать PDF-страницу в изображение с помощью itextSharp? OO Design – вы используете внутренние объекты или частные поля? тестирует службу wcf в браузере основное различие между типами значений и ссылочными типами Пользовательская аутентификация в ASP.Net-Core Не удалось подключиться к серверу redis; для создания отключенного мультиплексора Невозможно настроить OWIN + OneLogin + Bearer

Пользовательская рукоятка события RichTextBox

Я новичок в пользовательских элементах управления, и я ищу какую-то помощь.

Я хочу знать, можно ли добавить проверку на событие, такое как «Key_Press» в моем пользовательском classе, а не через Событие в моем коде формы. Я пытаюсь заблокировать использование клавиш Return & Enter для элемента управления.

Я создал пользовательский RichTextBox, код ниже:

public class CustomRTB : RichTextBox { protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if ((keyData == (Keys.Control | Keys.V))) { IDataObject iData = Clipboard.GetDataObject(); if (iData.GetDataPresent(DataFormats.Text)) { string contents = Clipboard.GetText().Replace("\r\n", " "); Clipboard.SetData(DataFormats.Text, contents); this.Paste(); } return true; } else { return base.ProcessCmdKey(ref msg, keyData); } } } 

Блокируйте клавишу Enter, просто переопределив метод OnKeyDown (). Пример простого события KeyDown, которое работает для любого RTB:

  private void richTextBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Enter) e.Handled = e.SuppressKeyPress = true; }