2014-02-15 3 views
0

Я сделал форму без полей, и я установил фоновое изображение (в формате PNG) на что-то похожее на изображение, показанное на изображении ниже. Я хочу, чтобы фон был прозрачным, чтобы отображалось только круговое изображение. Я попытался изменить форму-х BackColor к Transparent, но я получаю сообщение об ошибке говорящего Property value is not valdСделать фон формы прозрачным

image

+0

ли ваш образ есть, что белый фон или форма? – aksu

+0

@aksu, nope. мое изображение находится в формате PNG, и у него нет фона. – elvinguitar

+1

Используйте конструктор, чтобы установить свойства TransparencyKey и BackColor в розовый цвет. Если это создает розовую бахрому вокруг изображения, вам нужно вернуться к своей программе рисования и сделать изображение жестким. –

ответ

1

Попробуйте

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

(или)

Вызвать метод SetStyle вашей формы в конструкторе.

SetStyle(ControlStyles.SupportsTransparentBackColor, True) 
+0

Я пробовал 'Me.TransparencyKey = Color.Transparent', но форма закрывается и отладка завершена – elvinguitar

+0

Попробуйте Me.BackColor = Color.Transparent –

2

Если цвет фона прозрачной работы, вы можете установить 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 
+0

В свойствах «Я» нет свойств «TransparencyKey», только «Me.AllowTransparency» – elvinguitar

+0

. Автоматическая полная вещь не показывает его, вы полностью выполнили мой код? http://msdn.microsoft.com/en-us/library/system.windows.forms.form.transparencykey%28v=vs.110%29.aspx – aksu

4
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

     Me.TransparencyKey = Color.LightBlue 
     Me.BackColor = Color.LightBlue 

    End Sub 
0
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 
0

Вы можете попробовать, как, свойства установленной формы от проектирования вперед

обратно цвет = система> активного заголовка и установите прозрачность> ACTIVE-подпись

и напишите следующий код в конструкторе формы или активированном событии:

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

Вы также можете это видео: https://www.youtube.com/watch?v=CEuxm-FV-cU

Смежные вопросы