c# - 更改 datagridview 单元格上的 system.byte() 值单击

标签 c# vb.net

我有一个带有 DatagridViewImage 列的表单。此列加载了 2 个类型为 system.byte() 的图像。

如何将 DataGridview cell_click 上的图像值从图像 1 更改为图像 2,反之亦然?

最佳答案

这可能对你有用:

  1. 我加载了 2 张图片

  2. 我创建了一个 DataGridViewImageColumn 并将名称和标题文本设置为图像

  3. 我将 DataGridViewImageColumn 添加到 DataGridView

  4. 我订阅了DataGridView的单元格点击事件

  5. 在单元格点击事件中,我检查了被点击的单元格是否在图像列中

  6. 如果单元格在图像列中,我会切换出图像。

代码如下:

private Image image1 = Bitmap.FromFile("C:/Image1.png");
private Image image2 = Bitmap.FromFile("C:/Image2.png");

public void dgvInit()
{
    DataGridViewImageColumn imgColumn = new DataGridViewImageColumn();
    imgColumn.Name = "images";
    imgColumn.HeaderText = "images";
    imgColumn.Image = this.image1;          
    this.dataGridView1.Columns.Add(imgColumn);
    this.dataGridView1.Rows.Add(new DataGridViewRow());
    this.dataGridView1.CellClick += new 
        DataGridViewCellEventHandler(dataGridView1_CellClick);          
}

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    if (this.dataGridView1.Columns[e.ColumnIndex].HeaderText == "images")
    {
        DataGridViewImageColumn imgColumn =
            (DataGridViewImageColumn)this.dataGridView1.Columns[e.ColumnIndex];
        if (imgColumn.Image == this.image1) imgColumn.Image = image2;
        else imgColumn.Image = image1;
    }
}

关于c# - 更改 datagridview 单元格上的 system.byte() 值单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17397061/

相关文章:

c# - 如何将项目动态添加到 WrapPanel?

vb.net - 从 UserControl vb.net 中删除属性和事件

c# - 有没有一种方法可以在不使用图形对象的情况下测量适合打印区域的字符串的数量?

c# - 执行位于 JavaScript 代码隐藏中的函数?

c# - 可以创建多少个嵌套控件?

c# - 使用 Web API 在 CRM 数据库中添加查找 GUID 字段时出现错误请求错误

c# - Winforms、数据绑定(bind)、列表框和文本框

c# - 以编程方式限制外部进程资源

c# - 将 VBA 转换为 .NET 语言

c# - 在 Microsoft 测试项目中包含资源 dll