方法签名与文本框事件处理程序不匹配
本文关键字:事件处理 程序 不匹配 文本 方法 | 更新日期: 2023-09-27 18:35:13
当我使用Char.IsNumber
时,它会在form1.designer.cs
中产生错误。
"
textBox1_TextChanged
"没有重载匹配委托System.EventHandler
private void textBox1_TextChanged(object sender, KeyPressEventArgs e)
{
if (char.IsNumber(e.KeyChar))
{
textBox1.Text = e.KeyChar.ToString();
}
else
{
MessageBox.Show("Char value");
}
}
///////////// Text Box ///////////////
this.textBox1.Location = new System.Drawing.Point(73, 57);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(177, 20);
this.textBox1.TabIndex = 0;
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); // error occurs on this line
将KeyPressEventArgs
更改为TextChangedEventArgs
(对于 WPF,对于 winforms,请使用 EventArgs
)。 该错误告诉您TextChanged
事件的签名与您分配给它的方法不匹配。
您的处理程序与 TextChanged 事件的签名不匹配,请尝试以下操作:
private void textBox1_TextChanged( object sender, EventArgs e )
此外,当您这样做时,您会发现 TextChanged 事件上没有e.KeyChar
。你确定这是你想要的活动吗?