调用API是个好的办法,给你个参考网文:
创新互联公司成立与2013年,先为榕城等服务建站,榕城等地企业,进行企业商务咨询服务。为榕城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
如果一定要自已用GDI+绘制,很麻烦,比如把窗体设置成无边框,贴图上去,但可能要自已定义事件来响应缺少标题栏后的操作。等等
PNG图片本身设置通道,使用Adobe Photoshop加入这个通道这样就肯定没白边了
这方面的知识属于Photoshop绘图相关的
通道的意思就是为这个时钟设置一个选择范围蒙板,屏蔽除时钟这个大圆形外的其它部分
加入通道后,把时钟外其它部分图像填充蓝色
这方面还有一些专用的技巧的,如通道设置的这个圆形范围周围做模糊处理之类的,说起来很复杂你也看不明白。你网上找一下有没有Photoshop加入通道演示的内容吧
请教一个C#转vb.net 的问题。求助大神-CSDN论坛-CSDN.NET-中国最大的IT技术社区
是你发的帖子吧。你在里面把代码不全啊,包括原本的C#代码和你转的VB.NET代码
VB.NET里有
private skin as SkinForm(me)的用法?
明显应该是 Private skin as SkinForm
然后再在New方法的最后一行或者首次用到skin 之前,
If (skin is Nothing) Then skin =New SkinForm(Me)
vb.net2008
vb.net API 是将除特殊变量(如H20000)的Long都改成Integer
窗体的右侧和下方有阴影
Public Class Form1
Private Const CS_DROPSHADOW = H20000
Private Const GCL_STYLE = (-26)
Private Declare Function GetClassLong Lib "user32" Alias "GetClassLongA" (ByVal hwnd As Integer, ByVal nIndex As Integer) As Integer
Private Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Integer, ByVal nIndex As Integer, ByVal dwNewLong As Long) As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SetClassLong(Me.Handle, GCL_STYLE, GetClassLong(Me.Handle, GCL_STYLE) Or CS_DROPSHADOW)
End Sub
End Class
设置全局变量:
Dim drag As Boolean
Dim mousex As Integer
Dim mousey As Integer
假设你想拖动的是Panel1控件,以及此控件上的 Label1(用于显示标题)和PictureBox4(用于显示图标):
Private Sub TitleMove_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseDown, Label1.MouseDown, PictureBox4.MouseDown
drag = True
mousex = Windows.Forms.Cursor.Position.X - Me.Left
mousey = Windows.Forms.Cursor.Position.Y - Me.Top
End Sub
Private Sub TitleMove_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseMove, Label1.MouseMove, PictureBox4.MouseMove
If drag Then
Me.Top = Windows.Forms.Cursor.Position.Y - mousey
Me.Left = Windows.Forms.Cursor.Position.X - mousex
End If
End Sub
Private Sub TitleMove_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseUp, Label1.MouseUp, PictureBox4.MouseUp
drag = False
End Sub
它们的窗体实际上就是你截图出来的大小,周围的阴影效果都是自己画出来的。