Control.ProcessCmdKey(Message, Keys) Control.ProcessCmdKey(Message, Keys) Control.ProcessCmdKey(Message, Keys) Control.ProcessCmdKey(Message, Keys) Method

Definizione

Elabora un tasto di comando.Processes a command key.

protected:
 virtual bool ProcessCmdKey(System::Windows::Forms::Message % msg, System::Windows::Forms::Keys keyData);
protected virtual bool ProcessCmdKey (ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData);
abstract member ProcessCmdKey : Message * System.Windows.Forms.Keys -> bool
override this.ProcessCmdKey : Message * System.Windows.Forms.Keys -> bool
Protected Overridable Function ProcessCmdKey (ByRef msg As Message, keyData As Keys) As Boolean

Parametri

msg
Message Message Message Message

Oggetto Message, passato per riferimento, che rappresenta il messaggio della finestra da elaborare.A Message, passed by reference, that represents the window message to process.

keyData
Keys Keys Keys Keys

Uno dei valori di Keys che rappresenta il tasto da elaborare.One of the Keys values that represents the key to process.

Restituisce

true se il carattere è stato elaborato dal controllo; in caso contrario, false.true if the character was processed by the control; otherwise, false.

Commenti

Questo metodo viene chiamato durante la pre-elaborazione del messaggio per gestire i tasti di comando.This method is called during message preprocessing to handle command keys. I tasti di comando sono chiavi che hanno sempre la precedenza sulle normali chiavi di input.Command keys are keys that always take precedence over regular input keys. Esempi di tasti di comando includono acceleratori e collegamenti di menu.Examples of command keys include accelerators and menu shortcuts. Il metodo deve restituire true per indicare che ha elaborato il tasto di comando oppure false per indicare che la chiave non è un tasto di comando.The method must return true to indicate that it has processed the command key, or false to indicate that the key is not a command key. Questo metodo viene chiamato solo quando il controllo è ospitato in un Windows Forms Application o come un controllo ActiveX.This method is only called when the control is hosted in a Windows Forms application or as an ActiveX control.

Il ProcessCmdKey metodo determina innanzitutto se il controllo ha un ContextMenuoggetto e, ContextMenu in tal caso, consente a di elaborare il tasto di comando.The ProcessCmdKey method first determines whether the control has a ContextMenu, and if so, enables the ContextMenu to process the command key. Se il tasto di comando non è un tasto di scelta rapida e il controllo ha un elemento padre, la chiave viene passata ProcessCmdKey al metodo dell'elemento padre.If the command key is not a menu shortcut and the control has a parent, the key is passed to the parent's ProcessCmdKey method. Il risultato finale è che i tasti di comando sono "bollati" verso l'alto nella gerarchia dei controlli.The net effect is that command keys are "bubbled" up the control hierarchy. Oltre al tasto premuto dall'utente, i dati della chiave indicano anche quali tasti di modifica sono stati premuti contemporaneamente alla chiave.In addition to the key the user pressed, the key data also indicates which, if any, modifier keys were pressed at the same time as the key. I tasti di modifica includono i tasti MAIUSC, CTRL e ALT.Modifier keys include the SHIFT, CTRL, and ALT keys.

Note per gli eredi

Quando si esegue l' ProcessCmdKey(Message, Keys) override del metodo in una classe derivata, un controllo true deve restituire per indicare che la chiave è stata elaborata.When overriding the ProcessCmdKey(Message, Keys) method in a derived class, a control should return true to indicate that it has processed the key. Per le chiavi che non vengono elaborate dal controllo, deve essere restituito il risultato della chiamata ProcessCmdKey(Message, Keys) al metodo della classe base.For keys that are not processed by the control, the result of calling the base class's ProcessCmdKey(Message, Keys) method should be returned. I controlli raramente, se non mai, dovranno eseguire l'override di questo metodo.Controls will seldom, if ever, need to override this method.

Sicurezza

SecurityPermission
per il chiamante immediato e le classi che ereditano per chiamare questo metodo.for the immediate caller and inheriting classes to call this method. Enumerazione associata: UnmanagedCode.Associated enumeration: UnmanagedCode.

Si applica a