Show / Hide Table of Contents

Практическое руководство. Обработка события Opening компонента ContextMenuStrip

Можно настроить поведение вашей ContextMenuStrip управления путем обработки Opening событий.

Пример

В следующем примере кода показано, как обрабатывать Opening событий. Обработчик событий добавляет элементы динамически в ContextMenuStrip элемента управления. Полный пример кода, см. в разделе как: Динамическое добавление элементов ToolStrip.

// This event handler is invoked when the ContextMenuStrip
// control's Opening event is raised. It demonstrates
// dynamic item addition and dynamic SourceControl 
// determination with reuse.
void cms_Opening(object sender, System.ComponentModel.CancelEventArgs e)
{
    // Acquire references to the owning control and item.
    Control c = fruitContextMenuStrip.SourceControl as Control;
    ToolStripDropDownItem tsi = fruitContextMenuStrip.OwnerItem as ToolStripDropDownItem;

    // Clear the ContextMenuStrip control's Items collection.
    fruitContextMenuStrip.Items.Clear();

    // Check the source control first.
    if (c != null)
    {
        // Add custom item (Form)
        fruitContextMenuStrip.Items.Add("Source: " + c.GetType().ToString());
    }
    else if (tsi != null)
    {
        // Add custom item (ToolStripDropDownButton or ToolStripMenuItem)
        fruitContextMenuStrip.Items.Add("Source: " + tsi.GetType().ToString());
    }

    // Populate the ContextMenuStrip control with its default items.
    fruitContextMenuStrip.Items.Add("-");
    fruitContextMenuStrip.Items.Add("Apples");
    fruitContextMenuStrip.Items.Add("Oranges");
    fruitContextMenuStrip.Items.Add("Pears");

    // Set Cancel to false. 
    // It is optimized to true based on empty entry.
    e.Cancel = false;
}

Задайте CancelEventArgs.Cancel свойства true чтобы препятствовать открытию меню.

См. также

  • ContextMenuStrip
  • Cancel
  • ToolStripDropDown
  • Элемент управления ToolStrip
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX