Windows窗体/树视图:我如何把复选框只在叶子上

本文关键字:复选框 叶子 窗体 视图 Windows | 更新日期: 2023-09-27 18:14:40

在treeview上选择CheckBoxes=true将复选框放置在每个节点上。我只要叶子上的叶子?如何?

Windows窗体/树视图:我如何把复选框只在叶子上

我认为你需要实现一个ownerdraw事件处理程序的节点,像这样:

treeView.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll;
treeView.DrawNode += new System.Windows.Forms.DrawTreeNodeEventHandler(this.treeView_DrawNode);
private void treeView_DrawNode(object sender, DrawTreeNodeEventArgs e)
{
    if(NodeWithCheckBox(e.Node))
    {
       // draw entry with checkbox
       e.DrawDefault = false;
    }
    else
    {
       e.DrawDefault = true;
    }
}