Je me sens un peu coincé, j'ai un datagridview que j'aimerai parcourir en faisant tourner ma roulette de ma souris ! mais je ne trouve pas d'evenement onmousewheel ou un truc du genre, comment procedez vous ?
Merci d'avance :calim2:
Version imprimable
Je me sens un peu coincé, j'ai un datagridview que j'aimerai parcourir en faisant tourner ma roulette de ma souris ! mais je ne trouve pas d'evenement onmousewheel ou un truc du genre, comment procedez vous ?
Merci d'avance :calim2:
par defaut quand un datagridview à le focus, les mouvements de molette activent le scroll... bien sur il faut qu'il y ai des lignes à "scroller".
oui mais je parle de scroller les lignes en gros qu'on monte et descende dans la liste, que la ligne en surbrillance bleu se décale de +1 ou +1
ok.
Dans ce cas, si la datagrid view n'a effectivement pas d'événement OnScroll, essai en interceptant celui du form (avec eventuellement un test pour savoir si la souris est au dessus de la datagridview) et modifie la collection datagridviewselectedrows...
le scroll du form ne réagis pas à une modification du wheel ! donc ça ne changera rien
Bonsoir,
Il y a bien un evenement Wheel sur le dataGridView ainsi que sur la form et tous fonctionnent :
me donne lorsque je fais rouler la roulette :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Public Class Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load KeyPreview = True End Sub Private Sub Form1_MouseWheel(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel Debug.WriteLine("Wheel Form1 marche...") End Sub Private Sub DataGridView1_MouseWheel(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseWheel Debug.WriteLine("Wheel DataGridView1 marche...") End Sub End Class
Citation:
Wheel DataGridView1 marche...
Wheel Form1 marche...
Je ne l'ai pas ! j'utilise le framework 3.5
Sur la page Msdn : http://msdn.microsoft.com/en-us/libr...ousewheel.aspx
Il est marqué pour Control.MouseWheel :
Avez-vous le SP1? Si non, installez le...Citation:
Version Information
.NET Framework Client Profile
Supported in: 4, 3.5 SP1
bonjour altahir007
Comme l'as dit Sankasssss il existe un event MouseWhell du dgv.
C'est qu'il n'est pas affiche sur la page de propriete helas,mais disponible uniquement dans la fenetre de code .
Il est en de meme par exemple pour les events GotFocus et LostFocus.....
comme tu pourras t'en rendre compte.
Cela n'as rien à voir avec la version du Net Framework 2.0......
Pour deplacer le curseur de selection de ligne dans l'event DataGridView_MouseWheel tu as ce bout de code par exemple:
bon code................Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.DataGridView1.ColumnCount = 3 For i = 0 To Me.DataGridView1.ColumnCount - 1 Me.DataGridView1.Columns.Add("item" & (i + 1).ToString, "item" & (i + 1).ToString) Next For i = 0 To 9 Me.DataGridView1.Rows.Add() For j = 0 To Me.DataGridView1.ColumnCount - 1 Me.DataGridView1.Rows(i).Cells(j).Value = "item" & (i + 1).ToString Next Next End Sub Private Sub DataGridView1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseWheel 'Happening when the User used the mouse wheel If e.Delta > 0 Then SendKeys.Send("{UP}") 'If the wheel is going up Else SendKeys.Send("{DOWN}") 'If the wheel is going down End If End Sub End Class
olala je découvre quelque chose :o
Avec mes excuses, je pensais que tout se trouvai accessible dans les onglets de droite evenement + propriétés !
Merciiiiiiiiii :)
ça marche parfaitement, merci pour l'astuce