ReDim array objekata sa pripadajučim eventima

poruka: 3
|
čitano: 1.554
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
offline
ReDim array objekata sa pripadajučim eventima

u runtimeu kreiram nekakve labele na način

 

     Private lbl(0) As Windows.Forms.Label


    Private Sub NewToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewToolStripMenuItem.Click
        ReDim Preserve lbl(UBound(lbl) + 1)
        If lbl(UBound(lbl)) Is Nothing Then lbl(UBound(lbl)) = New Windows.Forms.Label
        lbl(UBound(lbl)).BackColor = Color.Aqua
        lbl(UBound(lbl)).Left = MousePosition.X
        lbl(UBound(lbl)).Top = MousePosition.Y
        lbl(UBound(lbl)).Parent = Me
        lbl(UBound(lbl)).Show()
    End Sub

 

Problem je što te labele nemaju evente (trebam mouse down, mouse up)

 

ako u prvu deklaraciju dodam withevents, dobim kratko i jasno 'WithEvents variables cannot be typed as arrays'

 

Ima li netko riješenje ili definitivno ne?

 

(vb.net)

Dolje Matija Gubc
Moj PC  
0 0 hvala 0
17 godina
offline
RE: ReDim array objekata sa pripadajučim eventima

btw, ako napravim ovako:

Private WithEvents lbl As Windows.Forms.Label

 


    Private Sub NewToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewToolStripMenuItem.Click
        lbl = New Windows.Forms.Label
        lbl.Left = MousePos.X
        lbl.Top = MousePos.Y
        Me.Controls.Add(lbl)
    End Sub

 

svi imaju isti naziv pa ne znam kako ih razlikovati

btw, ne trigerira mi se event (možda i trigerira ali ne znam kako do eventa)

 

pa ako dodam         lbl.Name = "a" & Second(TimeOfDay).ToString

naravno mogu ih razlikovati ali ne mogu unaprijed deklarirati evente (ionako ne znam koliko će ih biti kreiranih...)

Dolje Matija Gubc
17 godina
offline
RE: ReDim array objekata sa pripadajučim eventima

btw.

dodavanje ovoga

        AddHandler icn.Click, AddressOf icn_Click

 

je pomoglo, ali ne mogu odrediti na koju labelu je kliknuto... (Uvijek je sender zadnja kreirana labela...)

 

(znam da imaju različita imena tako što ovo lista različite labele

         Dim i As Integer
        For i = 0 To Me.Controls.Count - 1
            Label1.Text = Label1.Text & Me.Controls(i).Name.ToString & vbCrLf
        Next

 

 

Ignorirati ovo...

Krivo je bio napisan sub koji handla evente...

 

 

Baš sam se lijepo dopisivao sam sa sobom!

 

Ukoliko ovo nikome ne pomaže - Moderator slobodno neka obriše!

Dolje Matija Gubc
Poruka je uređivana zadnji put čet 11.3.2010 0:54 (franjo tahy).
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice