Priorität beim drücken mehrerer Button in einer Form

  • VB.NET

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Priorität beim drücken mehrerer Button in einer Form

    Guten Abend !

    Ich habe folgende winzige Frage und zwar habe ich mehrere Butten auf einer Form
    und wenn ich den nächsten drücke muss ich den meist 2x drücken um die Funktion auszulösen

    Wie kann ich das am besten regeln so dass es auch keine Probleme gibt wenn ich den
    gleichen mehrmals drücke ?

    LG
    zu 1. (( Das du ein Button 2x drücken musst, kommt doch nur vor, wenn die Form in dem sich der Button befindet nicht den Focus hat ))
    Nein offenbar reicht es einen anderen Butten kurtz zu drücken !

    ZU 2. (( Button oder ToolStripPutton? ))
    Ja ein normaler Butten

    So sieht der Code aus und wenn ich von Play auf Timer zum Vorlauf gehe muss ich den immer 2x drücken




    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    2. Timer2.Enabled = False
    3. Timer3.Enabled = False
    4. Me.AxWindowsMediaPlayer1.URL = pfad & ListBox1.Items(ListBox1.SelectedIndex) & "\" & ListBox2.Items(ListBox2.SelectedIndex) & ComboBox1.Text.ToString
    5. Do Until Me.AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped
    6. Application.DoEvents()
    7. If Me.AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
    8. If ListBox2.SelectedIndex < ListBox2.Items.Count - 1 Then
    9. ListBox2.SelectedIndex = ListBox2.SelectedIndex + 1
    10. ListBox2.SelectionMode = SelectionMode.One
    11. Me.AxWindowsMediaPlayer1.URL = pfad & ListBox1.Items(ListBox1.SelectedIndex) & "\" & ListBox2.Items(ListBox2.SelectedIndex) & ComboBox1.Text.ToString
    12. Else
    13. Exit Do
    14. End If
    15. End If
    16. Loop
    17. If MessageBox.Show("ES WURDE ALLES ABGESPIELT !") Then
    18. Me.AxWindowsMediaPlayer1.close()
    19. End If
    20. End Sub
    21. 'Vor und zurück spulen Anfang
    22. Private Sub Button19_Click(sender As Object, e As EventArgs) Handles Button19.Click
    23. Timer3.Enabled = False
    24. If Timer2.Enabled = False Then
    25. Timer2.Enabled = True
    26. Timer2.Interval = 100
    27. Else
    28. Timer2.Enabled = False
    29. End If
    30. End Sub
    31. Private Sub Button20_Click(sender As Object, e As EventArgs) Handles Button20.Click
    32. Timer2.Enabled = False
    33. If Timer3.Enabled = False Then
    34. Timer3.Enabled = True
    35. Timer3.Interval = 100
    36. Else
    37. Timer3.Enabled = False
    38. End If
    39. End Sub
    40. Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
    41. AxWindowsMediaPlayer1.Ctlcontrols.currentPosition += 1
    42. End Sub
    43. Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick
    44. AxWindowsMediaPlayer1.Ctlcontrols.currentPosition -= 1
    45. End Sub
    46. 'Vor und zurück spulen Ende



    Und ne Empfehlung für en kurtzes aber gutes  VB Syntax Highlight such ich noch ^^
    LG Andre

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TVX“ ()

    Irgendwas haut dazwischen. :S
    Wozu brauchst Du die vielen Timer?
    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!
    So hab Mittagspause .... ^^

    Timer benutze ich zum schnellen vorspulen oder rückspulen ,aber dazu würde auch einer für beides reichen

    Im butten prüfen ob butten gedrückt oder losgelassen und im Timer prüfen welcher Butten es ist ...

    Ich dachte auch das es an der schleife liegt da die ja aktiv bleibt !?

    Zudem sollte auch ein Click reichen wenn ich zuvor außerhalb der Form war

    Im ersten Moment käme mir dann in den Sinn der Form einen Mausklick zu verpassen ,

    wenn der Mauszeiger auf die Form bewegt !

    Nun die Frage hierzu gibt es eine Möglichkeit die Priorität der (( Form selbst )) zu testen ???


    Im Grosen ganzen habe ich meinen alten Player um ein paar Funktionen erweitert ,die ich nun in der alten
    Fasade des Players teste .
    Da ich noch nicht ganz sicher bin über das Ausmaß der Erweiterung kann ich dort in ruhe testen .
    Wenn das dann alles so ist wie ich mir das vorstelle ,setze ich alles neu auf und unterteile alles in Funktionen ,
    so das ich da mal Ordnung bekomme... :)

    LG Andre....

    TVX schrieb:

    Timer benutze ich zum schnellen vorspulen oder rückspulen
    Ist es da nicht besser, je einen Button für +/- 1, +/- 10, +/- 60 oder so zu machen?
    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!
    Ein Lied ist unter anderm schon lang und um eine genaue stelle zu treffen eigneten sich schritte von 1 bis max 5 und das
    man sich dann nicht zu tode drückt auf em Button kommt dann halt der Timer ins Spiel
    Die zweite Möglichkeit währe einen Regler zu nutzen ,da ich die mp3 länge wiso auslese für die Zeitangabe
    kann ich die ach als Obergrenze des Reglers festlegen - 0 bis x

    Oder versteh ich da was an deiner Darstellung falsch ??? (( +/- 1, +/- 10, +/- 60 )) ???
    Denke das hat was zu bedeuten ,wie ich es nicht kenne !?

    TVX schrieb:

    Denke das hat was zu bedeuten
    <<<|<<|<|>|>>|>>>
    -60 s|-10s|-1s|+1s|+10s|+60s
    oder wie auch immer
    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!
    Mercy jetzt hats Click gemacht ^^

    Was ich mal fragen wollte ,damals wollte ich den vcl Player einspannen der lies sich aber
    nicht ausführen irgend ne Regestrierung fehlte !

    (( Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

    Ich bin eigentlich ein Fan von vcl und würde ihn schon gern mal verwenden ^^

    TVX schrieb:

    oder wieder losgelassen wurde ?
    Sieh Dir mal das an:
    Down, Up

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    3. Debug.WriteLine("Click")
    4. End Sub
    5. Private Sub Button1_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyDown
    6. Debug.WriteLine("KeyDown")
    7. End Sub
    8. Private Sub Button1_KeyUp(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyUp
    9. Debug.WriteLine("KeyUp")
    10. End Sub
    11. Private Sub Button1_MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
    12. Debug.WriteLine("MouseDown")
    13. End Sub
    14. Private Sub Button1_MouseUp(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
    15. Debug.WriteLine("MouseUp")
    16. End Sub
    17. End Class
    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!
    Ok das kann man verwenden ,aber gibt es dafür keine direckte if Abfrage

    Ich fand noch was von Dir :

    VB.NET-Quellcode

    1. If (sender Is Button1) Then
    2. MessageBox.Show("Button1")
    3. ElseIf (sender Is Button2) Then
    4. MessageBox.Show("Button2")
    5. End If


    Damit werd ich dann noch meine Timer reduzieren ^^

    TVX schrieb:

    aber gibt es dafür keine direckte if Abfrage
    Du musst da halt ein Flag benutzen, das kannst Du dann abfragen.
    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!
    OK

    Bin am überlegen ob ich Button nutze oder auslöse
    mit klick wenn in vorgegebener Position in Form oder en Multifunktionsbutton
    oder sonst was weil mir die butten nicht gefallen ^^

    Wie nennt sich das wo man zb Butten in Formrand setzen kann - Googel hat mich heut nicht lieb :wacko:

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

    TVX schrieb:

    Butten in Formrand setzen kann
    :?: :?: :?:
    Was soll das sein?
    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!