タイトル : Re^2: DataGridViewセルへ表示された画像のパス取得 投稿日 : 2009/09/11(Fri) 13:00 投稿者 : コンタクト
> > 開発環境 > > VS2005 C# > ここは、VB の掲示板ですよ。 もしわけありません。 板の場所を間違えないように。。。とは気にしていたのですが 言語まで気にしてなかったです。 > > ListViewに表示された画像一覧から > > ドラッグ&ドロップでDataGridViewのセルに画像を貼り付けています。 > DoDragDrop に渡すオブジェクトは、どのようなデータでしょうか。 > > 画像パスの文字列ですか? Image 継承クラス? それともListViewItem クラス? > あるいは、独自に作成した構造体/クラスなのでしょうか? 画像パスの文字列になります。 > > > 貼り付ける前に画像をStreamしてBitMapオブジェクトにしています。 > BitMap → Bitmap ですよね。(^^; > C# であるならば、大文字小文字の違いには気をつけないと。VB ならば許容できますが。 申し訳ありません。以後気をつけます。 > > > Bitmap bmp = new ("画像フルパス") > そのような構文は使えないと思いますよ。 > C# 2008 の開発段階で、その省略構文が検討された事もあったけれども、 > 最終的に var bmp = new Bitmap("画像フルパス"); 構文が採用されたはず…。 これも記入ミスです・・・・。 > で。このコードを見る限り、『画像をStreamして』という処理が > 見当たらないのですが、それはどこにあるのでしょうか? > もしかして、Bitmap(String) コンストラクタを呼び出しているのではなく、 > Bitmap(Stream) コンストラクタを呼び出しているのでしょうか? > それとも順番が逆で、Bitmap を MemoryStream 等にシリアライズしているのでしょうか? ここは別クラスから呼び出してます。 特に明記する必要ないかと思い、省きました。 > > string s = DataGridView[x],y].Value as string > これも、文法的におかしいです。 はい。。。これしか思いつかずに 長いことgoogleやメンバを探したのですが見つかりませんでした。 > > > セルに描画されたbmpのフルパスを、セルをクリックしたときに表示させるには > > どうすれば良いのか教えていただきたいです。 > この場合のセルは、画像表示用の DataGridViewImageCell ですね? > > Bitmap クラスには、元画像のパスが保存されていないので、今の作りでは無理ですが、 > パスを一緒に保持しておけば、目的を果たせるかと思います。 > 提示していただけたコードで動作確認できました。 ありがとうございます。 |