Evento click su datagrid

venerdì 21 ottobre 2005 - 09.30

andreapavia Profilo | Senior Member

ho un datagrid in un winform

al singolo click sul datagrid il muose il programma deve fare una cosa (cambiare il colore di una cella)
al doppio click deve mostrarmi un panel di dettaglio dei dati del datable "sotto" il datagrid


considearando che il datagrid ha i metodi click e doubleclick e sul double click oltre ad eseguirmi il datagrid.doubleclick mi
esegue 2 volte anche datagrid .click


Private Sub DataGrid1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.MouseHover


Dim xxx As System.Windows.Forms.MouseEventArgs

Dim sss As Integer

sss = xxx.Clicks


If sss > 0 Then


If xxx.Clicks = 1 Then
'vai a giocare a pallone
End If

If xxx.Clicks >2 Then
'stai a casa a guardare la tv
End If

End If

End Sub


mi becco questa eccezione


Eccezione non gestita di tipo "System.NullReferenceException" in forfat1.exe
Informazioni aggiuntive: Riferimento a un oggetto non impostato su un'istanza di oggetto.




domanda:
come faccio ad intercettare il singolo click e il doppio click se il muose è sul datagrid bypassando i comandi datagrid.click e doubleclick e mousedown????


vi ringrazio



ROBERTO BAGGIO RULES

ysdemarc Profilo | Expert

ciao

L'errore è dovuto in quanto non hai creato nessuna istanza di xxx

ti sei solo limitato a dichiarare il tipo

dovresti scrivere Dim xxx As New System.Windows.Forms.MouseEventArgs

sul capttare gli eventi click e dblclick ad essere sincero non ho mai avuto problemi se non per il fatto che il doppio click riesco solo a captarlo se viene fatto nel margine delle colonne o in qualche altra parte che non sia la cella del datagrid.

Vincenzo
Programmatore sbilenco :-D

andreapavia Profilo | Senior Member

risolto... il doppio click fa SEMPRE
al primo giro
la prima volta l'evento click

e al secondo giro entra nel doppio click....

per cui va bene solamente quando si seleziona un oggetto oppure si imposta un stato fisso...

peccato anche se tutto questo era logico.....



allora ho usato click left e right del muose sullevento datagrid.mousedown


Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5