Laden...

Zeilenabstand checkedListbox .net-Framework 4.7.3

Erstellt von joerg55 vor 3 Monaten Letzter Beitrag vor 3 Monaten 260 Views
J
joerg55 Themenstarter:in
13 Beiträge seit 2023
vor 3 Monaten
Zeilenabstand checkedListbox .net-Framework 4.7.3

Hi zusammen,

ich möchte den Zeilenabstand einer checkedListbox (unabhängig von der Schriftart) einstellen. Ich nutze Visual Studio Community 2019 mit .net-Framework 4.7.3 und dementsprechend C# 7.3.

Weiß jemand, wie es geht? (und verrät es mir auch hier 😉 )

Gruß Joerg

A
763 Beiträge seit 2007
vor 3 Monaten

Hallo joerg55

Das ist nicht ohne weiteres möglich.

Man kann zwar CheckedListBox überschreiben:

public class CheckedListBoxWithCustomHeight : CheckedListBox
{
    private int itemHeight = 40;
    [Browsable(true)]
    [Category("Behavior")]
    public override int ItemHeight { get => this.itemHeight; set => this.itemHeight = value; }
}

Aber die Schrift selbst wird nicht verschoben.

J
joerg55 Themenstarter:in
13 Beiträge seit 2023
vor 3 Monaten

Na ja, der Abstand der Texte ist ja auch entsprechend der Checkboxen. Der müsste nur noch vertikal zentriert zu den Kästchen stehen...

Bekommst du das auch noch hin?

4.917 Beiträge seit 2008
vor 3 Monaten

Hallo und willkommen,

du müßtest dann den Text (+ CheckBox) selber zeichnen (Stichwort: OwnerDraw) - ein paar Anregungen dazu gibt es in Can I use a DrawItem event handler with a CheckedListBox?

Edit: Evtl. wäre eine ListView mit View = View.Details und CheckBoxes = true einfacher zu benutzen?

J
joerg55 Themenstarter:in
13 Beiträge seit 2023
vor 3 Monaten

Hi TH69,

Edit: Evtl. wäre eine ListView mit View = View.Details und CheckBoxes = true einfacher zu benutzen?

Das hatte ich auch schon überlegt. Allerdings scheint (mir) das ListView relativ komplex und ich wollte mir die Einarbeitung für später aufheben 😃 .

Kann man denn dort die Zeilenabstände einstellen?

4.917 Beiträge seit 2008
vor 3 Monaten

Entweder auch dort eine große Schriftart angeben und dann im DrawItem-Ereignis mit einer kleineren Schriftart zeichnen oder aber eine Dummy-ImageList angeben, s. z.B. C# - ListView Item Spacing (Padding) oder Setting Row Height of ListView.