Mehrere Befehle auf ein Button packen und sie einzelnd per Klick abfragen ?

  • VB.NET

Es gibt 26 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    SkyHoca schrieb:

    um 10 zb erhöhen
    Da gibt es prinzipiell 2 Möglichkeiten.
    1. Entweder Du zählst die Schritte, die Du benötigst
      oder
    2. Du misst die Zeit, die Du für die einzelnen Schritte benötigst.
    1. ist sehr einfach, einfach Maximum auf schrittanzahl setzen und pro Schritt um 1 erhöhen, das sieht allerdings blöd aus, wenn gleiche Abstände in sehr unterschiedlichen Zeiten absolviert werden.
    2. sinnvoll nur bei automatischan Abläufen, die zeitproportional ohne User-Eingriff erfolgen.
    Da musst Du ein Mal die Zeiten aufnehmen, daraus ein entsprechendes Maximum ermitteln und dann die Zeitdifferenzen als Inkrement verwenden.
    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!
    @VB1963 verstehe nicht ganz was du meinen möchtest mit deinem Index Post. Also ich möchte nur das wenn ich das 2te mal auf den Button klicke, sich der Text halt ändert. Habe es so versucht:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim Baum As String = "Fortfahren"
    3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. Label1.Text = Baum
    5. ' Hier sollte die Pause sein wo ich auf den Button nochmal drücken muss damit er den nächsten Befehl ausführt
    6. Label1.Text = "Hallo"
    7. End Sub
    8. End Class


    Was index usw angeht bin ich noch ein Anfänger und verstehe deshalb vieles darunter auch die Fachbegriffe nicht. Eine leichte Erklärung mit Beispielen wäre nicht schlecht :)
    Das geht alles ohne Select Case oder klassenweiten Booleans/Integers

    VB.NET-Quellcode

    1. Public Class ButtonTestForm
    2. Private Sub Weiter_Click(sender As Object, e As EventArgs) Handles Weiter.Click
    3. Dim Strings() As String = {"Start", "Seite1", "Seite2", "Seite3", "Seite4"}
    4. Static Ptr As Integer = 0
    5. Ptr = (Ptr + 1) Mod Strings.Length
    6. CType(sender, Button).Text = Strings(Ptr)
    7. End Sub
    8. End Class

    Sinnvoll wäre allerdings, anstatt Strings ein Array (oder eine List) von Objekten zu verwenden und diese dann zur Weiterverarbeitung heranzuziehen.
    Aber mir scheint, dass der TE die objektorientierte Denkweise noch nicht vollständig aufgesogen hat.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „petaod“ ()

    Da können wir dir nicht wirklich helfen. Wir können bzw. werden dir nicht einfache Grundlagen von VB erklären einfach deshalb, weil es dazu genug auf MSDN und Google gibt. Auch gibt es genug Wissen in den Unterforen von VBP und du könntest dir auch einfach mal eine der hier empfohlenen Lektüre besorgen(ein paar sind kostenlos).

    LG
    @SkyHoca: knöpf dir petaod und sein Code aus post#24 vor, und bring den zum Laufen. Halte dich an dem, und lass dich durch abweichende Vorschläge nicht beirren - viele Wege führen nach Rom, aber man kann immer nur jeweils einen Weg gehen.

    Bei Fragen fragen, und zwar konkret fragen.
    Über "ich versteh nur Bahnhof" und "ist mir zu hoch" rege ich zumindest mich auf, weil wenn jmd zu blöde ist, anzugeben, was er nicht versteht - ja da kann man dann nicht mehr helfen.
    Hingegen Array, Index, Select Case etc. kann man imo durchaus erklären, am besten am Beispiel, und Petaod hat ja nun eins geliefert, daher vorrangig ist, dass du es ans laufen bringst.