Hallo Zusammen
Ich habe folgende Frage.
Wie kann man mehrere Objekte in einer Schleife bearbeiten?
Ich will die Eigenschaften Eines der Acht Buttons verändern, wie es der
Beispiel unten zeigt.
Private Sub btnPortAPinSignal0_Click(...) _
Handles btnPortAPinSignal0.Click, btnPortAPinSignal1.Click, _
btnPortAPinSignal2.Click, btnPortAPinSignal3.Click, _
btnPortAPinSignal4.Click, btnPortAPinSignal5.Click, _
btnPortAPinSignal6.Click, btnPortAPinSignal7.Click
If sender.Equals(btnPortAPinSignal0) Then
If ... Then btnPortAPinSignal0.Text = "..." Else _
btnPortAPinSignal0.Text = "..."
End If
If sender.Equals(btnPortAPinSignal1) Then
If ... Then btnPortAPinSignal1.Text = "..." Else _
btnPortAPinSignal1.Text = "..."
End If
End Sub
Ich weiß leider nicht, nach welchen Stichpunkt ich in der MSDN-Library
suchen muss.
Also wäre ich für jede Hilfe dankbar.
Gast
#1528779
Geht das überhaupt, wenn Du ohne Index arbeitest?
Ich habe schon versucht den String "btnPortAPinSignal" mit dem Intervall einer For-Schleife zu verknüpfen. Deshalb die nummerierten Namen.
Valentin R. schrieb: > Ich habe schon versucht den String "btnPortAPinSignal" mit dem Intervall > einer For-Schleife zu verknüpfen. Deshalb die nummerierten Namen. Du hättest anstelle von einzeln durchnummerierten Variablen ein Array benutzen sollen. Die Namen der Variablen existieren nicht mehr, wenn das Programm einmal läuft. Daher kommst du da mit Stringverarbeitung nicht weiter. Vielleicht kannst du dir ja ein Array von Referenzen auf deine Objekte anlegen (da kenn ich VB zu wenig), in welches du Verweise auf deine Objekte anlegst.
Habe es geschaft. Ich verstehe leider nicht wieso, aber man muss die deklaration in der Ereignis-Methode machen, Modulweit geht es irgendwie nicht. Dim ObjGroup(7) As Button ObjGroup(0) = btnPortAPinSignal0 : ObjGroup(1) = btnPortAPinSignal1 ObjGroup(2) = btnPortAPinSignal2 : ObjGroup(3) = btnPortAPinSignal3 ObjGroup(4) = btnPortAPinSignal4 : ObjGroup(5) = btnPortAPinSignal5 ObjGroup(6) = btnPortAPinSignal6 : ObjGroup(7) = btnPortAPinSignal7 Danke für die Anregungen.
Karl heinz Buchegger schrieb: > Valentin R. schrieb: >> Ich habe schon versucht den String "btnPortAPinSignal" mit dem Intervall >> einer For-Schleife zu verknüpfen. Deshalb die nummerierten Namen. > > Du hättest anstelle von einzeln durchnummerierten Variablen ein Array > benutzen sollen. Ja. > Die Namen der Variablen existieren nicht mehr, wenn das Programm einmal > läuft. Daher kommst du da mit Stringverarbeitung nicht weiter. Nein. Es ginge mit Type Introspection...auch in einem aktuellen VB (in C# sieht das in etwa so aus wie unten)
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
> > Vielleicht kannst du dir ja ein Array von Referenzen auf deine Objekte > anlegen (da kenn ich VB zu wenig), in welches du Verweise auf deine > Objekte anlegst.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.