トップ回答者
dataGridView1 セル内(画像)を選択してPictureboxに貼り付ける

質問
-
初心者です。だれか助けてください。
datagGridView1のセルに画像やテキストが貼り付けてあり、画像をダブルクリックしたら、
選択した画像をpicturebox等に表示する処理を教えてください。
現在、セルがテキストの場合は、クリップボード経由でtextboxへ貼り付けることは
できるのですが、画像をクリップボードに貼り付けることができません。
何か別に方法があるのでしょうか。
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { //選択画像を収得(クリップボードに保存する処理)・・・(不明) ・・・ ・・・ Clipboard.SetDataObject(dataGridView1.GetClipboardContent()); IDataObject data = Clipboard.GetDataObject(); //クリップボードにBitmapデータがあるか調べる if (Clipboard.ContainsImage()) { Image img = Clipboard.GetImage(); if (img != null) { //データが取得できたときは表示する pictureBox1.Image = img; } } }
以上
- 編集済み Mark_Fire 2012年12月10日 14:23
回答
-
PictureBoxに表示するだけであれば、クリップボードを利用する必要はないと思います。
dataGridViewのCellDoubleClickイベントで画像を取得してPictureBoxに表示するだけでよいのではないでしょうか。
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { DataGridViewImageCell dc = (DataGridViewImageCell)dataGridView1[e.RowIndex, e.ColumnIndex]; pictureBox1.Image = (Image)dc.Value; }
すべての返信
-
PictureBoxに表示するだけであれば、クリップボードを利用する必要はないと思います。
dataGridViewのCellDoubleClickイベントで画像を取得してPictureBoxに表示するだけでよいのではないでしょうか。
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { DataGridViewImageCell dc = (DataGridViewImageCell)dataGridView1[e.RowIndex, e.ColumnIndex]; pictureBox1.Image = (Image)dc.Value; }