这是一个使用的代码片段,因此文本框(“TxtInput1”)中只有一个小数,并且只有数字:
private void TxtInput1_TextChanged(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.'))
{
e.Handled = true;
}
// only allow one decimal point
if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1))
{
e.Handled = true;
}
}
但这给了我以下错误:
我单击错误,并 pop 如下:
form1.TxtInput1.Location = new System.Drawing.Point(92, 111);
form1.TxtInput1.Name = "TxtInput1";
form1.TxtInput1.Size = new System.Drawing.Size(43, 20);
form1.TxtInput1.TabIndex = 8;
form1.TxtInput1.TextChanged += new System.EventHandler(form1.TxtInput1_TextChanged);
System.EventHandler(form1.TxtInput1_TextChanged);
行用红色下划线表示这是错误的。这个问题有解决办法吗? 最佳答案
您的方法的签名与处理TextChanged事件所需的签名不匹配。 TextChanged事件的第二个参数只是EventArgs
。但是,如果将其更改为该值,则方法的内容将无法编译。
从方法签名的外观来看,您需要将其关联到KeyPress事件。