科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在 VB.NET 中如何拖动无边框的窗体

在 VB.NET 中如何拖动无边框的窗体

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

     '******************************************   Private oOriginalRegion As Region = Nothing   ' 用于窗体移动   Private bFormDrag

作者:builder.com.cn 2007年9月29日

关键字: 编程

  • 评论
  • 分享微博
  • 分享邮件
  
  '******************************************
  Private oOriginalRegion As Region = Nothing
  ' 用于窗体移动
  Private bFormDragging As Boolean = False
  Private oPointClicked As Point
  '******************************************
  
  Private Sub Form1_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 Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
  Me.bFormDragging = False
  
  End Sub
  '******************************************
  
  Private Sub Form1_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 * -1, _
  (Me.oPointClicked.Y + _
  SystemInformation.CaptionHeight + _
  SystemInformation.BorderSize.Height) * -1)
  ' 移动窗体
  Me.Location = oMoveToPoint
  End If
  
  End Sub
  

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章