Autore Topic: Pulsante mantenuto premuto  (Letto 216 volte)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.702
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Pulsante mantenuto premuto
« il: 15 Giugno 2023, 18:18:39 »
 :ciao:
Conoscete un modo più furbo per reiterare una operazione quando il pulsante viene tenuto premuto?
Codice: [Seleziona]
Private i As Integer
Private bb As Boolean

Public Sub Button1_MouseDown()

    bb = True
    Inc i
    Print i
    Timer1.Start

End

Public Sub Button1_MouseUp()

    bb = False

End


Public Sub Timer1_Timer()

    If bb = True Then Button1_MouseDown

End
:ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Pulsante mantenuto premuto
« Risposta #1 il: 15 Giugno 2023, 20:20:08 »
...sebbene non risponda pienamente alla tua domanda, io modificherei il tuo codice un po' così:
Codice: [Seleziona]
Private i As Integer
Private bb As Boolean = True

Public Sub Button1_MouseDown()

  Timer1.Start

End

Public Sub Button1_MouseUp()

  bb = False

End

Public Sub Timer1_Timer()

  If Not bb Then Timer1.Stop
   
  Inc i
  Print i

End
« Ultima modifica: 15 Giugno 2023, 20:22:41 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Pulsante mantenuto premuto
« Risposta #2 il: 15 Giugno 2023, 20:25:12 »
...o migliorando ancora la mia modifica:
Codice: [Seleziona]
Private i As Integer


Public Sub Button1_MouseDown()

  If Not Timer1.Enabled Then Timer1.Start

End

Public Sub Button1_MouseUp()

  Timer1.Stop

End


Public Sub Timer1_Timer()

  Inc i
  Print i

End
« Ultima modifica: 15 Giugno 2023, 22:29:50 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.702
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Pulsante mantenuto premuto
« Risposta #3 il: 16 Giugno 2023, 07:28:00 »
Grazie vuott!
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)