Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie kann ich den BorderStyle in UserControl zurücksetzen
braesident
myCSharp.de - Member



Dabei seit:
Beiträge: 15
Herkunft: Berlin

Themenstarter:

Wie kann ich den BorderStyle in UserControl zurücksetzen

beantworten | zitieren | melden

Hi Leute,

Ich habe ein Control erstellt bei welchem als BorderStyle FixedSingle gesetzt ist.
Zieh ich nun das Control aus der Toolbox in eine Form und setze den BorderStyle auf None hat dies keine Auswirkung.
Ist ja auch logisch, da das None nicht in die InitializeComponent der Form geschrieben wird.

Ist es irgendwie möglich das dies doch passiert?
private Nachricht | Beiträge des Benutzers
p!lle
myCSharp.de - Member

Avatar #avatar-3556.jpg


Dabei seit:
Beiträge: 1053

beantworten | zitieren | melden

Fühlt sich irgendwie wie ein Bug an.

Andere Eigenschaften (z.B. Background) kann man ja auch problemlos nochmal setzen und er übernimmt es, nur bei der Border scheint das nicht zu klappen.

EDIT sagt noch: BorderStyle.Fixed3D geht - BorderStyle.None aber nicht.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von p!lle am .
private Nachricht | Beiträge des Benutzers
braesident
myCSharp.de - Member



Dabei seit:
Beiträge: 15
Herkunft: Berlin

Themenstarter:

beantworten | zitieren | melden

Ja ich denke das es daran liegt, das BorderStyle.None das Default Value zu sein scheint - Zumindest für den Designer - Denn auf MSDN steht zum UserControl.BorderStyle das es Fixed3D ist
private Nachricht | Beiträge des Benutzers
Deaktiviertes Profil
myCSharp.de - Member



Dabei seit:
Beiträge: 996

beantworten | zitieren | melden

So


public partial class UserControl1 : UserControl
{
    public UserControl1()
    {
        InitializeComponent();
    }

    [DefaultValue(BorderStyle.FixedSingle)]
    public new BorderStyle BorderStyle
    {
        get => base.BorderStyle;
        set => base.BorderStyle = value;
    }
}
Damit das auch wirkt: Solution entladen, Solution laden und schon geht es
private Nachricht | Beiträge des Benutzers
braesident
myCSharp.de - Member



Dabei seit:
Beiträge: 15
Herkunft: Berlin

Themenstarter:

beantworten | zitieren | melden

Vielen Dank Sir Rufo
private Nachricht | Beiträge des Benutzers
p!lle
myCSharp.de - Member

Avatar #avatar-3556.jpg


Dabei seit:
Beiträge: 1053

beantworten | zitieren | melden

Trotzdem komisch, dass das normale Setzen nicht ausreicht.
private Nachricht | Beiträge des Benutzers
Deaktiviertes Profil
myCSharp.de - Member



Dabei seit:
Beiträge: 996

beantworten | zitieren | melden

Was ist denn daran komisch?

Wenn der Designer einen Eigenschaftswert bekommt, der gleich dem Default-Wert der Eigenschaft ist, dann wird dieser Wert im generierten Code nicht aufgenommen.

Möchte man nun einen anderen Default-Wert haben, dann muss man das auch mitteilen.
private Nachricht | Beiträge des Benutzers