컴퓨터/C#

[C#] ContextMenu 호출 컨트롤 구하기

Begi 2023. 1. 26. 17:49
반응형

ContextMenu이 실행될 때 ContextMenu를 호출하는 컨트롤를 구하는 방법은 다음과 같다.

 

    private void MenuViewDetails_Click(object sender, EventArgs e)
    {
        MenuItem menuItem = sender as MenuItem;
        if (menuItem != null)
        {
            ContextMenu menu = menuItem.GetContextMenu();
            Control ctrl = menu.SourceControl;
        }
    }

 

 

ContextMenuStrip일 때는 다음과 같이 구한다.

 

    private void MenuViewDetails_Click(object sender, EventArgs e)
    {
         ToolStripItem menuItem = sender as ToolStripItem;
         if (menuItem != null)
         {
           ContextMenuStrip owner = menuItem.Owner as ContextMenuStrip;
            if (owner != null)
            {
               Control ctrl = owner.SourceControl;
            }
         }
     }

 

반응형