Individuare uno specifico Controllo con Last in base alla sua Proprietà ".Id"

Da Gambas-it.org - Wikipedia.
Versione del 26 giu 2024 alle 15:23 di Vuott (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Avendo più Controlli grafici, appartenenti al medesimo Gruppo di Eventi, si vuole individuare il Controllo che ha sollevato l'Evento (comune ai tre Oggetti), usando l'istruzione LAST all'interno di quella routine dell'Evento.
Per individuare il Controllo grafico che ha sollevato l'Evento, si potrà usare la Proprietà ".Id" dell'istruzione LAST, qualora non si disponga, oppure non si intenda utilizzare la Proprietà ".Name" o altre Proprietà del Controllo grafico.

Mostriamo un esempio pratico, nel quale su un Form sono presenti tre Button, tutti appartenenti al medesimo Gruppo degli Eventi. Si individuerà con la loro Proprietà ".Id" via Last, quale di essi è stato premuto dall'utente.

Private bt1 As Button
Private bt2 As Button
Private bt3 As Button


Public Sub Form_Open()

  With bt1 = New Button(Me) As "BT"
    .W = 50
    .H = 50
    .X = 50
    .Y = 100
  End With
  With bt2 = New Button(Me) As "BT"
    .W = 50
    .H = 50
    .X = 125
    .Y = 100
  End With
  With bt3 = New Button(Me) As "BT"
    .W = 50
    .H = 50
    .X = 200
    .Y = 100
  End With

End


Public Sub BT_Click()  ' Cliccando su uno dei Controlli grafici ("Button") appartenenti al Gruppo degli Eventi "BT", verrà sollevato questo Evento [nota 1]

  Select Case Last.Id
    Case bt1.Id
      bt1.Background = Color.Red 
    Case bt2.Id
      bt2.Background = Color.Green
    Case bt3.Id
      bt3.Background = Color.Blue
  End Select

End


Note

[1] Vedere anche le seguenti pagine: