Dobrý den, dělám úprogram který má spoustu pictureboxů (ictureboxi se vytváří v kódu a může jich být až 6400, ale to je celkem nepodstatné) a každému chci přidat obsluhu události, obsluze chci ale přidat parametry. Mám toto:
Public Class myEventArgs
Inherits EventArgs
Public Property i As Integer
Public Property u As Integer
End Class
Sub zavolejclick(ByVal sender As Object, ByVal e As myEventArgs)
Dim i = e.i
Dim u = e.u
For ii = 0 To 79
For uu = 0 To 79
picturb(ii, uu).BorderStyle = BorderStyle.FixedSingle
Next
Next
picturb(i, u).BorderStyle = BorderStyle.Fixed3D
End Sub
For i = 0 To NumericUpDown1.Value - 1
For u = 0 To NumericUpDown2.Value - 1
picturb(i, u) = New PictureBox
picturb(i, u).Width = 20
picturb(i, u).Height = 20
picturb(i, u).Top = 75 + (i * 21)
picturb(i, u).Left = 3 + (u * 21)
picturb(i, u).BorderStyle = BorderStyle.FixedSingle
Dim argumenty As New myEventArgs
argumenty.i = i
argumenty.u = u
AddHandler picturb(i, u).Click, AddressOf zavolejclick
Me.Controls.Add(picturb(i, u))
Next
Next
Já potřebuji ale dostat ty argumenty s proměnnými i a u do toho éčka v metodě zavolejclick. Dále mi toto nefunguje protože když kliknu na picturebox zobrazí se mi chyba: Unable to cast object of type 'System.Windows.Forms.MouseEventArgs' to type 'muj_projekt.myEventArgs'. Co to je za chybu, jak ji odstranit, jak předat ty parametry a jak to celé vyřeším?
|