ContextMenuStrip 기본 셋팅
ContextMenuStrip.Items에 컬렉션으 추가하고
- 아이템의 Name 부분을 잘 작성해 준다
ContextMenuStrip 에는 ItemClicked 이벤트 생성
private void cmsTree_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
cmsTree.Close();
switch (e.ClickedItem.Name)
{
case "btnADD":
break;
case "btnDEL":
break;
}
}
treeview에서
NodeMouseClick 이벤트 생성
private void treeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
//e.Node는 클릭된 Node 이다. TreeNode node = e.Node as TreeNode 로 캐스팅 가능
if (e.Button == MouseButtons.Right)
{
//contextmenu
cmsTree.Show(Cursor.Position.X, Cursor.Position.Y);
}
}
datagridview에서
MouseDown 이벤트 생성
private void dataGridView_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != System.Windows.Forms.MouseButtons.Right) { return; }
dataGridView.ClearSelection();
DataGridViewRow dr = null;
int rowindex = dataGridView.HitTest(e.X, e.Y).RowIndex;
if (rowindex > -1)
{
dataGridView.Rows[rowindex].Selected = true;
dr = dataGridView.Rows[rowindex];
}
else {
//선택된 로우가 없을 때 표시하지 않음
return;
}
if (dr != null && dr.Cells["IS_SW_REG"].Value.ToString() == "Y")
{
menuADDSoft.Enabled = false;
}
else
{
menuADDSoft.Enabled = true;
}
cmsMenu.Show(Cursor.Position.X, Cursor.Position.Y);
}