Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Control.IsInputKey méthode (Keys)

 

Date de publication : novembre 2016

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

Espace de noms:   System.Windows.Forms
Assembly:  System.Windows.Forms (dans System.Windows.Forms.dll)

[UIPermissionAttribute(SecurityAction.InheritanceDemand, Window = UIPermissionWindow.AllWindows)]
protected virtual bool IsInputKey(
	Keys keyData
)

Paramètres

keyData
Type: System.Windows.Forms.Keys

Une des valeurs de Keys.

Valeur de retour

Type: System.Boolean

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

Appelez le IsInputKey méthode pour déterminer si la clé spécifiée par le keyData paramètre est une touche de saisie que le contrôle demande. Cette méthode est appelée pendant le prétraitement d’un message de fenêtre pour déterminer si la clé d’entrée spécifiée doit être prétraitée ou envoyée directement au contrôle. Si IsInputKey retourne true, la touche spécifiée est envoyée directement au contrôle. Si IsInputKey retourne false, la clé spécifiée est prétraitée et uniquement envoyée au contrôle s’il n’est pas utilisé par la phase de prétraitement. Les touches prétraitées comprennent l’onglet, retour, ÉCHAP et les touches flèche haut, bas, gauche et droite.

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

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);
        }
    }
}

UIPermission

for all windows for inheriting classes to call this method. Associated enumeration: AllWindows value of T:System.Security.Permissions.UIPermissionWindow.

.NET Framework
Disponible depuis 1.1
Retour au début
Afficher: