2009-10-15 10 views
0

Lorsque j'appuie sur CTRL et Flèche haut sur DataGridView, je passe à la première ligne. Quand je fais la même chose avec Down Arrow, je vais au dernier rang dans DGV. Comment désactiver ce comportement dans ce sens que lorsque je ferai CTRL +Up Je vais une ligne vers le haut et quand je fais CTRL +vers le bas je vais une ligne vers le bas?Désactiver CTRL + Flèche vers le haut = Accueil sur DataGridView

Répondre

0

Vous devez remplacer ProcessDialogKey et «annuler» l'événement si vous détectez une certaine touche ou combinaison de touches.

0

regarder en remplaçant l'événement OnKeyPress ... Vous pourriez avoir à déclarer votre propre classe pas exacte, mais un début ...

public class MyDataGridView : DataGridView 
{ 
    ... 
    ... 

    public override void OnKeyPress(object sender, KeypressEventArgs e) 
    { 
     trap your own "e." values 
    } 
} 
1

Vous ne devriez pas passer outre OnKeyPress() parce que les gestionnaires de navigation mangent les frappes de navigation avant qu'ils ne soient envoyés à OnKeyPress(). Au lieu de cela, vous devez remplacer ProcessDialogKey() et/ou ProcessDataGridViewKey(), qui existent explicitement pour gérer la navigation.

ProcessDialogKey

ProcessDataGridViewKey


ETA: avec tout le respect dû, en général, il est généralement pas particulièrement bonne idée de changer les comportements de navigation. De nombreuses applications utilisent DataGridView et les utilisateurs s'attendent généralement au comportement par défaut, car c'est ce que la plupart des applications utiliseront. Il y a des exceptions et parfois de bonnes raisons de changer la navigation par défaut, mais juste parce que vous n'aimez pas personnellement le comportement par défaut n'est généralement pas une raison suffisante pour le changer. Ceci est, bien sûr, juste mon opinion personnelle; YMMV.

Questions connexes