c#下treeview、listview控件如何支持背景图片或者透明?
找了很多链接,貌似都是说要自绘,但是找不到完整的代码,或者例子,又不想用别人的控件库,所以想请教各位有没有合适的例子呢 --------------------编程问答-------------------- 建议用WPF吧,这样就不用自己绘制了,如果人一定要用WinForm的话,除了用GDI+绘制暂时还没有其他什么办法 --------------------编程问答-------------------- 刚回答了一个类似的问题,不用重绘的!把你的treeView控件背景色设成白色,然后在form的构造函数中加一句
this.TransparencyKey = System.Drawing.Color.White;
就实现你要的效果了。另外 this.Opacity = 0.5;代表50%透明 --------------------编程问答-------------------- 啊,真的么,谢谢楼上我试一下,WPF不行,主界面是winform的,无法同时使用吧? --------------------编程问答-------------------- 不行啊,控件背景还是白色的,无法透过看到后面picturebox的背景图片 --------------------编程问答-------------------- 自己画 或者 ElementHost --------------------编程问答-------------------- --------------------编程问答-------------------- 楼主又懒又穷,别理他。 --------------------编程问答-------------------- 我说的是透明看到窗体后面的界面,如果是想看到treeview后面的图片应该继承重绘 --------------------编程问答-------------------- 我是穷啊,刚注册的,但是不懒啊,没做过gdi编程,项目又催着要啊,只好问问了,一堆都是说重绘但是说不出具体的东西,说明这个问题不好解决啊 --------------------编程问答-------------------- 自己扩展可以实现你说的功能,可以参考http://www.csharpwin.com网站上面有类似的实现。 --------------------编程问答-------------------- --------------------编程问答-------------------- 从"控件"观念转变到"图形"观念就可以很快想出答案了. --------------------编程问答-------------------- 窗体上直接显示的控件是"绘制到屏幕",这样中间进行"干扰式绘制"比较复杂,为什么不能"绘制到临时图",然后对临时图进行"干扰"再"显示到屏幕"呢? --------------------编程问答-------------------- WinForm下这样做:
1,首先是往窗体添加TreeView控件,然后添加一个ImageList控件,右击ImageList---属性,ImageList的Collection属性中添加几张你需要的图片。
2,右击TreeView控件---属性,把它的ImageList属性设置为刚才添加的ImageList。这时TreeView的ImageIndex属性默认就是0(对应ImageList控件里的第一张图片),若要设置TreeView点击节点后图片可以变化,那就设置TreeView的SelectedImageIndex属性为另一个数值(比如1---对应ImageList控件里的第二张图片)。
补充:.NET技术 , C#