DataGridView에서 마우스 우클릭시 메뉴 아이템 출력되도록 합니다.
메뉴에는 추가, 수정, 삭제가 존재 합니다.
아래와 코드와 같은 이벤트 발생 코드를 작성합니다.
#region mainGridView_CellContextMenuStripNeeded(sender, e)
/// <summary>
/// 셀의 바로가기 메뉴가 필요할 때 발생합니다.
/// </summary>
/// <param name="sender">이벤트 발생자 입니다.</param>
/// <param name="e">이벤트 인자 입니다.</param>
private void mainGridView_CellContextMenuStripNeeded(object sender, DataGridViewCellContextMenuStripNeededEventArgs e)
{
if (e.RowIndex > -1 && e.ColumnIndex > -1)
{
this.mainGridView.CurrentCell = this.mainGridView.Rows[e.RowIndex].Cells[e.ColumnIndex];
e.ContextMenuStrip = GetContextMenuStrip();
}
}
#endregion
이전 포스트에도 있던 컨텍스트 메뉴 스트립 소스 입니다.
#region GetContextMenuStrip()
/// <summary>
/// 컨텍스트 메뉴 스트립을 가져옵니다.
/// </summary>
/// <returns>컨텍스트 메뉴 스트립을 리턴합니다.</returns>
private ContextMenuStrip GetContextMenuStrip()
{
ContextMenuStrip contextMenuStrip = new ContextMenuStrip();
ToolStripMenuItem addItem = new ToolStripMenuItem("추가");
ToolStripMenuItem updateItem = new ToolStripMenuItem("수정");
ToolStripMenuItem deleteItem = new ToolStripMenuItem("삭제");
contextMenuStrip.Items.AddRange(new ToolStripItem[]
{
addItem,
updateItem,
deleteItem
});
addItem.Click += addItem_Click;
updateItem.Click += updateItem_Click;
deleteItem.Click += deleteItem_Click;
return contextMenuStrip;
}
#endregion