DatagridViewImage
列のあるフォームがあります。この列には、system.byte() 型の 2 つのイメージが読み込まれます。
cell_click
DataGridview の画像値を画像 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;
}
}