DataGridView.ProcessDataGridViewKey(KeyEventArgs) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Elabora i tasti usati per lo spostamento in DataGridView.
protected:
virtual bool ProcessDataGridViewKey(System::Windows::Forms::KeyEventArgs ^ e);
protected virtual bool ProcessDataGridViewKey (System.Windows.Forms.KeyEventArgs e);
abstract member ProcessDataGridViewKey : System.Windows.Forms.KeyEventArgs -> bool
override this.ProcessDataGridViewKey : System.Windows.Forms.KeyEventArgs -> bool
Protected Overridable Function ProcessDataGridViewKey (e As KeyEventArgs) As Boolean
Parametri
Contiene informazioni sul tasto premuto.
Restituisce
true
se il tasto è stato elaborato; in caso contrario, false
.
Eccezioni
Il tasto premuto determina il passaggio del controllo alla modalità di modifica, ma la proprietà EditType della cella corrente non indica una classe che deriva da Control e implementa IDataGridViewEditingControl.
Questa azione consente di eseguire il commit di un valore di cella o di passare alla modalità di modifica, ma un errore nell'origine dati impedisce l'azione e non esiste alcun gestore per l'evento DataError oppure il gestore ha impostato la proprietà ThrowException su true
.
-oppure-
Il tasto CANC elimina una o più righe, ma un errore nell'origine dati impedisce l'eliminazione e non è presente alcun gestore per l'evento DataError o il gestore ha impostato la proprietà ThrowException su true
.
Esempio
Nell'esempio di codice seguente viene illustrato come modificare il comportamento della chiave ENTER in una DataGridView sottoclasse eseguendo l'override dei ProcessDataGridViewKey metodi e ProcessDialogKey . Nell'esempio, la chiave ENTER ha lo stesso comportamento del tasto FRECCIA DESTRA, rendendo più semplice per un utente modificare più celle in una singola riga di dati.
public class CustomDataGridView : DataGridView
{
protected override bool ProcessDialogKey(Keys keyData)
{
// Extract the key code from the key value.
Keys key = (keyData & Keys.KeyCode);
// Handle the ENTER key as if it were a RIGHT ARROW key.
if (key == Keys.Enter)
{
return this.ProcessRightKey(keyData);
}
return base.ProcessDialogKey(keyData);
}
protected override bool ProcessDataGridViewKey(KeyEventArgs e)
{
// Handle the ENTER key as if it were a RIGHT ARROW key.
if (e.KeyCode == Keys.Enter)
{
return this.ProcessRightKey(e.KeyData);
}
return base.ProcessDataGridViewKey(e);
}
}
Public Class CustomDataGridView
Inherits DataGridView
<System.Security.Permissions.UIPermission( _
System.Security.Permissions.SecurityAction.LinkDemand, _
Window:=System.Security.Permissions.UIPermissionWindow.AllWindows)> _
Protected Overrides Function ProcessDialogKey( _
ByVal keyData As Keys) As Boolean
' Extract the key code from the key value.
Dim key As Keys = keyData And Keys.KeyCode
' Handle the ENTER key as if it were a RIGHT ARROW key.
If key = Keys.Enter Then
Return Me.ProcessRightKey(keyData)
End If
Return MyBase.ProcessDialogKey(keyData)
End Function
<System.Security.Permissions.SecurityPermission( _
System.Security.Permissions.SecurityAction.LinkDemand, Flags:= _
System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)> _
Protected Overrides Function ProcessDataGridViewKey( _
ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean
' Handle the ENTER key as if it were a RIGHT ARROW key.
If e.KeyCode = Keys.Enter Then
Return Me.ProcessRightKey(e.KeyData)
End If
Return MyBase.ProcessDataGridViewKey(e)
End Function
End Class
Commenti
Questo metodo chiama il metodo di elaborazione dei tasti appropriato per il tasto premuto ,ad esempio il ProcessF2Key metodo quando F2 viene premuto, e restituisce il valore restituito di tale metodo.
Note per gli eredi
Quando si esegue l'override di questo metodo, un controllo deve restituire true
per indicare che è stata elaborata la chiave. Per le chiavi non elaborate dal controllo, restituire il risultato della versione di base di questo metodo.