scromania
Messages postés452Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention11 janvier 2013
-
25 juil. 2009 à 11:12
scromania
Messages postés452Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention11 janvier 2013
-
26 juil. 2009 à 08:39
BONJOUR,
on m'a communiquer ce code afin de dessiner un point dans une image :
Private Sub Cam_AVT_Click(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Cam_AVT.Click
If e.Button = Windows.Forms.MouseButtons.Left Then
Cam_AVT.CreateGraphics.FillRectangle(Brushes.Red, e.X - 2, e.Y - 2, 8, 8)
End If
End Sub
il fonctionne très bien par contre j'aimerai que losque que je clique dans un item d'une listview
il me dessine un point de la meme manière .
j'ai essayer juste de faire ca:
Private Sub lstGEOREF_DBF_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstGEOREF_DBF.DoubleClick
'' TabControl1.TabPages.Item(0).
ToolStripStatusLabel3.Text = lstGEOREF_DBF.SelectedIndices(0).ToString
Dim ITEMCLIQUER As Integer = 0
ITEMCLIQUER = ToolStripStatusLabel3.Text
X_Local = lstGEOREF_DBF.Items(ITEMCLIQUER).SubItems(29).Text.ToString()
Y_Local = lstGEOREF_DBF.Items(ITEMCLIQUER).SubItems(30).Text.ToString()
phila38
Messages postés11Date d'inscriptionjeudi 23 juillet 2009StatutMembreDernière intervention25 juillet 2009 25 juil. 2009 à 12:49
Bonjour,
Quel que soit ton besoin, la réponse simple à ta quetion est :
remplace ByVal e As System.EventArgs
par ByVal e As System.Windows.Forms.MouseEventArgs
cela te permettra de caster un EventArgs en MouseEventArgs (la vraie classe de e).
la classe MouseEventArgs contient la propriété "Button", pas la classe EventArgs
j'ignore pourquoi l'éditeur n'insère pas l'argument e avec le bon type directement.
If e.Button = Windows.Forms.MouseButtons.Left Then
Cam_AVT.CreateGraphics.FillRectangle(Brushes.Red, e.X - 2, e.Y - 2, 8, 8)
La partie de code contenant la seconde instruction est un simple copier/coller du code de l'autre exemple. Hors cette partie de code qui te génère un message d'erreur car effectivement la classe System.EventArgs ne contient pas de propriété button qui indiquerais quel bouton de la souris à été pressé.
Ma question était, est-ce voulu de ta part d'avoir 2 rectangles dessinés ou as-tu simplement oublier de supprimer ce code que tu aurais pu mettre là en exemple le temps d'écrire correctement ta propre instruction.
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 25 juil. 2009 à 16:17
Parce que les 2 structures ne sont pas compatibles. En quand bien même tu arriverais à faire le cast, la propriété button ne serait de toute façon pas renseignée puisqu'elle n'existe pas dans System.eventArgs.
Visiblement, la listview ne différencie pas les clics et double clics des boutons gauche et droit
Il ne te reste plus qu'a supprimer le test du bouton et dessiner directement ton rectangle.
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
scromania
Messages postés452Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention11 janvier 20139 26 juil. 2009 à 08:39
merci as tous ,
j'ai trouvé un autre moyen en chargant la même image le voici :
Dim myBitmap As New Bitmap(namcp.Text) 'Charge maPhoto dans le BitMap
Dim g As Graphics = Graphics.FromImage(myBitmap) 'Crée un Graphics et y associe le BitMap