Ciao Akro,
ero in altre mansioni affaccendato..
Prova questo codice:
' Gambas class file
Private hvBox As VBox
Private hHBox As HBox
Private hLabel As Label
Private hTextBox As TextBox
Private hCheckBox As CheckBox
Private hSpinBox As SpinBox
Public Sub Form_Open()
Me.Arrangement = Arrange.Vertical
Me.AutoResize = True
Me.Margin = True
Me.Spacing = True
Me.Resizable = False
CreaGruppo("txtName1", "Pippo", "txtSurname1", "Pluto")
Me.Show
Wait 2
CreaGruppo("txtName2", "Topolino", "txtSurname2", "Minni")
Wait 2
CreaGruppo("txtName3", "Paperino", "txtSurname3", "Gastone")
End
Private Sub CreaGruppo(sName1 As String, sTag1 As String, sName2 As String, sTag2 As String)
hvBox = New VBox(Me) 'As "VBox1"
hvBox.AutoResize = True
hvBox.Spacing = True
hvBox.H = 120
hvBox.W = 520
hHBox = New HBox(hvBox) 'As "HBox1"
hHBox.Spacing = True
hHBox.H = 32
hHBox.W = 512
hLabel = New Label(hHBox) 'As "Label1"
hLabel.AutoResize = True
hLabel.Text = "Nome"
hTextBox = New TextBox(hHBox) As "txtName"
hTextBox.Expand = True
hTextBox.Name = sName1
hTextBox.Tag = sTag1
hLabel = New Label(hHBox) 'As "Label2"
hLabel.AutoResize = True
hLabel.Text = "Cognome"
hLabel.AutoResize = True
hTextBox = New TextBox(hHBox) As "txtSurname"
hTextBox.Expand = True
hTextBox.Name = sName2
hTextBox.Tag = sTag2
hHBox = New HBox(hvBox) 'As "HBox2"
hHBox.Spacing = True
hHBox.H = 32
hHBox.W = 512
hCheckBox = New CheckBox(hHBox) 'As "CheckBox"
hCheckBox.Text = "Spunta questo"
hCheckBox.AutoResize = True
hLabel = New Label(hHBox) 'As "Label3"
hLabel.Expand = True
hLabel.Alignment = Align.Right
hLabel.Text = "Scegli un numero"
hSpinBox = New SpinBox(hHBox) 'As "SpinBox1"
hSpinBox.W = 136
hSpinBox.MinValue = 0
hSpinBox.MaxValue = 12000
End
Public Sub txtName_MouseDown()
Print Last.Name;; Last.Tag
End
Public Sub txtSurname_MouseDown()
Print Last.Name;; Last.Tag
End
E vedi se ti va bene...
:ciao:
PS: Apportati dei cambiamenti
ora un passo in piu
supponiamo di utilizzare un button per creare i gruppi uno alla volta e aggiungerli al form
ora vorrei con un altro button eliminarli uno alla volta
quindi dovrei eliminare i contenitori hbox precedentemente creati
Per individuali potrei fare una cosa del genere
Dim x As Control
For Each x In Me.Controls
If x.name = "Hbox" & contatore
Then
Next
dopo il Then?
Grazie Cogier
HBOxes[iCount - 1].Delete
HBOxes.Pop
il pezzo che mi mancava
:ok: