Listbox.Height anhand der Item-Anzahl

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von SystemUnknow.

    Listbox.Height anhand der Item-Anzahl

    Hallo.

    Weiß zufällig jmd wie ich die Listbox.Height anhand der Item-Anzahl herausfinden kann?
    Damit meine ich, wie groß die Listbox sein muss, damit keine Scrollbar erscheint.

    Kann ich von 13px pro Eintrag ausgehen, die beim Entwurf erkennbar sind oder hängt das auch vom OS ab?
    Für ein Mindestmaß an Rechtschreibung, Interpunktion und Majuskeln!
    Das hängt von der Schriftart ab, die in der Box verwendet wird. Je größer die Schriftart, desto größer (höher) auch der Eintrag.
    Du kannst mit der MeasureString-Methode des Graphics-Objekts die Abmessungen einer Zeichenkette mit einer bestimmten Schriftart ermitteln.
    Mit dieser lässt sich die Höhe eines Eintrages feststellen. Mit der Anzahl der Einträge multipliziert...
    Wie Kurt bereits gesagt hat, hängt es von vielen Faktoren ab. Die Schriftart, die Schriftgröße, mehrzeilig oder einzeilig. Also ich mach es immer so, ich hab eine Standardgröße im Kopf, die bei meinen Einstellungen 10 Einträge anzeigt und die rechne ich dann runter auf 1 und wieder hoch auf die Anzahl der Einträge und diese weiße ich der Höhe zu. Also die Standardhöhe steht bei mir in einer Variable
    Gibt es nicht auch ein gewisses "Padding" in den Items selber? Da würde dann Measurestring nicht reichen. Dieses Padding wäre dann von System zu System möglicher weise auch noch unterschiedlich..
    Dazu kommen noch "zwangs-Zeilenumbrüche", die entstehen könnten, wenn die Breite der Listbox verändert wird.

    Am besten wäre natürlich eine Lösung, die alles berücksichtigt. Mir fällt da nichts anderes ein, als alle Elemente der Listbox zu durchlaufen und diese in Controls zu casten, um dann die Height-Eigenschaften zu summieren. Ist aber nicht wirklich sauber; weiß auch nicht, ob das funktionieren würde.
    Edit:
    Nein, ich denke es funktioniert nicht.
    Dann lieber doch die Measurestring-methode.
    Von meinem iPhone gesendet

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nikeee13“ ()