[英]Custom RichTextBox Event Handle
我是Custom Controls的新手,我正在寻求帮助。
我想知道是否可以在我的自定义类中的事件(例如“Key_Press”)上添加验证,而不是通过表单代码中的事件。 我的目标是阻止使用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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.