Benutzer mit den meisten Antworten
1 spaltige Liste/Listbox mit RTF-Control pro Listeneintrag

Frage
-
Hallo,
ich möchte eine einspaltige "Liste" als Abfolge von RTF-Controls programmieren. Die Anzahl der Einträge ist variabel und muss zur Laufzeit verändert werden können. Ich bin auf der Suche nach Tipps, welches Vorgehen (Listbox mit wie auch immer gebundenen RTF-Controls, RTF-Controls in irgendeinem anderen Container (damit man rauf und runter scrollen kann) oder ??) ihr empfehlen würdet. Das ganze mit VB.NET VS2010.
Danke für alle Tipps
Gruss Carsten
Antworten
-
Hallo Carsten,
einige weitere Informationen, wer oder was dort gebunden werden soll, wäre hilfreich.
Und auch wie die Informationen darstellt werden sollen: Haben sie unterschiedliche Umfang
(was die Steuerelementgröße beinflussen würde)Eine ListBox lässt sich nur schlecht als Container für weitere Steuerelemente verwenden,
da zunächst nur ein Ownerdraw vorgesehen ist, es fehlt jedoch jegliche Steuerung
bezüglich Eingabefokus usw. Was eine Implementation relativ aufwändig macht.Eine bessere Alternative kann ein TableLayoutPanel sein.
In der obigen Übersicht findest Du einige Vorgehensweisen
zum Erstellen, zur Größenanpassung (für variablen RTF Steuerelemente).Wenn Du das TableLayoutPanel zu dem in ein Panel mit gesetzter AutoScroll Eigenschaft packst,
bekommst Du automatisiertes Scrollen dazu.Nachteilig zur LIstBox ist allerdings, dass man die Steuerelemente
entsprechend der Anzahl der Liste selbst erzeugen muß.Gruß Elmar
- Als Antwort markiert CarstenDD Freitag, 12. November 2010 17:47
Alle Antworten
-
Hallo Carsten,
einige weitere Informationen, wer oder was dort gebunden werden soll, wäre hilfreich.
Und auch wie die Informationen darstellt werden sollen: Haben sie unterschiedliche Umfang
(was die Steuerelementgröße beinflussen würde)Eine ListBox lässt sich nur schlecht als Container für weitere Steuerelemente verwenden,
da zunächst nur ein Ownerdraw vorgesehen ist, es fehlt jedoch jegliche Steuerung
bezüglich Eingabefokus usw. Was eine Implementation relativ aufwändig macht.Eine bessere Alternative kann ein TableLayoutPanel sein.
In der obigen Übersicht findest Du einige Vorgehensweisen
zum Erstellen, zur Größenanpassung (für variablen RTF Steuerelemente).Wenn Du das TableLayoutPanel zu dem in ein Panel mit gesetzter AutoScroll Eigenschaft packst,
bekommst Du automatisiertes Scrollen dazu.Nachteilig zur LIstBox ist allerdings, dass man die Steuerelemente
entsprechend der Anzahl der Liste selbst erzeugen muß.Gruß Elmar
- Als Antwort markiert CarstenDD Freitag, 12. November 2010 17:47
-
Hallo Elmar,
danke für die Erläuterungen und Tipps. Zu deiner Frage, wer oder was gebunden werden soll: Es handelt sich um die Codedarstellung von Prozesselementen aus einer Kundensoftware in n-RTF-Texteingabe-Controls. Es handelt sich immer um 2 RTFs, eines mit einer max. Textlänge von 1024 und eines mit 4000 Zeichen. Es werden also pro Prozesselement (die in einer XML-Datei mit einer Reihe von weiteren Informationen zur Verfügung stehen) immer 2 RTF-Controls hinzugefügt und mit dem entsprechenden Code befüllt. Der Anwender kann den Code editieren und er wird dann beim Speichern wieder in eine XML-Datei zurückgeschrieben. RTF, um Syntaxhighlighting zu ermöglichen. Weitere Steuerelemente gibt es innerhalb dieser "Liste" nicht.
Ich werde mich mit deinen Tipps detailliert auseinandersetzen. Das sieht recht interessant aus.
Solltest du aufgrund meiner zusätzlichen Informationen noch weitere Tipps haben, bin ich sehr dankbar dafür.
Danke
Gruss Carsten