如何在Visual Studio C#.Net WinForm 中 TreeView中右键选择节点进行处理
2006-07-06 12:13
429 查看
关键点: GetNodeAt(x,y), TreeView
>>>>>>>>>>>>>>
在做一个程序的过程中发现 Visual Studio C# .Net 中进行WinForm下的TreeView的节点进行右键选择并处理的时候出现异常:虽然控件上显示右键点击的节点被反选了,但是在程序中获得的不是这个节点的信息。后来通过询问实验室的FredQian,他告诉我鼠标右击响应的时候TreeView控件没有改变其选定的状态,需要在鼠标事件中进行处理:检测鼠标右键,如果右击的是一个节点,就将该节点用代码来实现选定即可。实现这个功能的代码非常简单:
private void treeView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(e.Button==MouseButtons.Right)
{
TreeNode tn=treeView1.GetNodeAt(e.X,e.Y);
if(tn!=null)treeView1.SelectedNode = tn;
}
}
其中,treeview1 就是我们绑定快捷菜单的控件,GetNodeAt(x,y) 是这里最关键的一个方法。
>>>>>>>>>>>>>>
在做一个程序的过程中发现 Visual Studio C# .Net 中进行WinForm下的TreeView的节点进行右键选择并处理的时候出现异常:虽然控件上显示右键点击的节点被反选了,但是在程序中获得的不是这个节点的信息。后来通过询问实验室的FredQian,他告诉我鼠标右击响应的时候TreeView控件没有改变其选定的状态,需要在鼠标事件中进行处理:检测鼠标右键,如果右击的是一个节点,就将该节点用代码来实现选定即可。实现这个功能的代码非常简单:
private void treeView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(e.Button==MouseButtons.Right)
{
TreeNode tn=treeView1.GetNodeAt(e.X,e.Y);
if(tn!=null)treeView1.SelectedNode = tn;
}
}
其中,treeview1 就是我们绑定快捷菜单的控件,GetNodeAt(x,y) 是这里最关键的一个方法。
相关文章推荐
- 如何在Visual Studio C#.Net WinForm 中 TreeView中右键选择节点进行处理?
- Visual Studio C#的winform/webform/asp.net控件命名规范
- 如何将传递节点设置为通过使用 Visual C#.NET 内联 XSLT 脚本函数
- Microsoft Visual Studio 2005中使用水晶报表 winform c# asp.net水晶报表
- 如何使用 Visual C# .NET 处理 Excel 事件
- Visual Basic.net还是C# ——如何选择.net语言
- C#.Net中TreeView控件右键选择节点问题处理
- C#.NET常见问题(FAQ)-Visual Studio VS如何显示行号
- Windows Mobile 下使用C#进行GPRS、CDMA开发- Visual Studio.NET
- 如何使用 Visual C# .NET 处理 Excel 事件
- C#.NET常见问题(FAQ)-Visual Studio VS如何显示行号
- 如何在Visual Studio .NET 中指定.NET Framework SDK版本
- 【转】如何使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程
- 如何验证 Active Directory 使用表单身份验证和 Visual C#.NET
- [引]如何藉由使用 Visual C# . NET 處理 Word 中的事件
- 如何使用 Visual C# .NET 检查 Windows 版本[转]
- [转载]如何使用 Visual C# 2005 或 Visual C# .NET 向 Excel 工作簿传输数据
- 如何使用 Visual C# 2005 或 Visual C# .NET 向 Excel 工作簿传输数据
- 如何去除Visual Studio .NET工程同SourceSafe的关联
- 如何使用 Visual C# 2005 或 Visual C# .NET 向 Excel 工作簿传输数据