Сделать фон формы прозрачным
Я сделал форму без полей и установил фоновое изображение (в формате PNG) примерно таким, как показано на рисунке ниже. Я хочу сделать фон формы прозрачным, чтобы отображалось только круглое изображение. Я пытался изменить форму BackColor
в Transparent
но я получаю сообщение об ошибке Property value is not vald
6 ответов
Попробуй это
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.BackColor = Color.Transparent
End Sub
(или же)
Вызовите метод SetStyle вашей формы в конструкторе.
SetStyle(ControlStyles.SupportsTransparentBackColor, True)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.TransparencyKey = Color.LightBlue
Me.BackColor = Color.LightBlue
End Sub
Если фоновый цвет прозрачный, вы можете установить TransparencyKey
приписать юр форму, чтобы сделать белый цвет прозрачным.
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.TransparencyKey = Color.White 'if this doesn't work you try:
'Me.TransparencyKey = Me.BackColor
End Sub
Public Class Form1
Private _InitialStyle As Integer
<Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Sequential)> Public Structure MARGINS
Public LeftWidth As Integer
Public RightWidth As Integer
Public TopHeight As Integer
Public Buttomheight As Integer
End Structure
<Runtime.InteropServices.DllImport("dwmapi.dll")>
Public Shared Function DwmExtendFrameIntoClientArea(ByVal hWnd As IntPtr, ByRef pMarinset As MARGINS) As Integer
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'DataSet1.MainMenuMaster' table. 'You can move, or remove it, as needed.
Try
Me.BackColor = Color.DarkBlue
Dim margins As MARGINS = New MARGINS
margins.LeftWidth = -1
margins.RightWidth = -1
margins.TopHeight = -1
margins.Buttomheight = -1
Dim result As Integer = DwmExtendFrameIntoClientArea(Me.Handle, margins)
Catch ex As Exception
Application.Exit()
End Try
End Sub
End Class
Вы можете попробовать как, установить свойства формы со стороны проектирования
back color=system>active-caption и установить прозрачность> active-caption
и напишите следующий код в конструктор формы или активированное событие:
SetStyle(ControlStyles.SupportsTransparentBackColor, True)
Me.BackColor = Color.Transparent
Вы также можете это видео: https://www.youtube.com/watch?v=CEuxm-FV-cU