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);

}












Posted by motolies
,