Ich habe den folgenden Code, der auf Formular Load-Ereignis ausgeführt wird. Dabei sind Zeile und Spalte variabel und können bei jedem Ladevorgang unterschiedliche Werte haben.Deaktivieren Sie dynamisch generierte Schaltflächen in VB.NET
Dim XPos, YPos As Integer
Dim btn As Button
XPos = 80
YPos = 80
For i = 1 To row
XPos = 150
For j = 1 To column
btn = New Button
btn.Name = "btn" & i & j
btn.Size = New Drawing.Size(40, 40)
btn.Location = New Point(XPos, YPos)
Me.Controls.Add(btn)
XPos = XPos + btn.Width + 5
Next
YPos = YPos + btn.Height + 5
Next
Angenommen, Zeile = 5 und Spalte = 5, dann wird eine Ausgabe wie sein
btn11 btn12 btn13 btn14 btn15
btn21 btn22 btn23 btn24 btn25
btn31 btn32 btn33 btn34 btn35
btn41 btn42 btn43 btn44 btn45
btn51 btn52 btn53 btn54 btn55
Wenn ich jetzt auf btn32 klicken dann kann ich, wie es nur auf seine benachbarten Schaltflächen klicken: btn21, btn22 , btn23, btn31, btn33, btn41, btn42, btn43 und ich kann nicht auf Rest der Tasten klicken.
Wenn ich zuerst auf btn54 klicke, dann kann ich nur auf btn53, btn43, bt44mbtn45, btn55 klicken, ich kann nicht auf die restlichen Schaltflächen klicken.
und der Rest der Tasten sollten in der gleichen Art (Farbe, Text .. etc)
Wie geblieben sein, diese restlichen Schaltflächen deaktivieren. Hilf mir hier ...
Deaktivieren Sie zunächst alle Schaltflächen und extrahieren Sie dann die Spalte und Zeile der angeklickten Schaltfläche. Überprüfen Sie danach, ob in 'curC - 1, curR - 1' und' curC, curR - 1' und 'curC + 1, curR - 1' und' curC - 1, curR' und 'curC + 1 'Schaltflächen vorhanden sind , curr 'usw., und aktivieren Sie sie (wobei' curC 'die aktuelle Spalte und' curr 'die aktuelle Zeile ist). –
Der obere linke Knopf befindet sich an der Position 'Aktuelle Spalte - 1, Aktuelle Zeile - 1' und die untere rechte Taste befindet sich an der Position' Aktuelle Spalte + 1, Aktuelle Zeile + 1'. –
Können Sie mir den Code sagen, wie kann ich sie aktivieren? –