DataGridView.RowContextMenuStripNeeded Gebeurtenis
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Treedt op wanneer het snelmenu van een rij nodig is.
public:
event System::Windows::Forms::DataGridViewRowContextMenuStripNeededEventHandler ^ RowContextMenuStripNeeded;
public event System.Windows.Forms.DataGridViewRowContextMenuStripNeededEventHandler RowContextMenuStripNeeded;
public event System.Windows.Forms.DataGridViewRowContextMenuStripNeededEventHandler? RowContextMenuStripNeeded;
member this.RowContextMenuStripNeeded : System.Windows.Forms.DataGridViewRowContextMenuStripNeededEventHandler
Public Custom Event RowContextMenuStripNeeded As DataGridViewRowContextMenuStripNeededEventHandler
Gebeurtenistype
Voorbeelden
In het volgende codevoorbeeld wordt de RowContextMenuStripNeeded gebeurtenis verwerkt om een ContextMenuStrip op basis van de titel van de werknemer op te geven. In dit voorbeeld zijn er twee snelmenu's, één voor managers en één voor alle andere werknemers.
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
Opmerkingen
De RowContextMenuStripNeeded gebeurtenis treedt alleen op wanneer de eigenschap van het DataGridView besturingselement DataSource is ingesteld of de VirtualMode eigenschap is true. Het afhandelen van de RowContextMenuStripNeeded gebeurtenis is handig wanneer u een snelmenu wilt weergeven dat wordt bepaald door de huidige status van een rij of de waarden die deze bevat.
Wanneer u de gebeurtenis afhandelt, wordt het snelmenu dat u opgeeft in de handler weergegeven wanneer de gebruiker met de RowContextMenuStripNeeded rechtermuisknop op een rij klikt, tenzij het CellContextMenuStripNeeded snelmenu voor de specifieke cel waarop is geklikt, wordt overschreven.
De RowContextMenuStripNeeded gebeurtenis treedt ook op wanneer de waarde van de DataGridViewRow.ContextMenuStrip eigenschap wordt opgehaald, programmatisch of wanneer de gebruiker met de rechtermuisknop op een rij klikt.
U kunt de DataGridViewRowContextMenuStripNeededEventArgs.RowIndex eigenschap gebruiken om de status van een rij of de waarden die deze bevat te bepalen en deze informatie te gebruiken om de DataGridViewRowContextMenuStripNeededEventArgs.ContextMenuStrip eigenschap te wijzigen of te wijzigen. Deze eigenschap wordt geïnitialiseerd met de waarde van de rijeigenschap ContextMenuStrip , die de gebeurteniswaarde overschrijft.
RowContextMenuStripNeeded De gebeurtenis afhandelen wanneer u met grote hoeveelheden gegevens werkt om de prestatiestraffen te voorkomen bij het instellen van de rijwaarde ContextMenuStrip voor meerdere rijen. Zie Best practices voor het schalen van het Windows Forms DataGridView-besturingselement voor meer informatie.
Zie Gebeurtenissen verwerken en genereren voor meer informatie over het afhandelen van gebeurtenissen.