"Variable hat sich geändert" - Event

NSR

Mitglied
C# "Variable hat sich geändert" - Event

Sers Community,
ich habe schon :google: und alles, aber nichts gefunden. Es geht darum,
Gibt es, wie z.B. bei einem Button das Klick Event, einen Event oder etwas in der Art, der ausgelöst wird, wenn sich eine Variable ändert (z.B. bool von true auf false, int von 5 auf 3, ...).
Das könnte man mit einem Timer machen, der dann halt entsprechend häufig ausgeführt wird (z.b. alle 10 ms). Aber das würde mir wegen den Recoursen nicht wirklich gefallen. (man bedenke alle 10 ms eine abfrage ob 500 Variablen noch ihren wert haben):) (werte bissle übertrieben aber ihr wisst was ich meine).:p
(2. Frage) weiß einer vielleicht wie sehr ein Timer wirklich auf die Recoursen schlägt? (auch bei benutzung von mehreren timern)

Wäre klasse wenn da einer was wüsste. also Danke schonmal und noch schönen Tag.
Gruß Nico
 
Zuletzt bearbeitet:
Danke für die schnelle Antwort.
Zu dieser, jep des geht. Des ist dann einfach die Abfrage in Get und Set gepackt.
Eigentlich ganz einfach, muss man trotzdem erstmal drauf kommen.
Hier noch ein Beispiel in C#:

Code:
public partial class Form1 : Form
    {
        private string ZuUeberwachendeVariable = "";
        //Das Get/Set der Variable.
        public string ZuUeberwachendeVariable1
        {
            get { return ZuUeberwachendeVariable; }
            set
            {   //Überprüfen, ob der alte und der neue Wert verschieden sind.
                if (ZuUeberwachendeVariable1 != value)
                {   //Wenn ja -> Methodenaufruf.
                    this.Mth_DasWirdAusgeloest(value);
                }
                //Variablen neuen Wert zuweisen.
                ZuUeberwachendeVariable = value;
            }
        }

        public Form1()
        {InitializeComponent();}

        //Button mit Text Variable 1;
        private void btn_Var1_Click(object sender, EventArgs e)
        { ZuUeberwachendeVariable1 = btn_Var1.Text; }
        //Button mit Text Variable 2;
        private void btn_Var2_Click(object sender, EventArgs e)
        { ZuUeberwachendeVariable1 = btn_Var2.Text; }
        //Methode, die aufgerufen wird, wenn der Wert geändert wird.
        //(Übergabeparameter muss nicht sein. Jedoch hat die Variable "ZuUeberwachendeVariable" erst nach dem Methodenaufruf den neuen Wert).
        private void Mth_DasWirdAusgeloest(string uebergabe)
        { lbl_Ausgabe.Text = uebergabe; }   //Ausgabe des neuen Wertes in einem Label.
    }

Danke nochmals für die schnelle Hilfe.
Wenn jemand noch andere Vorschläge hat dann schreibt sie einfach.
Grüße Nico
 
Ist das dein konkreter Fall den du hast?
Eigenschaft in der Form?

Ansonsten hätte ich INotifyPropertyChanged vorgeschlagen.
 

Neue Beiträge

Zurück