vb.net - 表单透明度

标签 vb.net winforms transparency

我正在使用 Visual Basic 中的第一个应用程序,并且正在使用 Visual Basic Studio...我创建了一个带有按钮的表单 - 表单有一个带圆角的背景图像,我无法设置它的颜色为“透明”,因为发生以下错误:

控件不支持透明背景色。

现在我不知道该怎么办。我读过,我可以通过添加以下行来设置代码中的透明度:

SetStyle(ControlStyles.SupportsTransparentBackColor, True)
Me.BackColor = Color.Transparent

但似乎不起作用...那我还能做什么?

整个代码:

Public Class Form1

  Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    MsgBox("Test", 32, "Button Click")
  End Sub

  Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
    Close()
  End Sub

  Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    SetStyle(ControlStyles.SupportsTransparentBackColor, True)
    Me.BackColor = Color.Transparent
  End Sub

End Class

最佳答案

对于表单,请尝试以下操作:

Me.TransparencyKey = Me.BackColor

由于您有背景图像,请确保选择图像中未找到的背景颜色。

关于vb.net - 表单透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13484345/

相关文章:

c# - 从 .NET 检查是否启用了 Windows 更新

c# - 如何防止来自 "hang"的 windows 窗体?

html - 伪元素和独特按钮形状背景的透明度问题

c# - 自动设置 ASP.Net App_Sprites 权限

mysql - 查询适用于 Windows 上的 MySQL,但不适用于 Ubuntu 上的 Mysql

vb.net - 解析多个命名的命令行参数

c# - 键入时的 RichTextBox 事件

c# - winforms标签闪烁

java - 在透明窗口上绘制不透明内容

c++ - 为什么使用 cv::line 函数绘制的不同线条具有不同的透明度 (alpha) 级别?