当前位置:编程学习 > C#/ASP.NET >>

Winform控件透明,字体却不显示了

我想让一个treeview透明,于是做了个用户控件继承了treeview,在构造函数里加了透明的代码

            SetStyle(ControlStyles.UserPaint, true);
            SetStyle(ControlStyles.SupportsTransparentBackColor, true);

            this.BackColor = Color.FromArgb(80,Color.Transparent);
            this.ForeColor = Color.FromArgb(100,Color.Transparent);//目前该断代码没起什么作用

放在窗口里面,透明确实实现了,但treeview手动增加的节点就不显示了,如果把上段透明代码去掉,控件不透明状态下,是可以显示文本。

请教下。 --------------------编程问答-------------------- 自己在drawitem中绘制文字 --------------------编程问答-------------------- treeview的字重绘
--------------------编程问答-------------------- treeview都透明了,难道上面的文字不透明? --------------------编程问答-------------------- testcolor 里写了代码:
        DrawMode = TreeViewDrawMode.OwnerDrawText;

DrawNode事件里写了代码:
        
            Font font=new System.Drawing.Font("宋体",9);
            e.Graphics.DrawString(e.Node.Text, font, Brushes.Black, (e.Bounds.Location.X + 1), (e.Bounds.Location.Y + 1));

仍是无法显示出来呢?再请教 --------------------编程问答-------------------- 没人帮忙么 --------------------编程问答--------------------
引用 3 楼  的回复:
treeview都透明了,难道上面的文字不透明?

我设置的80的半透明值,如果字是跟着控件变化的话,那也应该是半透明,但现在是完全不显示。 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 2 楼  的回复:
treeview的字重绘

请教大牛,关于这段的代码不多,到底该如何重绘,我的写的代码有什么问题? --------------------编程问答--------------------
            SetStyle(ControlStyles.UserPaint, true);
             SetStyle(ControlStyles.SupportsTransparentBackColor, true);
我觉得这个没什么用。。具体透明再做处理 --------------------编程问答-------------------- 大型商业级控件。


=======================================================
.NET快速开发整合框架(RDIFramework.NET),基于.NET的快速开发、整合框架,给用户和开发者最佳的.Net框架部署方案。
平台博客:[CNBLOGS]http://www.cnblogs.com/huyong 
     [CSDN]http://blog.csdn.net/chinahuyong
交流QQ:406590790 (请注明:CSDN)
平台微博:http://t.qq.com/yonghu86
邮件交流:406590790@qq.com
--------------------编程问答-------------------- 都继承了TreeView了,而且设置的透明,那就在OnPaint中重绘该好点吧 --------------------编程问答-------------------- 都设置透明了,窗体上画的文本也是透明的吧,除非在里面再添加个Label才能显示出来 --------------------编程问答-------------------- SetStyle(ControlStyles.UserPaint, true);

你设置控件是用户绘制,试试重写OnPaint方法,或者WndProc方法

仅供参考。。。
补充:.NET技术 ,  组件/控件开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,