Skip to content

Instantly share code, notes, and snippets.

@lmatt-bit
Created April 9, 2014 11:33
Show Gist options
  • Select an option

  • Save lmatt-bit/10258062 to your computer and use it in GitHub Desktop.

Select an option

Save lmatt-bit/10258062 to your computer and use it in GitHub Desktop.
Right click on treeview to trigger contextmenu
private void treeView_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Right)
{
return;
}
TreeViewHitTestInfo info = treeView.HitTest(e.Location);
if (info.Node == null)
return;
var node = info.Node as TreeNode;
if (node == null)
{
return;
}
var treeView = sender as TreeView;
if (treeView == null)
{
return;
}
contextMenu.Items.Clear();
foreach (var itemName in itemNameArray)//daynamic add menuitem
{
ToolStripItem menuItem = new ToolStripMenuItem(itemName, null, OnMenuItemClick);
menuItem.Tag = someObject;
contextMenu.Items.Add(menuItem);
}
treeView.SelectedNode = node;
contextMenu.Show(treeView, e.Location);//show it
}
private void OnMenuItemClick(object sender, EventArgs eventArgs)
{
var menuItem = sender as ToolStripItem;
if (menuItem == null)
{
return;
}
var selectType = menuItem.Tag as SomeClass;
if (selectType != null)
{
doSomeThing();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment