【问题标题】:Preventing image on TreeView root node, and preventing selected node from defaulting to image 0防止 TreeView 根节点上的图像,并防止所选节点默认为图像 0
【发布时间】:2014-06-26 19:49:58
【问题描述】:

我有一个TreeView,在运行时填充了一个ImageList。这个TreeView只有一个根节点,其他的都是那个根节点的直接子节点。

我有两个问题:

1) 我的根节点有图像,我不想要。

//I tried to put -1, because this property has a default 0 (non-nullable int)
this.Nodes[0].ImageIndex = -1;
//But nothing happened.

2) 被选中的节点总是把图片改成索引0,不应该

//Again, changing to -1 did nothing.
this.SelectedImageIndex = -1;

例子:

【问题讨论】:

  • 对于您的第一个问题,请看这里:stackoverflow.com/questions/261660/… 如果您设置它,看起来所有节点都需要一个图像,查看设置器,如果它是-1,它会将值设置为 0如果小于该值,则抛出索引越界异常。你也许可以通过一个乱七八糟的 hack 来获得你想要的功能,但最好的办法是创建你自己的 UserControl
  • 在设置为其他值之前将索引设置为-1 不会引发异常。不过谢谢。也许是时候使用自己的用户控件了。
  • 将其设置为 -1 有效,因为设置器会将值设置为 0 但如果您将其设置为其他值,例如-2 会抛出异常。 UserControl 将是最干净的方式,但查看我在上面发布的问题中的其他一些答案,您可能能够实现您正在寻找的东西。看看user1887120发布的答案

标签: c# .net-4.0 treeview


【解决方案1】:

获取一个空白的 .ico 文件(您可以使用这个:http://knowledgebase.twocoders.de/wp-content/uploads/2010/10/blank.ico)并将其添加到您的图像列表中。将图像设置为blank.ico 的索引。最终结果应该是没有图标的列表视图节点。以下是它的外观示例:

【讨论】:

  • 这样就可以了,因为我的图像大小,我会得到空白区域。谢谢。
猜你喜欢
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 2021-11-09
  • 2012-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-20
相关资源
最近更新 更多