none
1 spaltige Liste/Listbox mit RTF-Control pro Listeneintrag RRS feed

  • 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

    Montag, 1. November 2010 17:22

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
    Dienstag, 2. November 2010 10:41
    Beantworter

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
    Dienstag, 2. November 2010 10:41
    Beantworter
  • 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

    Dienstag, 2. November 2010 13:21