Laden...

Custom-Control override AutoSize Property

Erstellt von Duesmannr vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.235 Views
D
Duesmannr Themenstarter:in
161 Beiträge seit 2017
vor 5 Jahren
Custom-Control override AutoSize Property

Hallo,

ich habe vorerst diese Klasse:


public class TestTextBox : System.Windows.Forms.TextBox
{
    [Browsable(true)]
    public override bool AutoSize
    {
        get => base.AutoSize;
        set => base.AutoSize = value;
    }
}

Wenn ich im Designer die TextBox einfüge und die AutoSize Property auf false setze, kann ich wie erwartet die Höhe der TextBox ändern.
Wenn ich jedoch das Programm dann starte, hat die TextBox eine Höhe, wie wenn die Property wieder auf true ist.

Warum ist das so?
Auch wenn ich eine weitere Variable nehme um den Wert zu speichern, bringt dies auch nichts.

Danke für die Hilfe.

PS: Ich könnte im Konstruktor das hier ausführen:


this.AutoSize = false;

aber dann hat jede TextBox den Wert false und das soll nicht so sein.

S
322 Beiträge seit 2007
vor 5 Jahren

Hi,

versuchs mal mit dem Attribut DesignerSerializationVisibility


    public class TestTextBox : TextBox
    {
        [Browsable(true)]
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
        public override bool AutoSize
        {
            get
            {
                return base.AutoSize;
            }

            set
            {
                base.AutoSize = value;
            }
        }
    }
D
Duesmannr Themenstarter:in
161 Beiträge seit 2017
vor 5 Jahren

Es scheint zu funktionieren.
Danke!