自定义RichTextBox事件句柄

我是Custom Controls的新手,我正在寻求帮助。

我想知道是否可以在我的自定义类中的事件(例如“Key_Press”)上添加validation,而不是通过表单代码中的事件添加validation。 我的目标是阻止使用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); } } } 

只需重写OnKeyDown()方法即可阻止Enter键。 适用于任何RTB的普通KeyDown事件示例:

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