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

王朝other·作者佚名  2008-05-19
宽屏版  字体: |||超大  

这个功能在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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有