c# - txtCash_KeyUp 的无重载与委托“KeyEventHandler”匹配
问题描述
我的文本框:
private void txtCash_KeyUp(object sender, KeyEventArgs f, DataGridViewCellEventArgs e)
//need to add this for getting row counts
{
if (f.KeyCode == Keys.Enter)
{
for(int i = 0; i < fpos.dgSales.Rows.Count;i++)
{
Products prod = new Products
{
ProductID = Convert.ToInt32(fpos.dgSales.Rows[e.RowIndex].Cells[2].Value.ToString()),
ProductCode = fpos.dgSales.Rows[e.RowIndex].Cells[3].Value.ToString(),
Quantity = Convert.ToInt32(fpos.dgSales.Rows[e.RowIndex].Cells[3].Value.ToString()),
};
prod.Product_UpdateQtySales();
}
}
}
我添加DataGridViewCellEventArgs e
了这个来获取行数。但我在这个表单的设计器上遇到了一个错误。
错误行 // this.txtCash.KeyUp += new System.Windows.Forms.KeyEventHandler(this.txtCash_KeyUp);
错误 // txtCash_KeyUp 的无重载与委托“KeyEventHandler”匹配
解决方案
void KeyEventHandler(object sender, KeyEventArgs e);
该方法txtCash_KeyUp
具有以下签名:
void txtCash_KeyUp(object sender, KeyEventArgs f, DataGridViewCellEventArgs e);
要将方法组转换为委托类型(这是您尝试使用的new KeyEventHandler(this.txtCash_KeyUp)
),签名必须兼容,但由于您添加了附加参数,因此不再是这种情况。
调用该事件处理程序的代码不知道您想要这些DataGridViewCellEventArgs
或从哪里获取它们。您将不得不以不同的方式检索该信息。
推荐阅读
- python - 如何创建可跨不同网络访问的套接字
- firefox - Firefox 浏览器中未显示响应标头中的 www-authenticate
- python - 无法在 pandas 中聚合 min 和 max
- postgresql - 如何在我的 C: 驱动器上保存 PgAdmin4 中的语法
- python - 根据年月计算行数并从最旧到最新排序
- clojurescript - 如何诊断渲染失败的原因
- amazon-dynamodb - 仅在 PK 上的 DynamoDB 更新项目条件
- rust - 从方法调用中修复对 self 的挥之不去的不可变引用
- jupyter-notebook - Pycharm 和 Jupyter 笔记本
- html - 滚动捕捉