如何拖动没有边框的窗体?
作者:孟宪会 发布日期:2003-06-15 02:39:24

这个功能在VB6中,需要借助于API函数才能实现。而在VB.NET中,凭自己的功能就能实现。首先设置窗体的FormBorderStyle属性为none以去掉窗体的边框,然后在窗体上添加一个按钮。窗体中的代码如下:

Public Class Form1  Inherits System.Windows.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
原文地址:http://dotnet.aspx.cc/article/2492393d-aac0-4a0e-ae49-bc0841292986/print.aspx
© 版权所有 【孟宪会之精彩世界】TM 2012