DataGridViewRowContextMenuStripNeededEventHandler Délégué
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente la méthode qui gérera l'événement RowContextMenuStripNeeded d'un 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)
Paramètres
- sender
- Object
Source de l'événement.
DataGridViewRowContextMenuStripNeededEventArgs qui contient les données d’événement.
Exemples
Dans l’exemple de code suivant, l’événement RowContextMenuStripNeeded est géré pour fournir un ContextMenuStrip en fonction du titre de l’employé. Dans cet exemple, deux menus contextuels sont proposés, l’un pour les gestionnaires et l’autre pour tous les autres employés.
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
Remarques
L’événement RowContextMenuStripNeeded se produit uniquement lorsque la propriété de DataGridView contrôle DataSource est définie ou que sa VirtualMode propriété est true
. La gestion de l’événement RowContextMenuStripNeeded est utile lorsque vous souhaitez afficher un menu contextuel déterminé par l’état actuel d’une ligne ou les valeurs qu’elle contient.
Lorsque vous gérez l’événement RowContextMenuStripNeeded , le menu contextuel que vous spécifiez dans le gestionnaire s’affiche chaque fois que l’utilisateur clique avec le bouton droit sur une ligne, sauf si le CellContextMenuStripNeeded remplace le menu contextuel de la cellule spécifique sur laquelle vous avez cliqué.
L’événement RowContextMenuStripNeeded se produit également chaque fois que la valeur de la DataGridViewRow.ContextMenuStrip propriété est récupérée, soit par programmation, soit lorsque l’utilisateur clique avec le bouton droit sur une ligne.
Vous pouvez utiliser la DataGridViewRowContextMenuStripNeededEventArgs.RowIndex propriété pour déterminer l’état d’une ligne ou les valeurs qu’elle contient, et utiliser ces informations pour modifier ou modifier la DataGridViewRowContextMenuStripNeededEventArgs.ContextMenuStrip propriété. Cette propriété est initialisée avec la valeur de la propriété de ligne ContextMenuStrip , que la valeur d’événement remplace.
Gérez l’événement RowContextMenuStripNeeded lors de l’utilisation de grandes quantités de données pour éviter les pénalités de performances associées à la définition de la valeur de ligne ContextMenuStrip pour plusieurs lignes. Pour plus d'informations, consultez Meilleures pratiques pour la mise à l'échelle du contrôle DataGridView Windows Forms.
Pour plus d’informations sur la façon de gérer les événements, consultez gestion et déclenchement d’événements.
Lorsque vous créez un délégué DataGridViewRowContextMenuStripNeededEventHandler, vous identifiez la méthode qui gérera l'événement. Pour associer l'événement au gestionnaire d'événements, ajoutez une instance du délégué à l'événement. Le gestionnaire d'événements est appelé chaque fois qu'un événement se produit, sauf si vous supprimez le délégué. Pour plus d’informations sur les délégués du gestionnaire d’événements, consultez Gestion et levée d’événements.
Méthodes d’extension
GetMethodInfo(Delegate) |
Obtient un objet qui représente la méthode représentée par le délégué spécifié. |