我正在开发一个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
感谢。
答案 0 :(得分:1)
使用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
}
答案 1 :(得分:0)
如果您使用的是WindowsForms,则需要实现TreeView的custom drawing并对Click事件进行测试以查看是否单击了该按钮。 TreeView并非真正设计用于添加按钮,因此您可能希望考虑另一种设计,例如在右侧菜单,工具栏和/或右键菜单中添加删除命令,因为这样会显着减少工作和更符合标准Windows控件的工作方式(例如,在Windows资源管理器的TreeView中,您没有看到文件夹名称后面的一堆按钮)。