查看完整版本: 如何拖动没有边框的窗体?

孤灯挑尽 2007-11-7 10:01

如何拖动没有边框的窗体?

这个功能在VB6中,需要借助于API函数才能实现。而在VB.net中,凭自己的功能就能实现。首先设置窗体的FormBorderStyle属性为none以去掉窗体的边框,然后在窗体上添加一个按钮。窗体中的代码如下:
Public Class Form1
 Inherits System.<a href="http://dev.21tx.com/os/windows/" target="_blank">Windows</a>.Forms.Form
 ** mouse_offset As Point
 ** Sub form1_MouseDown(ByVal sender As Object, _
   ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
  mouse_offset = New Point(e.X, e.Y)
 End Sub
** Sub form1_MouseMove(ByVal Sender As System.Object, _
  ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
 '按住鼠标左右键均可拖动窗体
 If e.Button = MouseButtons.Left Or e.Button = MouseButtons.Right Then
  Dim mousePos As Point = Sender.findform().MousePosition
  '获得鼠标偏移量
  mousePos.Offset(-mouse_offset.X, -mouse_offset.Y)
  '设置窗体随鼠标一起移动
  Sender.findform().Location = mousePos
 End If
End Sub
** Sub BtnExit_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles Button1.Click
 '关闭窗体
 Me.Close()
End Sub
End Class
页: [1]

查看完整版本: 如何拖动没有边框的窗体?