首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎样才能让树形控件支持右键选择?解决思路

2012-02-12 
怎样才能让树形控件支持右键选择?在WinForm程序里,树形控件一般需要先左键选择一个结点,然后按右键弹出菜

怎样才能让树形控件支持右键选择?
在WinForm程序里,   树形控件一般需要先左键选择一个结点,   然后按右键弹出菜单对该结点进行相关的操作,   但是我想站鼠标右键也能直接选择到一个结点,   不知道怎么实现?     请教了.

[解决办法]
用mouseDown事件就可以了。
private void PonTree_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
TreeNode TempNode = PonTree.GetNodeAt( e.X , e.Y );
if ( TempNode != null )
{
PonTree.SelectedNode = TempNode;//選中
}
else
{
return ;
}
}
[解决办法]
在MouseUp事件里写上 treeView1.selectNode = e.Node;
试试把 刚想的方法

[解决办法]
如果不想从TreeView继承一个新的来改写,那就向TreeView控件添加下的事件:
private void treeView1_MouseDown(object sender, MouseEventArgs e)
{
TreeView tvw = sender as TreeView;
TreeNode _node = tvw.GetNodeAt(e.Location);
if (_node != null)
{
tvw.SelectedNode = _node;
}
}

如果从TreeView继承一个新的控件,类似这样就行了:
class myTreeView : TreeView
{
protected override void OnMouseDown(MouseEventArgs e)
{
TreeNode _node = this.GetNodeAt(e.Location);
if (_node != null)
{
this.SelectedNode = _node;
}
}
}

热点排行