我有一个带有 DatagridViewImage
列的表单。此列加载了 2 个类型为 system.byte() 的图像。
如何将 DataGridview cell_click
上的图像值从图像 1 更改为图像 2,反之亦然?
最佳答案
这可能对你有用:
我加载了 2 张图片
我创建了一个 DataGridViewImageColumn 并将名称和标题文本设置为图像
我将 DataGridViewImageColumn 添加到 DataGridView
我订阅了DataGridView的单元格点击事件
在单元格点击事件中,我检查了被点击的单元格是否在图像列中
如果单元格在图像列中,我会切换出图像。
代码如下:
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/