科技行者

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

知识库

知识库 安全导航

至顶网软件频道基础软件如何拖动没有边框的窗体?

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

  • 扫一扫
    分享文章到微信

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

这个功能在VB6中,需要借助于API函数才能实现。而在VB.net中,凭自己的功能就能实现。

作者:佚名 来源:中国IT实验室 2008年6月7日

关键字: 窗体 拖动 VB vb.net Windows

  • 评论
  • 分享微博
  • 分享邮件
这个功能在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

  Private mouse_offset As Point
  Private 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

 Private 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

 Private Sub BtnExit_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles Button1.Click
  '关闭窗体
  Me.Close()
 End Sub
 End Class

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