Laden...

Bild in DatagridviewComboBox darstellen

Erstellt von -Hades- vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.626 Views
-
-Hades- Themenstarter:in
171 Beiträge seit 2007
vor 10 Jahren
Bild in DatagridviewComboBox darstellen

Hallo,

ich würde gerne ein Bild in einer DatagridviewComboBox darstellen, am besten ohne Draw-Methoden überschrieben zu müssen.

Ich habe eine Tabelle, in der die ID für eine andere Tabelle hinterlegt ist. In dieser befindet sich das Bild. Also mit Text ist sowas ja sehr leicht mit einer Combobox und den Display- und Valuemember eigenschaften zu lösen. Das einzige was fehlt ist, den referenzierten Wert als Image anzeigen zu können. Stattdessen wird nur das byte-Array angezeigt.

Ich hoffe ich habe nur übersehen wie das geht oder womöglich hat jemand schon eine abgeleitete Klasse geschrieben die das ermöglicht?

Gruß -Hades-

5.657 Beiträge seit 2006
vor 10 Jahren

Hi -Hades-,

die Bitmap-Klasse hat einen Konstruktor, der eine Referenz auf das Byte-Array erwartet: Create Bitmap object from array

Christian

Weeks of programming can save you hours of planning

-
-Hades- Themenstarter:in
171 Beiträge seit 2007
vor 10 Jahren

Hi,

also ich habe kein Problem aus einem Byte-Array eine Bitmap zu erzeugen. Es geht darum ein Image in einer DatagridViewComboBox darzustellen. Eine ImageBox möchte ich nicht nehmen, dann müsste ich die DataTable selbst zusammenbauen. Da das Byte-Array für das Image aber schon in einer Tabelle referenziert ist wäre es viel schöner wenn das mit der ComboBox geht, dann könnte ich den Display- und Valuemember setzen und fertig.

5.657 Beiträge seit 2006
vor 10 Jahren

Verstehe ich nicht. Wenn du ein Bild anzeigen willst, brauchst du ein Bild (Image oder Bitmap). Aber du hast nur ein Byte-Array. Also mußt du umwandeln.

Christian

Weeks of programming can save you hours of planning

-
-Hades- Themenstarter:in
171 Beiträge seit 2007
vor 10 Jahren

Nehmen wir mal die ImageBox des Datagridview, die bekommt auch nur ein Byte-Array und wandelt dieses selbstständig in ein Image um und zeigt es an. Eben diese Funktionalität wäre für die ComboBox wünschenswert, damit ich die DataTable nicht selbst zusammenbauen muss, da das Byte-Array über eine ID referenziert ist.

Denkbar wäre ja eine Eigenschaft der DatagridViewComboBox namens: ValueIsImage und alles wäre gut. 😉

5.657 Beiträge seit 2006
vor 10 Jahren

Nehmen wir mal die ImageBox des Datagridview, die bekommt auch nur ein Byte-Array und wandelt dieses selbstständig in ein Image um und zeigt es an.

Achso, verstehe. Aber wenn es soetwas nicht gibt, kann man es leicht nachprogrammieren.

Christian

Weeks of programming can save you hours of planning

-
-Hades- Themenstarter:in
171 Beiträge seit 2007
vor 10 Jahren

Ich hoffe das hat schon jemand getan. Aber könnte ja sein das das auch schon geht... etwas versteckt.

771 Beiträge seit 2009
vor 10 Jahren

Du wirst auf jeden Fall selber zeichnen müssen, wie unter DataGridViewComboBoxColumn soll verschiedenfarbige Einträge enthalten beschrieben. Und dann halt das Byte-Array dort in ein Image umwandeln und dann per DrawImage zeichnen.

4.221 Beiträge seit 2005
vor 10 Jahren

Schau mal wie das in einer ListBox geht: Listbox für Bilder

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...