删除Window应用程序中的树子节点
本文关键字:子节点 Window 应用程序 删除 | 更新日期: 2023-09-27 18:25:55
我正在开发一个Windows应用程序,在该应用程序中,我使用树视图显示日志,如下所示,这里的节点是在每日日志的基础上动态创建的
日志-
+ 12-02-2001
+ 12-02-2001
+ 12-02-2001
+ 12-02-2001
但我想在每个节点上添加删除按钮,如下所示
日志-
+ 12-02-2001 Delete
+ 12-02-2001 Delete
+ 12-02-2001 Delete
+ 12-02-2001 Delete
谢谢。
您可以使用ContextMenuStrip使其更容易。
http://msdn.microsoft.com/en-us/library/system.windows.forms.contextmenustrip.aspx
//event handler for menuItem Click
private void mnuDelNode_Click(object sender,EventArgs e)
{
//better confirm before delete using a message box
DeleteRecursive(listView.SelectedNode);
}
private void DeleteRecursive(TreeNode root)
{
//your delete logic here
}
如果使用WindowsForms,则需要实现TreeView的自定义绘图,并对Click事件进行点击测试,以查看按钮是否被点击。TreeView并不是真正为添加按钮而设计的,所以你可能希望考虑另一种设计,比如在右菜单、工具栏和/或右键单击菜单上添加"删除"命令,因为这将大大减少工作量,更符合标准Windows控件的工作方式(例如,在Windows资源管理器的TreeView中,你看不到文件夹名称后面有一堆按钮)。