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

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

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

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

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 = 0x <源宽x++) {

      for (int y = 0y <源高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 = 保留区域

您好,您可以使用Huawei MateBook 14s笔记本的小透明窗口来查看屏幕上的内容。要使用小透明窗口,您需要先打开您的Huawei MateBook 14s笔记本,然后点击屏幕右上角的“更多”图标,打开“更多”菜单。在“更多”菜单中,您可以看到一个名为“小透明窗口”的选项,点击它即可打开小透明窗口。您可以在小透明窗口中查看屏幕上的内容,并且可以调整小透明窗口的大小。此外,您还可以使用小透明窗口来查看屏幕上的内容,而无需打开整个屏幕。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6390754.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-21
下一篇 2023-03-21

发表评论

登录后才能评论

评论列表(0条)

保存