我怎么知道datagridview列C#.net中显示的是哪个图像

时间:2017-09-11 15:30:03

标签: c# image winforms datagridview datacolumn

我有一个datagridview,它有2列,一个是文件的名称,另一个是包含可能有红色或绿色图像的图像的列。

我想知道如何获取值以了解datagridview列中显示的图像,如下所示:

注意:默认为红色,但一旦您对该文件执行某些操作,它将变为绿色。

Image with the red image

Image with the green image

我如何添加这些图像的图像列表如下:

ImageList icons = new ImageList();
icons.Images.Add(Image.FromFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
    "..\\..\\images", "red.png")));
icons.Images.Add(Image.FromFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
    "..\\..\\images", "green.png")));

并加载到datagridview,如下所示:

foreach (string file in Directory.GetFiles(
    Path.Combine(DataBaseConfiguration.WPRPath, "CR" + _number)))
{
    if (!file.Contains("~$"))
    {
        dgvWprFiles.Rows.Add(new object[] { Path.GetFileName(file), icons.Images[0] });
    }
}

嗯,确切的问题是:如何知道列何时有红色或绿色图像?

感谢。

1 个答案:

答案 0 :(得分:0)

那些绿色和红色图像很可能代表布尔值。您应该使用该布尔值,而不是尝试通过图像重新设计它!

除非您正在进行屏幕抓取/自动化,否则您不应该关心显示的图像。这是显示方面的一个小细节。如果你正在进行屏幕抓取,那么问题应该相应地重写。

如果你告诉我们.NET Display technology你正在使用它,那将会有所帮助。即使你如何显示一个布尔值作为一个iamge可以在这些之间变得很大,答案也是如此。