En application C de fenêtres # pour naviguer tout contrôle d'un formulaire (à l'aide touche Entrée) Je suis en utilisant le code ci-dessous:au contrôle de mise sélectionnés en appuyant sur touche Entrée
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == System.Windows.Forms.Keys.Enter)
{
SendKeys.Send("{TAB}");
}
}
NB: Formulaire propriété KeyPreview = True;
Le code ci-dessus fonctionne bien, mais quand je vais naviguer entre deux dateTimePicker
(dateTimePicker1
, dateTimePicker2
) en appuyant sur la touche Entrée. Lorsque Formulaire ouvert Mettre au point sur dateTimePicker1
et appuyez sur la touche Entrée, puis sur dateTimePicker2
de mise au point et appuyez sur Entrée Key Focus dateTimePicker1
.
Le code ci-dessous fonctionne correctement sans le code ci-dessus. Quel est le meilleur moyen de naviguer entre les deux dateTimePicker
en utilisant le code ci-dessus ou d'une autre manière?
private void dateTimePicker1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) {
dateTimePicker2.Focus();
}
}
private void dateTimePicker2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) {
dateTimePicker1.Focus();
}
}
Quelqu'un s'il vous plaît aidez-moi.
Il suffit d'utiliser la première solution pour naviguer entre tous les contrôles. Quel est le problème? –
Je ne vois pas non plus de question. C'est une mauvaise habitude à prendre, la touche Entrée joue juste un rôle très différent dans une interface graphique. Il est utilisé pour utiliser le bouton par défaut d'une fenêtre, celui sélectionné par la propriété Form.AcceptButton. Et pour ajouter des lignes à un RichTextBox et un TextBox multiligne. Très occasionnellement pour résoudre un problème UX, la boîte d'adresse d'un navigateur par exemple. Les utilisateurs se contentent d'utiliser la touche de tabulation et les touches de curseur pour naviguer. –