无法将eventandler转换为KeyPressEventHandler
本文关键字:KeyPressEventHandler 转换 eventandler | 更新日期: 2023-09-27 17:54:41
在运行下面的代码时,我得到了这个异常:
不能隐式转换System。事件,System.Window.Form.KeyPressEventHandler
private void grdPOItems_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
int colIndex = grdPOItems.CurrentCell.ColumnIndex;
string colName = grdPOItems.Columns[colIndex].Name;
if(colName == "Qty" || colName == "Rate")
{
e.Control.KeyPress += new EventHandler(CheckKey);
}
}
private void CheckKey(object sender, EventArgs e)
{
if (((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar!='.'))
{
e.Handled = true;
}
}
根据MSDN
,您的处理程序签名错误。
e.Control.KeyPress += CheckKey;
private void CheckKey(object sender, KeyPressEventArgs e)
{
if (((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar!='.'))
{
e.Handled = true;
}
}