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

C#的WinForm中,如何实现控件的半透明?

类似于下面图片所示: --------------------编程问答-------------------- 窗体透明可以在属性中设置,上面这个还不知道. --------------------编程问答-------------------- 默认不支持。不过可能能用GDI+自己画? --------------------编程问答-------------------- 可以重新设置一下控件的背景色。如button1.BackColor = Color.FromArgb(0, 0, 0, 0); --------------------编程问答-------------------- 呵呵给分吧,做过的,你给控件加个背景图就可以了 --------------------编程问答-------------------- 测试通过,楼主可以自己试一下

    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
            //设置Style支持透明背景色
            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            this.BackColor = Color.FromArgb(100, 100, 100, 100);
        }

        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            e.Graphics.DrawString("test", new Font("Tahoma", 8.25f), Brushes.Red, new PointF(20, 20));
        }
    }

--------------------编程问答--------------------
引用 5 楼 bloodish 的回复:
测试通过,楼主可以自己试一下 

C# code
    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
            //设置Style支持透明背景色
            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            this.BackColor = Color.FromArgb(100, 100, 100, 100);
        }

        protected overr…


学习了! --------------------编程问答-------------------- 搂主可以指定ARGB四个参数,设置一个半透明颜色,然后用画刷填充控件背景色 --------------------编程问答-------------------- 设置窗体的Opacity属性就行了。
this.Opacity = 0.4; --------------------编程问答-------------------- 4楼的,我给控件加了通明背景图,不行
5楼的我试了,根本就不行。
6楼,你是怎么测试通过的?只是编译通过?
8楼,我要的是窗体上指定的控件半透明,其他控件不用透明 --------------------编程问答-------------------- 楼主我试过6楼的方法了,应该可以的。


一起学习,不知道给分不。 --------------------编程问答-------------------- 用户控件可以实现。因为用户控件是继承了form相同的接口。而普通控件没有。
普通控件也可以做到半透,不过需要调用windows消息,具体消息不明,自己有空找找吧。 --------------------编程问答-------------------- 不要全透明的?
--------------------编程问答-------------------- 6楼的可以实现对其父控件的透明,也就是说如果这个UserControl放在Panel中,它是对这个Panel支持透明的,
但如果这个Panel上还有其他控件比如Button,而UserControl和Button重叠,则UserControl还是会把Button遮住的! --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 6楼正解,我也是这么做的。 --------------------编程问答-------------------- up --------------------编程问答-------------------- 那个是窗体把 窗体有个属性
form1.Opacity = 50;

0是完全透明  100不透明
你做个这个的窗体欠到主窗体里。
--------------------编程问答-------------------- 图片中的那个确实是用窗体实现的,将窗体的ShowInToobar, ControlBox, FormBorderStyle都设掉,再定位到指定位置模拟的
但这样控制点太多, --------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- 自定义一个半透明的控件。
方法就用5楼的,绝对可以。我的项目就是这样做的。 --------------------编程问答-------------------- 非常简单:
this.Opacity=50  --------------------编程问答-------------------- 走过路过没有错过 --------------------编程问答-------------------- 看下. --------------------编程问答-------------------- 大家就没个有效的方法?只对父容器通明满足不了要求呀,
如图,要求在最上面的控件能半透明显示其下被遮的控件,控件之间不存在容器的关系, --------------------编程问答-------------------- 控件背景透明,一直这么用的,试一下
public   void   Transparency   (   PictureBox   pb,   Label   lbl)   
{   
lbl.BackColor   =   Color.Transparent;   
lbl.Parent   =   pb;   
}   --------------------编程问答-------------------- 貌似很热闹 学习下 --------------------编程问答-------------------- 学习了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,