...non so se mi spiego, kicco !
Ti sei spiegato molto bene e riflettevo anche su un errore concettuale che ho fatto.
Quando nell'ide pongo un Button nel form, non sto ancora istanziando l'oggetto, sto solo "preparando" il codice per farlo.
È solo nel momento dell'esecuzione che avviene la creazione dell'oggetto e a quel punto il Name dell'oggetto non è più modificabile penso proprio per quello che tu scrivi:
Se vuoi modificare il nome di una Variabile, significa che vuoi... cambiare Variabile..
Adesso allora devo capire come cambiare il colore di un button che ho istanziato più di una volta così:
With BT = New Bottone(PictureBox1) As "Tasto"
partendo dalla classe Bottone che ho creato.
Perchè avevo pensato di usare appunto .name per distinguerli!
...e invece...
Grazie ancora Vuott :-*
:ciao:
Perchè avevo pensato di usare appunto .name per distinguerli!
...e invece...
Questo argomento è già stato affrontato varie volte :P
Completa questo codice: http://www.gambas-it.org/smf/index.php?topic=7116.msg46096#msg46096
Con:
Private myButton As CButton
Public Sub Form_Open()
myButton = New CButton(Me) As "Button1"
myButton.Text = "Pippo"
myButton.X = 32
myButton.Y = 32
myButton = New CButton(Me) As "Button2"
myButton.Text = "Pluto"
myButton.X = 166
myButton.Y = 32
End
Public Sub Button1_Click()
Dim hCon As Control
Message.Info("Hai fatto click sul pulsante <b>Button1")
For Each hCon In Me.Controls
If hCon.Name = "Button1" Then
hCon.Background = Color.Green
Else If hCon.Name = "Button2" Then
hCon.Background = Color.Blue
Endif
Next
End
Public Sub Button2_Click()
Message.Info("Hai fatto click sul pulsante <b>Button2")
End
Naturalmente si può fare in tanti altri modi, vedi questa discussione:
http://www.gambas-it.org/smf/index.php?topic=4615.msg37507#msg37507
Mi sa che Last e Group sono cose diverse. ;D
E a proposito di Last si può fare qualcosa del genere:
Private hButton[2] As Button
Public Sub Form_Open()
hButton[0] = New Button(Me) As "MyButtons"
hButton[0].Text = "Blue"
hButton[0].Height = 32
hButton[0].Width = 120
hButton[0].X = 32
hButton[0].Y = 32
hButton[1] = New Button(Me) As "MyButtons"
hButton[1].Text = "Green"
hButton[1].Height = 32
hButton[1].Width = 120
hButton[1].X = 160
hButton[1].Y = 32
For Each obj As Object In Me.Controls
obj.Picture = Picture["icon:/small/book"]
Next
End
Public Sub MyButtons_Click()
Select Last.Text
Case "Blue"
Last.Background = Color.Blue
Case "Green"
Last.Background = Color.Green
End Select
End