WinForm DataGridView 中的小bug.

1、 如果在 DataGirdView(DGV)的 CellEndEdit事件里触发单元格的编辑操作,常常会引发出乎意料的异常。

2、DataGrivdView中的单元格有 CellValidating,如果在CellValidating事件未通过的情况下(即,其EventArgs.Cancel属性设置为true),使焦点强制离开了单元格则焦点再次回到单元格时也会引发异常。【当然这个描述只是一个现象,并不是本质,本质具体是什么原因暂时不详】 【使焦点强制离开的单元格的情况如:强制弹出了模式对话框,待对话框关闭时会引发异常。】

 

DataGridView无论是事件,还是属性,设置操作方法 都有很多,确实很强大。但莫名其妙的出问题,却让人有点头疼。

对于问题1,解决方法:在cellEndEdit事件中使用异步(PS,在使用Thread时,系统会有一个短暂的延时)去操作UI触发单元格的编辑操作。

 

 

 

posted @ 2013-03-25 08:30  把爱延续  阅读(519)  评论(0编辑  收藏  举报