2014-10-31 96 views

回答

0

我给你一些想法: 您可以将窗体的BackColor和TransparencyKey Color属性设置为相同的颜色。 然后分配透明图像,希望,通过处理Mybase.Paint事件,以这样的方式

Private Sub frmLogin_Paint(ByVal sender As Object, 
     ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint 

     If Not Me.cObjImagen Is Nothing Then 
      e.Graphics.DrawImage(Me.cObjImagen, 0, 0, Me.Width, Me.Height) 
     End If 
    End Sub 

其中“cObjImagen”是“的Form_Load”事件时加载一个System.Drawing.Image对象,或从“公共子新()”,例如...

如果你需要移动的形式,这将帮助你正确地处理消息:

Private Const WM_NCHITTEST As Integer = 132 
    Private Const HTCAPTION As Integer = 2 
    Protected Overloads Overrides Sub WndProc(ByRef m As Message) 
     If m.Msg = WM_NCHITTEST Then 
      m.Result = New IntPtr(HTCAPTION) 
     Else 
      MyBase.WndProc(m) 
     End If 
    End Sub