1. 程式人生 > >winform中的datagridview有新增按鈕列,響應按鈕的點選事件

winform中的datagridview有新增按鈕列,響應按鈕的點選事件

有兩個事件可以響應:

觸發事件是DataGridView的CellContentClick或CellClick事件

但是可惜的是兩個都不是專門響應按鈕列事件的,

CellClick是單擊單元格任意部分發生

CellContentClick是單擊單元格內容時發生

也就是說這兩個事件即使沒有按鈕的單元格,都會觸發它們,

那麼怎麼實現讓它只響應按鈕事件呢?

很顯然,答案是判斷使用者單擊的是不是按鈕所在的列

使用e.ColumnIndex得到事件發生的列就可以了

例如,我的按鈕列的索引是6,那麼程式碼如下:

        private void dgvTellist_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            int CIndex = e.ColumnIndex;
            if (CIndex == 6)
            {
                ...處理程式碼
            }
        }

參考:http://topic.csdn.net/u/20080102/17/9c2a46ad-67d9-449c-a2b4-6f560ba5b9b3.html