C# Steuerelement erstellen "Setting" überschreiben

Gast #4668302
Lesenswert?

Ich habe mir ein Steuerelement gebastelt. Nun würde ich gerne eine 
Funtkion überschreiben, die ja bereits vergeben ist (Enabled).

Wie überschreibe ich denn solch bereits vergebenen Dinge (Mir fällt grad 
nicht ein wie es heißt :-D)

Normalerweise schreibe ich mir meine "Dinge" ja selbst, aber es wäre 
halt schön wenn es übergreifend wäre.

Im Bild oben habe ich einfach meine Vordergrundfarbe geändert, ich würde 
halt aber gerne einfach das direkt über das Steuerelement machen lassen.
1
        private int rotateCircle = 90;
2
        public int RotateCircle
3
        {
4
            get { return rotateCircle; }
5
            set { rotateCircle = value; Invalidate(); }
6
        }
Angehängte Dateien:
Gast #4670258
Lesenswert?

Prog R. schrieb:
> circProgessBar3.Enabled = false/true
> Enabled ist übrigens ein Property....

Das ist mir bewusst, auch ist mir bewusst wie ich dies umstelle zu 
Laufzeit, ich möchte aber das ich dieses, selbst geschriebenes 
Steuerelement, im Steuerelement selbst ändern kann wenn extern die 
Property (Danke dafür :-D ) enabled auf false gesetzt wird.
#4670277
Lesenswert?

Du musst, wie schon gesagt wurde, die Enabled-Eigenschaft überladen. 
Design-Zeit in der IDE ist bei Controls = Laufzeit. Daher kannst Du das 
Verhalten in der IDE auch zur Design-Zeit per Code anpassen.

Siehe hier:

http://stackoverflow.com/questions/298486/how-do-i-disable-visual-styles-for-just-one-control-and-not-its-children

Das Ziel ist ein anderes, das Vorgehen das gleiche.
Gast #4670301
Lesenswert?

Draco schrieb:
> ich möchte aber das ich dieses, selbst geschriebenes
> Steuerelement, im Steuerelement selbst ändern kann wenn extern die
> Property (Danke dafür :-D ) enabled auf false gesetzt wird.

Die Eigenschaft kannst du nicht überladen (nicht diese; es gibt durchaus 
virtuelle).
Aber mit der OnEnabledChanged-Methode sollte es funktionieren:

1
protected override void OnEnabledChanged(EventArgs e)
2
{
3
  if(!Enabled)
4
  {
5
     // ...
6
  }
7

8
  base.OnEnabledChanged(e);
9
}
Gast #4670412
Lesenswert?

Plauz schrieb:
> Draco schrieb:
>> ich möchte aber das ich dieses, selbst geschriebenes
>> Steuerelement, im Steuerelement selbst ändern kann wenn extern die
>> Property (Danke dafür :-D ) enabled auf false gesetzt wird.
>
> Die Eigenschaft kannst du nicht überladen (nicht diese; es gibt durchaus
> virtuelle).
> Aber mit der OnEnabledChanged-Methode sollte es funktionieren:
>

Ich danke dir, das hat geholfen! Wobei base.OnEnabledChanged bringt das 
Steuerelement in eine Endlosschleife, ohne dieses funktioniert es aber 
tadellos.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren