'C# Context Menu 선택 처리'에 해당되는 글 1건

728x90

C# Context Menu 를 만들 때 서브 메뉴가 보이거나 보이지 않게 처리하는 방법이다.

마우스 우클릭을 해서 보이는 Context Menu 를 칼럼에 따라 메뉴가 보이게, 안보이게 처리하는 걸 시도해봤다.

Context Menu 는 메뉴 생성하는 곳에서 생성을 했다. 순서를 변경하는 걸 해보려고 했더니 안된다.

메뉴를 보이게 보이지 않게 처리하는 것은 Visible = true, false 로 선택 옵션을 준다.

dataGridView1 에서 필요해서 CellMouseClick 이벤트를 등록한 다음에

아래와 같이 메뉴를 선택적으로 if 조건을 주면 칼럼에서 메뉴가 다르게 보인다.

보여줘야 할 메뉴가 너무 많다면 이런 방법을 시도해보는 것도 좋을 것이다.


private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
    if (e.ColumnIndex == 1)
    {
        NaverToolStripMenuItem1.Visible = true;
        DaumToolStripMenuItem.Visible = true;
        GoogleToolStripMenuItem.Visible = true;
        toolStripMenuItem11.Visible = true;
    }
    else if (e.ColumnIndex == 2)
    {
        NaverToolStripMenuItem1.Visible = false;
        DaumToolStripMenuItem.Visible = true;
        GoogleToolStripMenuItem.Visible = true;
        toolStripMenuItem11.Visible = false;
    }
    else
    {
        NaverToolStripMenuItem1.Visible = false;
        DaumToolStripMenuItem.Visible = false;
        GoogleToolStripMenuItem.Visible = false;
        toolStripMenuItem11.Visible = false;
    }
}


칼럼에 따라 Context Menu 를 동적으로 생성하는 것도 나중에 한번 해봐야겠다.


블로그 이미지

Link2Me

,