我想这个代码在一个C#Windows应用程序,我的自定义用户控件:覆盖TextChanged事件定制控件无法正常工作
public partial class HtextBox : DevExpress.XtraEditors.TextEdit
{
protected override void OnTextChanged(KeyEventArgs kpe)
{
if (kpe.KeyCode == Keys.D1 ||
kpe.KeyCode == Keys.D2 ||
kpe.KeyCode == Keys.D3 ||
kpe.KeyCode == Keys.D4 ||
kpe.KeyCode == Keys.D5 ||
kpe.KeyCode == Keys.D6 ||
kpe.KeyCode == Keys.D7 ||
kpe.KeyCode == Keys.D8 ||
kpe.KeyCode == Keys.D9 ||
kpe.KeyCode == Keys.D0
) {
base.Text += kpe.KeyValue;
}
}
}
我得到这个错误:
Error 1 'myproject.HtextBox.OnTextChanged(object, System.Windows.Forms.KeyEventArgs)': no suitable method found to override E:\my project\myproject\HtextBox.cs
我想创建一个自定义文本框。在这里我想要这个文本框只是为了获取数字作为输入。一个例子会是什么?
运行时错误:无法投类型的对象System.EventArgs为键入“System.Windows.Forms.KeyEventArgs”。 – hamze
@hamze我不知道传递给'OnTextChanged'的参数的确切类型是什么。你可以添加'args.GetType()'长输出还是停在调试器中,看看它是什么? – dasblinkenlight
在Visual Studio(包括Express版本)中,单击F12会带您进入定义。因此,如果您在重写函数base.OnTextChanged()中键入内容,然后将光标置于该单词的中间并单击F12,它应该将您带到基类的方法定义。 – zmilojko