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-
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
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.
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
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. 😉
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
Ich hoffe das hat schon jemand getan. Aber könnte ja sein das das auch schon geht... etwas versteckt.
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.
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...