c#如何把窗体的背景颜色弄成透明?

RT怎样实现?反正弄没了就行了~什么方法都可以。。。。... RT怎样实现?
反正弄没了就行了~什么方法都可以。。。。
展开
 我来答
魔法软糖™
2022-08-22 · TA获得超过837个赞
知道小有建树答主
回答量:822
采纳率:94%
帮助的人:144万
展开全部

窗体透明有两种实现方式:


① 比较简单的方法就两句话。

this.TransparencyKey = this.BackColor;

this.FormBorderStyle = FormBorderStyle.None;

适用于单色背景的窗体。


② 如果想要图片背景的窗体透明,就稍微有点复杂。

流程:获取图片不透明区域 -> 设置 Form.Region 为该区域;

◆ 首先需要定义两个函数 

/// <summary>返回Region,表示由 不透明路线() 新建的区域</summary>

public Region 不透明区域(Bitmap 位图) { return new Region(不透明路线(位图)); }

/// <summary>返回GraphicsPath,表示所有不透明的点组成的路线</summary>  

public GraphicsPath 不透明路线(Bitmap 位图) {

    GraphicsPath gp = new GraphicsPath(); //新建图像路径来存储不透明的点

    for (int x = 0; x < 源宽; x++) {

        for (int y = 0; y < 源高; y++) {

            Color c = 位图.GetPixel(x, y);

            if (c.A != 0) { gp.AddRectangle(new Rectangle(x, y, 1, 1)); } //添加点到路径

        }

    }

    return gp; //返回路径

}

◆ 获取图片的不透明区域,并将窗体区域设置为它

Bitmap 位图 = new Bitmap(@"C:\图片路径\123.png");

Region 保留区域 = 不透明区域(位图);

Form1.Region = 保留区域;

匿名用户
2013-06-09
展开全部
窗体有个属性,好像是 Opacity,反正是 Op开头,你把这个的值设置为0就成透明的了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-09
展开全部
设置窗体透明度。Opacity=0%
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-09
展开全部
GDI +PNG图片画个窗口
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式