找了很多链接,貌似都是说要自绘,但是找不到完整的代码,或者例子,又不想用别人的控件库,所以想请教各位有没有合适的例子呢

解决方案 »

  1.   

    建议用WPF吧,这样就不用自己绘制了,如果人一定要用WinForm的话,除了用GDI+绘制暂时还没有其他什么办法
      

  2.   

    刚回答了一个类似的问题,不用重绘的!
    把你的treeView控件背景色设成白色,然后在form的构造函数中加一句
    this.TransparencyKey = System.Drawing.Color.White;
    就实现你要的效果了。另外 this.Opacity = 0.5;代表50%透明
      

  3.   

    啊,真的么,谢谢楼上我试一下,WPF不行,主界面是winform的,无法同时使用吧?
      

  4.   

    不行啊,控件背景还是白色的,无法透过看到后面picturebox的背景图片
      

  5.   

    自己画 或者 ElementHost
      

  6.   

    我说的是透明看到窗体后面的界面,如果是想看到treeview后面的图片应该继承重绘
      

  7.   

    我是穷啊,刚注册的,但是不懒啊,没做过gdi编程,项目又催着要啊,只好问问了,一堆都是说重绘但是说不出具体的东西,说明这个问题不好解决啊
      

  8.   

    自己扩展可以实现你说的功能,可以参考http://www.csharpwin.com网站上面有类似的实现。
      

  9.   

    WinForm下这样做:
    1,首先是往窗体添加TreeView控件,然后添加一个ImageList控件,右击ImageList---属性,ImageList的Collection属性中添加几张你需要的图片。
    2,右击TreeView控件---属性,把它的ImageList属性设置为刚才添加的ImageList。这时TreeView的ImageIndex属性默认就是0(对应ImageList控件里的第一张图片),若要设置TreeView点击节点后图片可以变化,那就设置TreeView的SelectedImageIndex属性为另一个数值(比如1---对应ImageList控件里的第二张图片)。