Oppure

Loading
05/03/10 11:21
Federico1976
Sono alle prime armi non fate caso se dico una castroneria, Avrei l'idea di inserire in una classe che disegna figure, degli eventi che li gestiscono o cambiano lo stato
Mi chiedevo se fosse possibile? o se devo inportare da un controllo per forsa
Cerco di spiegare meglio:
disegno un cerchio in una picturebox come posso scatenare un evento quando passo sopra al cerchio' posso solo intercettarlo dalla picturebox? o è posibile inserire un evento in una
classe base che lo disegna

Ringrazio Anticipatamente
aaa
06/03/10 7:59
Il Totem
E' possibile inserire l'evento in una classe derivata, ma per generarlo devi comunque testare se il mouse è dentro il cerchio:

Class CircleEventArgs
   Inherits EventArgs
   'Considerala come se fosse una proprietà
   Public Circle As Circle

   Sub New(ByVal C As Circle)
      Circle = C
   End Sub
End Class

Class Canavas
   Inherits PictureBox

   Public Event MouseOnCircle As EventHandler(Of CircleEventArgs)

   'Collezione di cerchi. Assumiamo la classe Circle
   'data, che contiene informazioni su un cerchio
   Private Circles As List(Of Circle)

   '...

   Protected Sub OnMouseMove(ByVal e As MouseEventArgs)
      Dim Dist As Single
      For Each C As Circle In Circles
         Dist = Math.Sqrt((C.Center.X - e.X)^2 + (C.Center.Y - e.Y)^2)
         If Dist <= C.Radius Then
             RaiseEvent MouseOnCircle(Me, New CircleEventArgs(C))
         End If
      Next
      MyBase.OnMouseMove(e)
    End Sub

    '...
End Class

Ultima modifica effettuata da Il Totem 06/03/10 8:00
aaa
07/03/10 11:07
Federico1976
Sei un grande :k: proprio quello che intendevo credo proprio che sei il mio idolo grazie tanto :hail: :hail: :hail: non avevo proprio pensato a una classe derivata
aaa