Ein und Ausschalter

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von BeatsleigherXDA.

    Ein und Ausschalter

    Hallo liebe Gemeinde.

    Ich komme mal wieder nicht weite. Ich möchte einen Ein und Ausschalter über eine Button basteln.
    Dabei soll sich der Text im Button ändern. beim Start ist der Text des Buttons " aus ", klickt man nun drauf soll sich der Text in " ein " ändern.
    Ich habe so etwas schon gesehen und auch schon ausprobiert. Nur finde ich aber leider nicht mehr wieder.
    Das war eine "Einzeiler" etwa so :

    button1.text = " EIN " <> Button1.text = " AUS "

    Wie gesagt, in etwa so.

    Gruß

    Roland

    VB.NET-Quellcode

    1. If button1.text="Ein" then
    2. 'aus
    3. else
    4. 'ein
    5. end if
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."

    Schamash schrieb:

    VB.NET-Quellcode

    1. If button1.text="Ein" then
    Trenne GUI und Daten.
    Du machst das am Text fest, das führt mit Sicherheit zu Problemen.
    Nimm dazu Daten, ein Boolean Flag, wie es @~blaze~ gepostet hat.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Übrigens, ein Vorschlag, der mir gerade erst kam: Nutze doch CheckBox. Über die Appearance-Eigenschaft kannst du festlegen, dass sie als Button dargestellt werden soll. Das wäre wesentlich besser ersichtlich, als ein Button. Den Text kannst du dann an Checked anpassen, aber ich würde dort eigentlich festhalten, welche Funktionalität ein-/ausgeschaltet werden soll.

    Gruß
    ~blaze~
    Jepp - wenn man ohne Gimmick auskommt, dann reicht Checkbox sogar As-it-is: Schreibste "Dings läuft" - und wenn gecheckt ist trifft das zu - andernfalls nicht: Perfekte Benutzerführung, sogar besser als ein Wechsel der Aufschrift.
    Weil bei Aufschrift-Wechsel ist immer uneindeutig, ob die Aufschrift den derzeitigen Zustand aussagt, oder den, der kommt, wenn man drauf klickst.

    ErfinderDesRades schrieb:

    Weil bei Aufschrift-Wechsel ist immer uneindeutig, ob die Aufschrift den derzeitigen Zustand aussagt, oder den, der kommt, wenn man drauf klickst.

    Da hast du nicht unrecht, sind allerdings User und Coder der Sprache, die sie nutzen, mächtig, so sollte es keine Schwierigkeiten geben.
    Nutzt man den Infinitv, so ist es die Aktion, nutzt man das Partizip II so ist es der Zustand ^^
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais

    ThePlexian schrieb:

    die sie nutzen,
    Rechne mit dem Schlimmsten. Und der heißt DAU.
    Bei uns gab es mal einen Slogan, dass ein Straßenfeger von der Straße ein programm intuitiv bedienen können sollte / müsste.
    Das ist leider zum Glück nicht verifiziert worden. :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich persönlich würde eher zu einer CheckBox greifen, da kannst du eine Property setzen, dass es wie ein Button aussieht.

    Dann würde ich es wie folgt machen:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Public Enum State
    3. On, Off
    4. End Enum
    5. Private Property ActivationState As State
    6. Private Sub checkbox1_onClick(sender As Object, evt As EventArgs) Handles checkbox1.Click
    7. If (checkbox1.IsChecked) Then
    8. ActivationState = State.On
    9. Else
    10. ActivationState = State.Off
    11. End If
    12. End Sub
    13. End Class


    Selbstverständlich könntest du das auch in eine Extra-Klasse schreiben.
    "Nichts ist unendlich, bis auf die menschliche Dummheit" - Albert Einstein
    "Man sollte nicht alles vertrauen, was im Netz steht" - Abraham Lincoln