我想知道是否可以在Winforms TreeView中将TreeIode的StateImage的位置切换为IndexImage的位置?在Winforms TreeView控件中切换TreeNode的StateImage和IndexImage的位置
请参考下图以获取图示。
第一树节点具有stateImage,第二个没有。
我的目标是让所有的IndexImages对齐左边,StateImage(如果有的话)位于IndexImage的右边。
结果树看起来是这样的:
我想我必须设置树DrawMode到的OwnerDraw和重写的OnPaint。我读了this msdn链接,但没有说关于绘制图像。我真的不知道如何继续。任何帮助和代码,你可以提供(在C#或VB.net)将非常感激。
非常感谢
感谢您的回复。你昨晚给你的链接非常有用。我已经处理绘制具有状态图像的子节点。对于我设置e.DrawDefault = True的所有其他节点。这解决了我的问题,并减少了我不得不编写的代码量。剩下的唯一问题是使用状态图像为选定的子节点绘制突出显示。我用FillRectangle与SystemBrushes.Highlight,但我没有一致的外观。我会看你在更新中提供的VisualStyles链接以获取任何灵感。 – mazrabul 2012-01-18 17:33:52