2

当我使用它时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 
4

2 回答 2

2

更改KeyPressEventArgsTextChangedEventArgs(对于 WPF,对于 winforms 使用EventArgs)。该错误告诉您TextChanged事件的签名与您分配给它的方法不匹配。

于 2013-10-14T15:58:11.470 回答
0

您的处理程序与 TextChanged 事件的签名不匹配,请尝试以下操作:

private void textBox1_TextChanged( object sender, EventArgs e )

此外,当您这样做时,您会发现e.KeyCharTextChanged 事件上没有。你确定这是你想要的活动吗?

于 2013-10-14T15:58:31.730 回答