Ich versuche, den Text eines Buttons bei jedem Klicken zu ändern.
Schaltfläche Startet als "EIN". Wenn ich es das erste Mal klicke, sollte es auf "OFF" wechseln, und wenn ich es erneut anklicke, sollte es wieder auf On wechseln.
Ich verstehe, wie ich es auf "AUS" ändern kann, wenn ich darauf klicke, aber ich bin unsicher, wie ich nach einem zweiten Klick suchen soll, damit ich den Text wieder auf "EIN" setzen kann.
Hier ist mein Code so weit:
%Vor%Ich sehe mehrere mögliche Probleme damit und kann eine objektorientierte Lösung anbieten: Hinzufügen einer Eigenschaft, die den aktuellen "Status" verfolgt:
%Vor%und verwenden Sie den Event-Handler, um einfach die Eigenschaft umzuschalten:
%Vor%Auf diese Weise ist es einfacher, später auf die Informationen zuzugreifen, und Sie können On / Off einfach mit dem ersetzen, was Sie möchten - sogar globalisieren / lokalisieren Sie es bei Bedarf. Ich denke, es ist eine sehr schlechte Programmierpraxis, Code von dem Text auf dem Display abhängig zu machen ...
EDIT: Wäre es nicht sinnvoller, eine Checkbox oder einen Togglebutton zu verwenden? Anders als die visuelle Darstellung ist es anders, es macht was Sie wollen aus der Box ...
Testen Sie einfach den aktuellen Text:
%Vor%Edit: Wie Cody in den Kommentaren unten betont, funktioniert das bei der Lokalisierung nicht gut. Für etwas, das leichter lokalisiert werden kann, verwenden Sie ViewState (vorausgesetzt, der ursprüngliche Text dient dazu, Befehle zu aktivieren):
%Vor%Bitte erstellen Sie eine einfache Schaltfläche. Doppelklicken Sie auf die Schaltfläche und der folgende Code wird automatisch generiert.
Schreiben Sie diesen einfachen Code und führen Sie ihn aus .....
Und siehe Magic Es wird wirklich funktionieren ......
%Vor%Bitte Haben Sie weitere Fragen kontaktieren Sie mich bitte ....
Kontaktnummer: 9096713970 ...
Es gibt viele Möglichkeiten, dies zu tun.
Für mich würde ich wahrscheinlich Tag
Attribut von Control
verwenden, weil:
Hier ist der Beispielcode:
%Vor% Sie können auch den Standardwert Tag
value (true oder false) festlegen und die Überprüfung auf Nullwerte entfernen.
Sie können auch immer auf diese Weise darauf zugreifen:
Es ist nicht der beste Ansatz - es ist nur ein anderer.
Zum Beispiel hat Roman Gruber wahrscheinlich die beste Antwort gezeigt, indem er Eigenschaften verwendet, bei denen die Textänderungslogik in einen Setter eingekapselt ist.