Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用OnPaint参数在c#中向TreeView控件添加图标_C#_Treeview_Onpaint - Fatal编程技术网

如何使用OnPaint参数在c#中向TreeView控件添加图标

如何使用OnPaint参数在c#中向TreeView控件添加图标,c#,treeview,onpaint,C#,Treeview,Onpaint,如何在没有ImageList控件的情况下在c#中向TreeView控件添加图标?我认为您需要tp调用OnPaint事件args,但不知道如何执行 您必须为OwnerDraw控件编写代码。除非你没有真正严肃的理由,否则要避免这样做,因为如果你想以一种好的方式去做的话,这会变成非常复杂的场景 看看这个例子 关于如何绘制TreeView的节点所有者,有许多示例: 您可以覆盖并将DrawMode设置为TreeViewDrawMode.OwnerDrawAll。但是,您很快就会意识到,模拟默认树视图的

如何在没有ImageList控件的情况下在c#中向TreeView控件添加图标?我认为您需要tp调用OnPaint事件args,但不知道如何执行

您必须为OwnerDraw控件编写代码。除非你没有真正严肃的理由,否则要避免这样做,因为如果你想以一种好的方式去做的话,这会变成非常复杂的场景

看看这个例子


关于如何绘制TreeView的节点所有者,有许多示例:

您可以覆盖并将
DrawMode
设置为
TreeViewDrawMode.OwnerDrawAll
。但是,您很快就会意识到,模拟默认树视图的精确行为几乎是不可能的。有些州是由控制部门秘密控制的,如果没有大量的干预,你是无法进入的


例如,在标准树状视图控件上,在不释放节点的情况下在节点上按鼠标键,将显示该节点在注册为treeview控件选中之前已选中。尝试模拟使用所有者绘制的节点是非常困难的,基本上需要您重新实现整个过程。

OnPaint事件不是由您调用的,而是由系统调用的,如果您有处理程序,您可以在其中指定要执行的操作。我很好奇。图片列表有什么问题吗?没那么可怕,事实上,在窗口里到处都是业主的图纸。只需妥善处理:)