Verwenden von System.Windows.Forms.Timer.Start () / Stop () versus Enabled = true / false
Nehmen wir an, wir sind mit dem System.Windows.Formen.Timer in einem .Net-Anwendung, gibt es einen sinnvollen Unterschied zwischen Start() und Stop () - Methoden auf dem timer, im Vergleich mit der Enabled-Eigenschaft?
Zum Beispiel, wenn wir es wollen " pause ein timer, während wir etwas verarbeiten, was wir tun konnten:
myTimer.Stop();
//Do something interesting here.
myTimer.Start();
oder wir tun könnten:
myTimer.Enabled = false;
//Do something interesting here.
myTimer.Enabled = true;
Wenn es keinen signifikanten Unterschied, ist es, einen Konsens in der community darüber, welche option Sie wählen?
InformationsquelleAutor der Frage Stewart | 2009-06-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie gesagt von beiden Bfreies und Jameses gibt keinen Unterschied in
Start
\
Stop
versusEnabled
mit Bezug auf Funktionen. Die Entscheidung jedoch auf die Nutzung basiert auf dem Kontext und Ihrem eigenen coding-style-Richtlinien. Es hängt davon ab, wie Sie möchten, dass ein Leser des Codes zu interpretieren, was du geschrieben hast.Zum Beispiel, wenn Sie wollen, um zu sehen, was Sie tun, wie das starten eines Vorgangs und beenden der operation, die Sie wahrscheinlich verwenden wollen
Start/Stop
. Jedoch, wenn Sie wollen, um den Eindruck zu erwecken, dass Sie damit die Zugänglichkeit oder Funktionalität ein feature dann mitEnabled
undtrue/false
ist eine Natürliche Passform.Ich glaube nicht, dass ein Konsens ist erforderlich, auf die nur mit einer oder der anderen, die Sie wirklich haben, um zu entscheiden, basierend auf die Bedürfnisse Ihres Codes und deren Wartung.
InformationsquelleAutor der Antwort Jeff Yates
Aus der Dokumentation von Microsoft:
http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.enabled.aspx
So, ich denke, es gibt keinen Unterschied...
InformationsquelleAutor der Antwort BFree
Nein, Sie sind eachothers entspricht.
Sehen Timer.Aktiviert und Timer.Starten /Timer.Stoppen
Hinzufügen, um Ihre Frage nach dem Konsens, ich würde sagen, es ist wahrscheinlich besser, Praxis auf der Start - /Stop-Methoden und es ist auch besser für die Lesbarkeit, nehme ich an.
James.
InformationsquelleAutor der Antwort James
Persönlich, ich weiß nicht, wie das festlegen von Eigenschaften haben zu viel Folge andere als die änderung der ein-Wert, so dass ich neigen dazu, zu bleiben, um die
Start()
/Stop()
als es klar(er) zu mir, dass, wenn Sie den Aufruf einer Methode, die Sie fordern, damit etwas passiert.Sagte, ich glaube nicht, dass es eine ganze Menge von Unklarheiten über das, was Einstellung
Enabled = true
tun 🙂InformationsquelleAutor der Antwort Jon Grant
Hier ist ein einfacher code, um zu testen, wie
Enabled
Start()
Stop()
miteinander arbeiten.Machen Sie einen test, Windows form app, fügen Sie zwei einfache Tasten und fügen Sie diesen code in
Form1()
Konstruktor:InformationsquelleAutor der Antwort Jayson Ragasa
Ich nicht verwenden
timer.Stop()
undtimer.Start()
weil Sie substimer.Enabled
. Wenn Sie möchten, stellen Sie den timer auf false zu Beginn der Anwendung (beim laden) , müssen Sie verwendet werdentimer.Enabled = false
timer.Stop()
wird nicht funktionieren. Das ist, warum ichtimer.Enabled = false/true
.InformationsquelleAutor der Antwort Ahmad