본문 바로가기
C#/Winform

C# / Winform DataGridView에서 마우스 우클릭시 메뉴 아이템 출력되도록 합니다.

by HyunS_ 2019. 11. 16.
728x90

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
728x90

댓글