DataGridViewRowContextMenuStripNeededEventHandler Delegato
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.
Rappresenta il metodo che gestirà l'evento RowContextMenuStripNeeded di un oggetto DataGridView.
public delegate void DataGridViewRowContextMenuStripNeededEventHandler(System::Object ^ sender, DataGridViewRowContextMenuStripNeededEventArgs ^ e);
public delegate void DataGridViewRowContextMenuStripNeededEventHandler(object sender, DataGridViewRowContextMenuStripNeededEventArgs e);
public delegate void DataGridViewRowContextMenuStripNeededEventHandler(object? sender, DataGridViewRowContextMenuStripNeededEventArgs e);
type DataGridViewRowContextMenuStripNeededEventHandler = delegate of obj * DataGridViewRowContextMenuStripNeededEventArgs -> unit
Public Delegate Sub DataGridViewRowContextMenuStripNeededEventHandler(sender As Object, e As DataGridViewRowContextMenuStripNeededEventArgs)
Parametri
- sender
- Object
La fonte dell'evento.
Oggetto DataGridViewRowContextMenuStripNeededEventArgs contenente i dati dell'evento.
Esempio
Nell'esempio di codice seguente l'evento RowContextMenuStripNeeded viene gestito per fornire un ContextMenuStrip oggetto in base al titolo del dipendente. In questo esempio sono presenti due menu di scelta rapida, uno per i manager e uno per tutti gli altri dipendenti.
void dataGridView1_RowContextMenuStripNeeded(object sender,
DataGridViewRowContextMenuStripNeededEventArgs e)
{
DataGridViewRow dataGridViewRow1 = dataGridView1.Rows[e.RowIndex];
toolStripMenuItem1.Enabled = true;
// Show the appropriate ContextMenuStrip based on the employees title.
if ((dataGridViewRow1.Cells["Title"].Value.ToString() ==
"Sales Manager") ||
(dataGridViewRow1.Cells["Title"].Value.ToString() ==
"Vice President, Sales"))
{
e.ContextMenuStrip = managerMenuStrip;
}
else
{
e.ContextMenuStrip = employeeMenuStrip;
}
contextMenuRowIndex = e.RowIndex;
}
Public Sub dataGridView1_RowContextMenuStripNeeded( _
ByVal sender As Object, _
ByVal e As DataGridViewRowContextMenuStripNeededEventArgs) _
Handles dataGridView1.RowContextMenuStripNeeded
Dim dataGridViewRow1 As DataGridViewRow = _
dataGridView1.Rows(e.RowIndex)
toolStripMenuItem1.Enabled = True
' Show the appropriate ContextMenuStrip based on the employees title.
If dataGridViewRow1.Cells("Title").Value.ToString() = _
"Sales Manager" OrElse _
dataGridViewRow1.Cells("Title").Value.ToString() = _
"Vice President, Sales" Then
e.ContextMenuStrip = managerMenuStrip
Else
e.ContextMenuStrip = employeeMenuStrip
End If
contextMenuRowIndex = e.RowIndex
End Sub
Commenti
L'evento RowContextMenuStripNeeded si verifica solo quando la proprietà del DataGridView controllo DataSource è impostata o la relativa VirtualMode proprietà è true. La gestione dell'evento RowContextMenuStripNeeded è utile quando si desidera visualizzare un menu di scelta rapida determinato dallo stato corrente di una riga o dai valori contenuti.
Quando si gestisce l'evento RowContextMenuStripNeeded , il menu di scelta rapida specificato nel gestore viene visualizzato ogni volta che l'utente fa clic con il pulsante destro del mouse su una riga, a meno che il CellContextMenuStripNeeded menu di scelta rapida non esegua l'override del menu di scelta rapida per la cella specifica selezionata.
L'evento RowContextMenuStripNeeded si verifica anche ogni volta che viene recuperato il valore della proprietà, a livello di DataGridViewRow.ContextMenuStrip codice o quando l'utente fa clic con il pulsante destro del mouse su una riga.
È possibile utilizzare la DataGridViewRowContextMenuStripNeededEventArgs.RowIndex proprietà per determinare lo stato di una riga o i valori contenuti e utilizzare queste informazioni per modificare o modificare la DataGridViewRowContextMenuStripNeededEventArgs.ContextMenuStrip proprietà. Questa proprietà viene inizializzata con il valore della proprietà row ContextMenuStrip , di cui viene eseguito l'override del valore dell'evento.
Gestire l'evento RowContextMenuStripNeeded quando si usano grandi quantità di dati per evitare le penalità delle prestazioni dell'impostazione del valore di riga ContextMenuStrip per più righe. Per altre informazioni, vedere Procedure consigliate per il ridimensionamento del controllo DataGridView di Windows Form.
Per altre informazioni su come gestire gli eventi, vedere Gestione e generazione di eventi.
Quando si crea un DataGridViewRowContextMenuStripNeededEventHandler delegato, si identifica il metodo che gestirà l'evento. Per associare l'evento al gestore eventi, aggiungere un'istanza del delegato all'evento. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, a meno che non si rimuovono il delegato. Per altre informazioni sui delegati del gestore eventi, vedere Gestione e generazione di eventi.
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetMethodInfo(Delegate) |
Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato. |