DataGridViewRow.ContextMenuStrip Özellik

Tanım

Satırın kısayol menüsünü alır veya ayarlar.

C#
public override System.Windows.Forms.ContextMenuStrip ContextMenuStrip { get; set; }
C#
public override System.Windows.Forms.ContextMenuStrip? ContextMenuStrip { get; set; }

Özellik Değeri

ContextMenuStrip Geçerli DataGridViewRowile ilişkili . Varsayılan değer: null.

Özel durumlar

Bu özelliğin değerini alırken, satır bir DataGridView denetimdedir ve paylaşılan bir satırdır.

Örnekler

Aşağıdaki kod örneği, sınıfının özelliğiyle DataGridViewColumn.ContextMenuStrip neredeyse aynı olan özelliğinin ContextMenuStripDataGridViewRow nasıl kullanılacağını gösterir. Bu kod örneği, sınıfında sağlanan daha büyük bir kod örneğinin DataGridViewColumn bir parçasıdır.

C#
ToolStripMenuItem toolStripItem1 = new ToolStripMenuItem();

private void AddContextMenu()
{
    toolStripItem1.Text = "Redden";
    toolStripItem1.Click += new EventHandler(toolStripItem1_Click);
    ContextMenuStrip strip = new ContextMenuStrip();
    foreach (DataGridViewColumn column in dataGridView.Columns)
    {

        column.ContextMenuStrip = strip;
        column.ContextMenuStrip.Items.Add(toolStripItem1);
    }
}

private DataGridViewCellEventArgs mouseLocation;

// Change the cell's color.
private void toolStripItem1_Click(object sender, EventArgs args)
{
    dataGridView.Rows[mouseLocation.RowIndex]
        .Cells[mouseLocation.ColumnIndex].Style.BackColor
        = Color.Red;
}

// Deal with hovering over a cell.
private void dataGridView_CellMouseEnter(object sender,
    DataGridViewCellEventArgs location)
{
    mouseLocation = location;
}

Açıklamalar

Bu özellik, denetim CellContextMenuStripNeeded olayı veya satır ContextMenuStrip özelliği tıklanan hücrenin kısayol menüsünü geçersiz kılmadığı sürece DataGridView kullanıcı satıra sağ tıkladığında görüntülenen kısayol menüsünü gösterir.

DataGridView Denetim DataSource özelliği ayarlandığında veya VirtualMode özelliği olduğundatrue, özelliğinin ContextMenuStrip değerini almak denetimin olayını tetikler RowContextMenuStripNeeded ve olay işleyicisinde belirtilen özelliğin DataGridViewRowContextMenuStripNeededEventArgs.ContextMenuStrip değerini döndürür. Olay için işleyici yoksa, özelliğinin ContextMenuStrip değerini almak daha önce belirtilen değeri veya varsayılan değerini nulldöndürür.

RowContextMenuStripNeeded Olayı işlemek, birden çok satır için satır ContextMenuStrip değerini ayarlarken performans cezalarını önlemek için büyük miktarda veriyle çalışırken öncelikli olarak yararlıdır. Daha fazla bilgi için bkz. Windows Forms DataGridView Denetimini Ölçeklendirmeye Yönelik En İyi Yöntemler.

Bu özelliğin RowContextMenuStripChanged değiştirilmesi, varsa olayı sahip olan üzerinde tetikler DataGridView.

Geçerli satır paylaşılıyorsa, bu özelliğin GetContextMenuStrip değerini almak yerine yöntemini kullanın.

Şunlara uygulanır

Ürün Sürümler
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Ayrıca bkz.