我想取消数据gridview单元格点击事件
private void gridViewHistory_CellClick(object sender, DataGridViewCellEventArgs e)
{
}
但是这个eventargs没有取消事件,如何取消该事件? 可能这个问题有一个非常简单的答案,但我仍然坚持下去,需要帮助。
提前致谢。
答案 0 :(得分:3)
你不能。
WinForms事件只是多播委托,然后它们无法取消(在停止传播事件的意义上),除非这种情况由暴露事件的对象处理(但我'我现在知道任何支持它的对象,通常是事件通知)。
也就是说,某些事件具有Cancel
属性的参数,该对象使用它来取消应该因该事件而执行的操作。同样,如果实现不提供该属性,则无法执行任何操作来更改此行为。
在你的情况下,你应该覆盖OnCellClick
DataGridView
方法,以你喜欢的方式处理它(如果你没有调用基类,那么单元格将不会获得点击事件和{ {1}}事件不会被触发)。
答案 1 :(得分:1)
并非所有事件都可以取消。您可以选择不在事件处理程序中执行任何操作,但这并不意味着您可以取消它。
因此,除非有特定的Cancel
类型方法,否则您无法取消该活动。
答案 2 :(得分:0)
您可能想要使用CellValidating
事件:
private void gridViewHistory_CellValidating(object sender,
DataGridViewCellValidatingEventArgs e)
{
if (.....)
{
e.Cancel = true;
}
}
答案 3 :(得分:0)
您可以尝试
返回;
语句,但这仅适用于asp:LinkButton OnClick事件,这些事件不会传递给其他事件,例如UpdateCommand。