Entwickler-Ecke
WinForms - Tabelle mit Bildern und Text füllen
Steffen124 - Fr 09.03.12 12:56
Titel: Tabelle mit Bildern und Text füllen
Hallo,
ich möchte eine Tabelle darstellen deren Zellen aus einem Bild und daneben etwas Text bestehen.
In html würde das in etwa so aussehen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| <table> <tr> <td> <img src="..."> eine Zeile Text<br> noch etwas Text<br> ... </td> <td> <img src="..."> eine Zeile Text<br> noch etwas Text<br> ... </td> </tr> </table> |
Der Text sollte neben den Bilder stehen (würde ich bei html mit css machen).
Wie mache ich so etwas am besten in c# / .NET ?
Mein erster Ansatz war ein DataGridView mit DataGridViewImageColumn. Aber wie bringe ich da den Text neben die Bilder?
Die Bilder mit dem (beschreibenden) Texten müssen dynamisch eingefügt / geändert werden.
MfG
Steffen
Moderiert von
Th69: Code-Tags hinzugefügt
mats74 - Fr 09.03.12 14:29
Hallo Steffen124
Steffen124 hat folgendes geschrieben : |
| Mein erster Ansatz war ein DataGridView mit DataGridViewImageColumn. Aber wie bringe ich da den Text neben die Bilder? |
Diese Variante habe ich auch im Einsatz. Ich habe die Texte zu den Bildern einfach in die nächste Spalte geschrieben (habe mir also das Leben einfach gemacht :wink: ).
Eine weitere Möglichkeit besteht, wenn Du eine ListView nimmst und in der Eigenschaft LargeImageList eine Imageliste hinzufügst. Dort kannst Du den Key-Text des Bildes entsprechend setzen. Der Text wird Dir dann unter dem Bild dargestellt.
C#-Quelltext
1:
| imageList1.Images.Add("Bildtext", Bild); |
Die Formatierung der Texte in diesen Zellen ist aber nicht wirklich gut und man kommt schnell an die Darstellungsgrenzen. Je nach Verwendungszweck aber einsetzbar. Weiter Möglichkeiten habe ich bis jetzt aber auch nicht gefunden, die meinen Vorstellungen entsprechen.
Die Bilder und Texte kannst Du natürlich in beiden Control's jederzeit dynamisch verändern und anzeigen lassen.
Steffen124 - Fr 09.03.12 15:15
Ich werde mir wohl Bitmaps erzeugen die ich in das dgv fülle.
Auf diese Bitmaps zeichne ich dann links mein Bild und schreibe (g.DrawString..) dann den Text daneben.
Ist vielleicht nicht die feine Art, aber wird bestimmt funktionieren.
MfG
Steffen
mats74 - Fr 09.03.12 15:29
Das ist sicherlich die aufwendigste Möglichkeit, da Du sehr viel Code erzeugen musst, um eine einigermassen gute Darstellung zu erreichen.
Aber wie Du schon sagtest, funktionieren wird es bestimmt :wink: .
lothi - Fr 09.03.12 15:58
Hallo Steffen
Du kannst auch ein FlowLayoutPanel oder TablePanel benutzen.
Da kannst du dann deine Bilder und dein Text reinsetzen.
Gruss Lothi
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!