• ベストアンサー

DataGridViewにURLで指定した画像を表示したい

VB.Net 2005でウィンドウズアプリケーションを作成しています。 DataGridViewのDataGridViewImageColumnにURLで指定した画像(例:http://xxx/image.jpg)を表示したいのですが、そもそもそういうことってできるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • unamana19
  • ベストアンサー率62% (56/89)
回答No.2

''' <summary> ''' URL指定されたイメージを取得する ''' </summary> ''' <param name="imageUrl">取得するイメージのURL</param> ''' <returns></returns> ''' <remarks></remarks> Private Function GetWebImage(ByVal imageUrl As String) As Image   Using wc As New System.Net.WebClient     Using st As System.IO.Stream = wc.OpenRead(imageUrl)       Return Image.FromStream(st)     End Using   End Using End Function こっちの方がシンプルですね。。。:)

Hiroki0626
質問者

お礼

す、すごい! 感動です(ToT)できました。 一旦ローカルの特定ディレクトリに画像をダウンロードして、そいつを表示っというかなり雑なコードを書いていましたが、早速教えていただいたコードを採用させていただきます。 助かりましたぁ。 ありがとうございます!!

その他の回答 (1)

  • unamana19
  • ベストアンサー率62% (56/89)
回答No.1

''' <summary> ''' URL指定されたイメージを取得する ''' </summary> ''' <param name="imageUrl">取得するイメージのURL</param> ''' <returns></returns> ''' <remarks></remarks> Private Function GetWebImage(ByVal imageUrl As String) As Image   Using wc As New System.Net.WebClient     Dim data As Byte() = wc.DownloadData(imageUrl)     Using ms As System.IO.MemoryStream = New System.IO.MemoryStream(data)       Return Image.FromStream(ms)     End Using   End Using End Function 上記のファンクションを利用して、 Me.DataGridView1.Rows(0).Cells(0).Value = GetWebImage("http://okwave.jp/images/question1.gif") Me.DataGridView1.Rows(1).Cells(0).Value = GetWebImage("http://okwave.jp/images/question2.gif") Me.DataGridView1.Rows(2).Cells(0).Value = GetWebImage("http://okwave.jp/images/question3.gif") このように呼び出せば、画像を表示できます。 Columnタイプのチェックなどは適宜実装して下さい。 注意!上記サンプルコードは表示の関係上、半角スペースが全角スペースになっています。

関連するQ&A