怎么实现控件背景透明!

a8744965 2013-02-21 10:23:55
比如我想把Button A放在另一个Button B上面,A可以看到Button B,但是A的功能完全不变,就是背景可以设置透明,如果有图片,图片也可以设置透明度,有人会吗?提供思路就可以!
...全文
150 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
assky124 2013-02-21
  • 打赏
  • 举报
回复
自定义一个控件好了

    public class IconButton : Control
    {
        public IconButton()
        {
            this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            this.BackColor= Color.Transparent;
        }
     }
Shalves 2013-02-21
  • 打赏
  • 举报
回复
用透明边缘的png图片做ImgButton的背景图片应该可行吧。
a8744965 2013-02-21
  • 打赏
  • 举报
回复
btn.FlatStyle = FlatStyle.Flat;//样式 ,Button有这个属性?
a8744965 2013-02-21
  • 打赏
  • 举报
回复
/// <summary>

/// 设置透明按钮样式

/// </summary>

private void SetBtnStyle(Button btn)

{

    btn.FlatStyle = FlatStyle.Flat;//样式

    btn.ForeColor = Color.Transparent;//前景

    btn.BackColor = Color.Transparent;//去背景

    btn.FlatAppearance.BorderSize = 0;//去边线

    btn.FlatAppearance.MouseOverBackColor = Color.Transparent;//鼠标经过

    btn.FlatAppearance.MouseDownBackColor = Color.Transparent;//鼠标按下

}

private void btn_MouseHover(object sender, EventArgs e)

{

    Button btn = sender as Button;

    btn.FlatAppearance.BorderSize = 1;

}



private void btn_MouseLeave(object sender, EventArgs e)

{

    Button btn = sender as Button;

    btn.FlatAppearance.BorderSize = 0;

}

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧