VB.net怎样按住鼠标移动无边框窗体当用户按下左键时vb.net无边框,为按下对象vb.net无边框的MouseMove事件绑定处理方法,并记录鼠标坐标(窗体左上角为原点 , 在事件vb.net无边框的MouseEventArgs类型的e参数中提供) 。此时用户移动鼠标,保持窗体原点与鼠标新坐标的相对位置不变 。当用户释放左键时,撤销按下对象的MouseMove事件处理方法
vb.net 无边框窗体的问题设置窗体的text为空,设置窗体的controlbox属性为false,设置窗体的FormBorderStyle 属性为Sizable,就可以改变窗体大小了 , 并且可以在任务栏点击 。
Vb.net 无边框窗体如何实现四周阴影? 网上搜到的都是两边阴影的,我需要四周阴影设置全局变量:
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
VB.NET里面要使无边框的窗体有阴影该怎么做调用系统API使窗体下拥有阴影效果
using System.Runtime.InteropServices;
然后再窗口类vb.net无边框的随便哪个地方加上vb.net无边框:
const int CS_DROPSHADOW = 0x20000;
const int GCL_STYLE = (-26);
//声明Win32 API
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int SetClassLong(IntPtr hwnd,int nIndex,int dwNewLong);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int GetClassLong(IntPtr hwnd, int nIndex);
最后在窗体的构造函数中加上vb.net无边框:
SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DROPSHADOW);
VB.NET 拖动无边框窗体编程实例 Imports System Drawing Imports System Windows Forms****************************************** Private oOriginalRegion As Region = Nothing用于窗体移动 Private bFormDragging As Boolean = False Private oPointClicked As Point****************************************** Private Sub Form _MouseDown(ByVal sender As Object ByVal e As System Windows Forms MouseEventArgs) Handles MyBase MouseDown Me bFormDragging = True Me oPointClicked = New Point(e X e Y) End Sub****************************************** Private Sub Form _MouseUp(ByVal sender As Object ByVal e As System Windows Forms MouseEventArgs) Handles MyBase MouseUp Me bFormDragging = False End Sub****************************************** Private Sub Form _MouseMove(ByVal sender As Object ByVal e As System Windows Forms MouseEventArgs) Handles MyBase MouseMove If Me bFormDragging Then Dim oMoveToPoint As Point以当前鼠标位置为基础 找出目标位置 oMoveToPoint = Me PointToScreen(New Point(e X e Y))根据开始位置作出调整 oMoveToPoint Offset(Me oPointClicked X * _ (Me oPointClicked Y_ SystemInformation CaptionHeight_ SystemInformation BorderSize Height) * )移动窗体 Me Location = oMoveToPoint End If
lishixinzhi/Article/program/ASP/201311/21755
【vb.net无边框 winform 无边框】vb.net无边框的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于winform 无边框、vb.net无边框的信息别忘了在本站进行查找喔 。
推荐阅读
- 可以录屏的安卓模拟器,可以录屏的安卓模拟器下载
- 什么cpu核心最好,p7h55最好用什么CPU
- 毕业设计网站推广,毕业设计网站模板
- 体育陪伴直播文案,直播体育节目的短视频
- 聊天系统Java代码 java聊天室的代码设计思路
- css让图片移动动画,css如何实现图片滑动效果
- 角色扮演steam游戏好玩,stream好玩的角色扮演游戏
- mysql怎么设定2选1 mysql选定数据库
- u盘删的东西怎么找回,u盘删了的东西怎么找回