2016-04-05 6 views
0

I-Bild aus dem Zugriff angezeigt werden soll und zeigen, dass auf einem Formular in vb.netanzeigen Bild von Zugang und zeigt auf Formular in vb.net

Ich habe dies für die Anzeige Informationen:

info.TextBox5.Text = DataGridView1.SelectedRows(0).Cells(5).Value 

jetzt habe ich versucht, so etwas wie dies für Bilder:

info.PictureBox1.Image = DataGridView1.SelectedRows(0).Cells(6).Value 

Aber ich habe einen Fehler:

Can not associate the type of Object ' System.Byte []' to type ' System.Drawing.Image ' .

Können Sie mir helfen?

Antwort

0

verwenden:

Using ms As New MemoryStream(CType(DataGridView1.SelectedRows(0).Cells(6).Value, Byte())) 
    info.PictureBox1.Image = New Bitmap(ms) 
End Using 

Da Sie ein Byte() zu einem Bild nicht einfach zuordnen können, müssen Sie zunächst ein Bitmap aus den Daten erstellen.

Also, was der oben genannte Code tut, ist:

  • Erstellt ein neues Memorystream mit den von DataGridView1.SelectedRows(0).Cells(6).Value zurück Byte().
  • Initialisiert einen neuen Bitmap mit den Daten in diesem Stream, sodass Sie ihn der Image-Eigenschaft Ihres PictureBox zuweisen können.
+0

Habe diesen Fehler, wenn ich das versuche: Fehler 1 Typ 'MemoryStream' ist nicht definiert. –

+0

Ach komm schon, hat VS keine Lösung vorgeschlagen? :) Was auch immer, Sie müssen 'Imports System.IO' oben auf der Codedatei verwenden. –

+0

Hahahaha, das habe ich schon gedacht. Jetzt habe ich einen anderen Fehler: " Kann den Typ des Objekts 'System.Byte []' nicht dem Typ 'System.IO.MemoryStream" zuordnen –

0

dim str as string = DataGridView1.SelectedRows (0) .Cells (5) .Wert

wenn str <> String.Empty dann info.TextBox5.Text = str end if

Verwandte Themen