Ich versuche, die Sichtbarkeit eines Bildes auf einem Timer schalten zu lassen. Das Bild, das ich ändern möchte, ist Unterstreichung (i). Hier ist der Code:Ändern der Kontrolle (das ist in einem Array) von einem Timer: funktioniert nicht
Dim DigitSelected As Integer = 1
Public Underscores(3) As PictureBox
....
Private Sub CursorTimer_Tick(sender As System.Object, e As System.EventArgs) Handles CursorTimer.Tick
Me.Underscores(DigitSelected).Visible = Not (Me.Underscores(DigitSelected).Visible)
End Sub
Dieser Code oben vorher arbeitet, aber vor kurzem zog ich, wo ich auf einer anderen Seite die PictureBox und ihre Sachen zu einem Modul zu erstellen:
With Initials
For i As Byte = 1 To 3
.Underscores(i) = New PictureBox
With .Underscores(i)
.Height = 60
.Width = 144
.ImageLocation = "Underscore.png"
.BackColor = Color.Transparent
End With
.Controls.Add(.Underscores(i))
Next
end with
Nun, wenn ich Das oberste Code-Snippet löst keine Fehler aus und ändert nichts. Ich bin mir ziemlich sicher, dass ich nur etwas Kleines vermisse.
Irgendwelche Ideen? Vielen Dank!
So bewegen Sie Ihren Code auf ein Modul, was bedeutet dann den Punkt in zum Beispiel '.Underscores (i) = New PictureBox' beziehen sich auf? –
@VisualVincent Entschuldigung, ich habe den Code aktualisiert, um 'Mit Initialen' und 'Ende mit' einzuschließen. Das Modul verweist auf die ursprüngliche Form, die Initialen genannt wird. –
Aus meiner Erfahrung scheinen Module manchmal nicht wie erwartet zu funktionieren. Ich weiß nicht den Grund dafür, aber was passiert, wenn Sie es in eine Klasse ändern und alle Methoden als 'Shared' markieren? Das bedeutet natürlich, dass Sie auch auf die Klasse verweisen müssen, zum Beispiel: 'yourClass.DoYourStuff()'. –