[VB.net] form events

Pagina: 1
Acties:

  • barfieldmv
  • Registratie: Maart 2004
  • Laatst online: 19-04 10:49
Hoi lui,

Ik ben bezig (op mijn werk) om een kleine user controll in VB.net te maken.
Deze control bestaat uit twee labels die met behulp van mousemove en mousedown events over een soort tijdslijn verschoven kunnen worden (net als een scrollbalk).
De twee labels kunnen niet over en voorbij elkaar geschoven worden en bestaan als harde grens.
links en rechts van de labels zijn twee randen, zodra een van de labels op die plek komt dan gaat het venster scrollen.

Nu is er iets geks aan de hand. Zodra ik de rechter rand van het scherm bereik zou ik hier regelmatig events moeten vangen (of juist niet?)
code:
1
2
3
4
5
6
7
8
9
Private Sub check3(..) Handles label.MouseMove
'...knip....
        If ((label.Left + label.Width) >= gmax) Then
          moveRight(verplaatsing)
          Try
            System.Threading.Thread.Sleep(50) ' 10 Miliseconds
          Catch objTAE As System.Threading.ThreadAbortException
          End Try
        End If

Deze Mousemove event komt maar een keer voor

Maar zodra ik de volgende code gebruik, word de event eindeloos herhaald
code:
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub check3(..) Handles label.MouseMove
'...knip....
        If ((label.Left + label.Width) >= gmax) Then
          moveRight(verplaatsing)
          Try
            System.Threading.Thread.Sleep(50) ' 10 Miliseconds
          Catch objTAE As System.Threading.ThreadAbortException
          End Try
          Button1.Left = Button1.Left - 1
          If (Button1.Left < gmin) Then
          Button1.Left = gmin
        End If

Door dus een knop te verplaatsen creeer ik een mousemove event (oid)
Iemand een idee hoe ik dit netter kan oplossen, want dit vind ik nog al een rare manier om mijn resultaat te bereiken. Dus ipv button1.left -1 een soort refresh methode.

@questa -> ik vind het probleem dat ik nu dus een knop van links naar recht over het scherm laat vliegen om een mousemove event te triggeren. Dit zou beter moeten kunnen.

[ Voor 9% gewijzigd door barfieldmv op 26-04-2005 17:04 ]


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 01-05 19:09

pjvandesande

GC.Collect(head);

barfieldmv schreef op dinsdag 26 april 2005 @ 15:35:
Nu is er iets geks aan de hand. Zodra ik de rechter rand van het scherm bereik zou ik hier regelmatig events moeten vangen (of juist niet?)

[...]

Deze event komt maar een keer voor, maar zodra ik deze code gebruik, blijft word de event eindeloos herhaald
Welk event, het MouseMove event?
barfieldmv schreef op dinsdag 26 april 2005 @ 15:35:

[...]

Iemand een idee hoe ik dit netter kan oplossen, want dit vind ik nog al een rare manier om mijn resultaat te bereiken. Dus ipv button1.left -1 een soort refresh methode.
Ik snap eerlijk gezegt je probleem niet helemaal. ;(

  • PolarBear
  • Registratie: Februari 2001
  • Niet online
System.Threading.Thread.Sleep(50) ' 10 Miliseconds
Is toch echt 50 miliseconden ;)