在控件的MouseDown事件中,记录控件的当前位置和鼠标坐标,并设置一个标志变量表示进入拖动状态;在MouseMove事件中,判断如果当前是拖动状态,则根据鼠标的当前坐标和MouseDown时的坐标计算出移动量,更改控件位置;在MouseUp事件中清除标志变量.
第二步,打开后,新建一个Windows窗体应用程序
第三步,新建完毕后,如图所示
第四步,拖动文本框与按钮,如图示
第五步,将剪贴板复制与粘贴代码输入,如图示
第六步,运行程序
很久没有上这里了,今天看到了这个问题,尝试做了一个;
本例以源文本框TextBox1全部文字作为拖放文字为例,实现拖放
Public Class Form1
Private MouseIsDown As Boolean = False
Private Sub TextBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDown
'设置一个标志以显示鼠标已按下.
MouseIsDown = True
End Sub
Private Sub TextBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseMove
If MouseIsDown Then
'开始拖动(将TextBox1的文本内容作为拖放内容).
TextBox1.DoDragDrop(TextBox1.Text, DragDropEffects.Copy)
End If
MouseIsDown = False
'检查正在被拖放的数据的格式.
If (e.Data.GetDataPresent(DataFormats.Text)) Then
'显示复制光标(表示是拖放行为).
e.Effect = DragDropEffects.Copy
Else
'显示不放置光标(表示不是拖放行为).
e.Effect = DragDropEffects.None
End Class
控件是可以显示在里面的,你只要加个label,把label的属性设为visualble=fause就行.设置鼠标经过头像的mouseHover和mouseLeave事件,当mouseHover时label的属性visualble=true,当mouseLeave时label的属性visualble=fause即可.窗体的鼠标事件可以设置控件的cursor属性,里面可以选择许多种鼠标图形. 只要是正常的Form都可以改变窗体大小,但是无边框的窗体只能用函数改变或者设置属性,在debug后是不能改变的.拖动窗体需要在窗体的load时间里面写入当鼠标单击不放时的事件即可,不难.
以上就是土嘎嘎小编为大家整理的vb.net控件拖放相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!