ValueType
- это тип значений данных, которые содержит ячейка. Это не то, что вы хотите.
Чтобы проверить тип ячейки самой по себе, просто выполните:
if (myDataGridViewCell is DataGridViewCheckBoxCell)
...
(будет верно для DataGridViewCheckBoxCell
и всех подтипов)
или
if (myDataGridViewCheckBoxCell != null &&
myDataGridViewCheckBoxCell.GetType() == typeof(DataGridViewCheckBoxCell))
...
(будет верно только для DataGridViewCheckBoxCell
).