Jag ska använda en procedur många gånger och hade tänkt göra en modul men får inte det att funka. Proceduren är: Skapa indexerade lablar då kan du via indexnummret veta vilken label som är aktuell. ex: Det var det jag började med. men då kunde jag inte skriva olika kod, så då gällde koden för alla i arrayen (har kanske missat något annat). Ska testa senare ikväll...kanske man skulle använda en Case-sats?mvh Peter Ok du skall alltså göra olika saker beroende av label. En case sats för index nummret borde funka alldeles utmärkt Tror också på index, men ett alternativ i alla fall:Modul
Private Sub Label1_Click()
If Label1.Caption = " " Then
Label1.Caption = "Text"
Variabel1 = Variabel1 + 1
Else:
Label1.Caption = " "
Variabel1 = Variabel1 - 1
End If
Label50.Caption = Variabel1
End Sub
Om jag klickar på label1 ska en text visas om den är tom eller tvärtom, samtidigt som en variabel ökar eller minskar i värde. Istället för att skriva koden i alla "Label_click" vill jag hämta en modul. Kruxet är att koden i modulen ska hantera just den Label jag klickat på. Då kan det ju inte stå tex. "Label1.caption" utan något i stil med "Selected Label" Ni förstår säkert vad jag menar.
mvh PeterSv: Modul
Private Sub Label1_Click(Index As Integer)
If Label1(Index).Caption = " " Then
Label1(Index).Caption = "Text"
Variabel1 = Variabel1 + 1
Else:
Label1(Index).Caption = " "
Variabel1 = Variabel1 - 1
End If
End Sub
Lägg alltså upp en label och kopiera sedan denna. Klistra sedan in önskat antal lablar.
//FreddeSv: Modul
Sv: Modul
//FreddeSv: Modul
<br>
<code>
Private Sub Label1_Click()
ClickLabel Label1
End Sub
Private Sub ClickLabel(ByVal SelLabel As Label)
If SelLabel.Caption = " " Then
SelLabel.Caption = "Text"
Variabel1 = Variabel1 + 1
Else:
SelLabel.Caption = " "
Variabel1 = Variabel1 - 1
End If
Label50.Caption = Variabel1
End Sub
</code>
<br>
Lycka till. <br>
/EE