方法签名与文本框事件处理程序不匹配

本文关键字:事件处理 程序 不匹配 文本 方法 | 更新日期: 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。你确定这是你想要的活动吗?