C# 如何判断datagridview列是图像列还是复选框列?

C# 如何判断datagridview列是图像列还是复选框列?,c#,types,datagridview,detection,C#,Types,Datagridview,Detection,我试图创建一个自定义函数,将datagridview的内容保存到一个文件中。我这样做而不是序列化,因为我的自定义函数被设计为尽可能容易和快速地实现以保存和加载winform的状态,并且每次我想要序列化对象时创建自定义类并不是尽可能容易和快速 为此,我需要以编程方式检测datagridview中的哪些列是图像列或复选框列,以便在加载时知道如何适当地处理它们。我在网上看了看,似乎还没有其他人提到它(就我的谷歌搜索结果而言),但我绝对相信有某种方法可以告诉你某个单元格/列是什么类型的。有人知道吗?你可

我试图创建一个自定义函数,将datagridview的内容保存到一个文件中。我这样做而不是序列化,因为我的自定义函数被设计为尽可能容易和快速地实现以保存和加载winform的状态,并且每次我想要序列化对象时创建自定义类并不是尽可能容易和快速


为此,我需要以编程方式检测datagridview中的哪些列是图像列或复选框列,以便在加载时知道如何适当地处理它们。我在网上看了看,似乎还没有其他人提到它(就我的谷歌搜索结果而言),但我绝对相信有某种方法可以告诉你某个单元格/列是什么类型的。有人知道吗?

你可以这样做-

        foreach (var col in dataGridView1.Columns)
        {
            if (col is DataGridViewImageColumn)
            {
                // Image Column
            }

            if (col is DataGridViewCheckBoxColumn)
            {
                // CheckBox Column
            }
        }

这应该有用。。。包括细胞

这是我正在使用的:

Dim colType As Type = DataGridView1.Columns(0).GetType
If colType.Name = "DataGridViewImageColumn" Then
'code for image column type
End If
学分:

这应该行得通

 For each col in datagridview.columns   
   If col.CellType.Name = "DataGridViewImageColumn" Then
   'do something
   End If
 Next
 For each col in datagridview.columns   
   If col.CellType.Name = "DataGridViewImageColumn" Then
   'do something
   End If
 Next