none
dataGridView1 セル内(画像)を選択してPictureboxに貼り付ける RRS feed

  • 質問

  • 初心者です。だれか助けてください。

    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
    2012年12月10日 14:22

回答

  • 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;
    }
    • 編集済み t.jin 2012年12月10日 15:32 コードブロックの挿入
    • 回答としてマーク Mark_Fire 2012年12月11日 12:11
    2012年12月10日 15:30

すべての返信

  • 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;
    }
    • 編集済み t.jin 2012年12月10日 15:32 コードブロックの挿入
    • 回答としてマーク Mark_Fire 2012年12月11日 12:11
    2012年12月10日 15:30
  • ここ数日、悩んでおりました。助けていただきまして

    本当にありがとうございました。

    以上

    2012年12月11日 12:13