加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.net – 允许用户移动无边框窗口

发布时间:2020-12-17 07:12:18 所属栏目:百科 来源:网络整理
导读:我有一个没有边框的表单,我希望用户能够移动.我找不到任何可以让我这样做的东西. 是否可以移动边框设置为None的窗口? 解决方法 引入一个布尔变量,如果当前拖动了表单,则保存状态,以及保存拖动起始点的变量.然后OnMove相应地移动表单.由于这已在其他地方得到
我有一个没有边框的表单,我希望用户能够移动.我找不到任何可以让我这样做的东西.

是否可以移动边框设置为None的窗口?

解决方法

引入一个布尔变量,如果当前拖动了表单,则保存状态,以及保存拖动起始点的变量.然后OnMove相应地移动表单.由于这已在其他地方得到解答,我只需将其复制并粘贴到此处即可.

Class Form1
    Private IsFormBeingDragged As Boolean = False
    Private MouseDownX As Integer
    Private MouseDownY As Integer

    Private Sub Form1_MouseDown(ByVal sender As Object,ByVal e As MouseEventArgs) Handles MyBase.MouseDown

        If e.Button = MouseButtons.Left Then
            IsFormBeingDragged = True
            MouseDownX = e.X
            MouseDownY = e.Y
        End If
    End Sub

    Private Sub Form1_MouseUp(ByVal sender As Object,ByVal e As MouseEventArgs) Handles MyBase.MouseUp

        If e.Button = MouseButtons.Left Then
            IsFormBeingDragged = False
        End If
    End Sub

    Private Sub Form1_MouseMove(ByVal sender As Object,ByVal e As MouseEventArgs) Handles MyBase.MouseMove

        If IsFormBeingDragged Then
            Dim temp As Point = New Point()

            temp.X = Me.Location.X + (e.X - MouseDownX)
            temp.Y = Me.Location.Y + (e.Y - MouseDownY)
            Me.Location = temp
            temp = Nothing
        End If
    End Sub
End Class

从http://www.dreamincode.net/forums/topic/59643-moving-form-with-formborderstyle-none/被盗

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读