treeview控件和一个imagelist来显示树状视图元素的不同状态.
但是当节点被选中时 图像会没掉.
后来经过百度发现.
可以TreeView控件中禁用SelectedImageIndex
然后就尝试着 , 像下面这样禁用了. SelectedImageIndex .

private void TreeView1AfterSelect(object sender, TreeViewEventArgs e)
 {
     treeView1.SelectedImageIndex = treeView1.SelectedNode.ImageIndex;
 }

但是这样做 会出现很严重的 BUG
**

选中某个节点后, 其它节点会自动收缩的现象.而且是偶发性问题.

**
后来我改了下逻辑, 在创建节点的时候 给节点的 ImageIndex和SelectedImageIndex 分配同样的数值, 就不会有问题了. 每个节点的创建都如此

TreeNode node = new TreeNode();
node.ImageIndex = 0
node.SelectedImageIndex = 0 ;
...
...

...