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 를 동적으로 생성하는 것도 나중에 한번 해봐야겠다.
'C# > dataGridView' 카테고리의 다른 글
C# dataGridView 엔터키 눌렀을 때 다음 셀로 이동 막기 (0) | 2016.03.05 |
---|---|
C# dataGridView cell 툴팁(Tooltip) (0) | 2016.01.29 |
C# dataGridView 데이터 업데이트 처리 (화면 갱신 방지) (1) | 2016.01.25 |
C# dataGridView 글자 크기 지정 방법 (0) | 2015.12.28 |
C# dataGridView 에 엑셀 읽어들이기 (엑셀 헤더 검사) (0) | 2015.12.06 |