Hej! Kort svar: Nej Kan Du ge ett kort exempel på hur skapandet av lista skulle kunna gå till? ArrayList list = New ArrayList() om du skapar kontrollerna dynamiskt och kopplar dom till något som redan finns i me.forms.controls Använd Option Strict On!Indexerade kontroller?
Håller på att gå över från VB6 till .NET.
En fråga som dyker upp: Går det inte att skapa indexerade kontroller, dvs. Button(1), Button(2) osv?
Mvh
MiZSv: Indexerade kontroller?
Långt svar: Jo, om du skapar dem i runtime. Alternativt kan du du skapa en array/lista som du i t.ex. form_load fyller med alla dina knappar.Sv:Indexerade kontroller?
Sv: Indexerade kontroller?
list.Add(Me.Button1)
list.Add(Me.Button2)
list.Add(Me.Button3)
list(1).Text = "Jag är en häst" 'Button2Sv: Indexerade kontroller?
typ:
dra in en panel i ditt projekt.
paste in följande kod:
Dim mybutton(10) As Button
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i, j, q As Integer
Dim x, y, a, b, offset As Integer
q = -1
offset = 10
For i = 0 To 2
For j = 0 To 2
q += 1
If q = 11 Then Exit For
mybutton(q) = New Button()
mybutton(q).Width = 22
mybutton(q).Height = 22
mybutton(q).Location = New System.Drawing.Point(a + offset + (j * 26), b + offset + (i * 26))
mybutton(q).Text = q.ToString
mybutton(q).TextAlign = HorizontalAlignment.Center
Me.Panel1.Controls.Add(mybutton(q))
AddHandler mybutton(q).Click, AddressOf mybutton_Click
Next
Next
End Sub
Private Sub mybutton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim minKnapp As Button = DirectCast(sender, Button)
MessageBox.Show(Panel1.Controls.GetChildIndex(minKnapp))
End Sub
Tjosan!Använd Option Strict On!
Du kommer att lära dig hur man bör göra och hur man inte bör göra, Late Binding är ingen höjdare, då man lätt kan missa något och få en Cast Is Not Valid.
Lycka till med .NET
/Jonas