PDA

View Full Version : رویداد right click روی نودهایtreeview



diba_gh
شنبه 13 آذر 1389, 17:30 عصر
با سلام
چگونه می توان رویداد راست کلیک( شامل delete,rename,open,....) را روی نودهای treeview گذاشت؟

MSN_Issue
شنبه 13 آذر 1389, 17:48 عصر
باید یه کانتنت منو بهش بایند کنی !
توی تول-باکس هست ...

diba_gh
شنبه 13 آذر 1389, 18:31 عصر
ممنون می شم بیشتر توضیح بدین

unique1984
یک شنبه 14 آذر 1389, 10:15 صبح
سلام
CotextMenuStrip مورد نظر خودتونو ایجاد کنید و سپس :

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
switch (e.Button)
{
case MouseButtons.Right:
{
CotextMenuStrip1.Show(treeView1, new Point(e.X, e.Y));
SetSelectedNodeByPosition(treeView1, e.X, e.Y);
return;
}

default:
break;
}
}


public static void SetSelectedNodeByPosition(TreeView tv, int mouseX, int mouseY)
{
TreeNode node = null;
try
{
Point pt = new Point(mouseX, mouseY);
tv.PointToClient(pt);
node = tv.GetNodeAt(pt);
tv.SelectedNode = node;
if (node == null) return;
if (!node.Bounds.Contains(pt)) { return; }
}
catch { }
return;
}