3

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

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

4

1 回答 1

3

这可能对您有用:

  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;
    }
}
于 2013-07-01T04:12:31.070 回答