Control.IsInputKey(Keys) Méthode

Définition

Détermine si la touche spécifiée est une touche de saisie normale ou une touche spéciale nécessitant un prétraitement.

C#
protected virtual bool IsInputKey (System.Windows.Forms.Keys keyData);

Paramètres

keyData
Keys

Une des valeurs de l'objet Keys.

Retours

Boolean

true si la touche spécifiée est une touche de saisie standard ; sinon, false.

Exemples

L’exemple de code suivant montre comment remplacer la IsInputKey méthode d’un TextBox contrôle. Dans cet exemple, la TabTextBox classe gère la touche TAB. Lorsque le TabTextBox focus est activé et que l’utilisateur appuie sur la touche TAB, quatre espaces sont ajoutés au point d’insertion de texte, en remplaçant tout texte sélectionné. Par défaut, le TextBox contrôle gère la touche TAB en déplaçant le focus d’entrée vers le contrôle suivant. Dans ce cas, la touche keypress n’atteint jamais la substitution de OnKeyDown méthode. Pour empêcher ce comportement par défaut, la IsInputKey substitution de méthode retourne true lorsque l’utilisateur appuie sur la touche TAB. Pour toutes les autres touches, la IsInputKey substitution de méthode retourne le résultat de l’appel de la version de classe de base de la méthode.

C#
using System.Windows.Forms;

public class Form1 : Form
{
    public Form1()
    {
        FlowLayoutPanel panel = new FlowLayoutPanel();

        TabTextBox tabTextBox1 = new TabTextBox();
        tabTextBox1.Text = "TabTextBox";
        panel.Controls.Add(tabTextBox1);

        TextBox textBox1 = new TextBox();
        textBox1.Text = "Normal TextBox";
        panel.Controls.Add(textBox1);

        this.Controls.Add(panel);
    }
}

class TabTextBox : TextBox
{
    protected override bool IsInputKey(Keys keyData)
    {
        if (keyData == Keys.Tab)
        {
            return true;
        }
        else
        {
            return base.IsInputKey(keyData);
        }
    }

    protected override void OnKeyDown(KeyEventArgs e)
    {
        if (e.KeyData == Keys.Tab)
        {
            this.SelectedText = "    ";                
        }
        else
        {
            base.OnKeyDown(e);
        }
    }
}

Remarques

Appelez la IsInputKey méthode pour déterminer si la clé spécifiée par le keyData paramètre est une clé d’entrée souhaitée par le contrôle. Cette méthode est appelée pendant le prétraitement du message de fenêtre pour déterminer si la clé d’entrée spécifiée doit être prétraite ou envoyée directement au contrôle. Si IsInputKey elle est retournée true, la clé spécifiée est envoyée directement au contrôle. Si IsInputKey elle est retournée false, la clé spécifiée est prétraite et envoyée uniquement au contrôle s’il n’est pas consommé par la phase de prétraitement. Les touches prétraitées incluent les touches Tab, RETURN, Échap et Haut, Bas, Flèche gauche et Flèche droite.

S’applique à

Produit Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7

Voir aussi