c# - 更改 DataGridView 上空图像的外观

标签 c# winforms

我有一个带有多个数据 GridView 的 WinForms 应用程序。其中一个我有一个动态填充图像的列。我在下面附上了截图:

Screenshot

许多单元格不符合生成图像的要求,因此显示为空。但是,发生这种情况时,应用程序会显示默认的红色 X,表示没有图像。我希望单元格只是显示为空,而不是显示此默认图像。

我曾尝试创建一个空白图像,但这会导致其自身的问题;即,因为我的 datagridview 具有交替的行背景颜色,白色图像显示在灰色行上,反之亦然。

实际上,我想要一个空/空或透明图像,当不满足其他图像之一的运行时要求时,它根本不会显示在列中。

为了完整起见,我目前使用的代码如下:

foreach (DataGridViewRow row in dataCaseHistory.Rows)
{                    
    DataGridViewCell cell = row.Cells["DocID"];
    if (cell.Value.ToString().Length > 0)
    {
        if (((int)cell.Value) % 2 == 0)
        {
            row.Cells["Doc"].Value = (System.Drawing.Image)Properties.Resources.Paperclip___done;
        }
        else
        {
            row.Cells["Doc"].Value = (System.Drawing.Image)Properties.Resources.Bundle___done;
        }
    }
    else
    {
         row.Cells["Doc"].Value = null;
    }
}

选择图像的逻辑测试是临时的。我只是想在应用真正的、更复杂的图像选择标准之前进行设置。

最佳答案

试试这个:

在构造函数中的 InitializeComponent() 调用之后放置:

yourGrid.Columns["Doc"].DefaultCellStyle.NullValue = null;

关于c# - 更改 DataGridView 上空图像的外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13744502/

相关文章:

java - C# Sort 与 Java Collections.Sort 给出不同的结果

c# - 通过引用的字典值

c# - 将扩展方法与运行时程序集一起使用

c# - 我怎样才能告诉窗体在关​​闭时不要处理特定的控件?

c# - 移动后标签页标题保持在箭头按钮下方

c# - Winform 内部的框架?

c# - 如何访问 Windows.Storage 命名空间?

c# - 只有静态方法的类应该是静态的吗?

.net - System.ComponentModel.DesignerCategory ("Code") 仍然打开设计器

c# - 保持控制始终位于首位