我想這個代碼在一個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