当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > VB.NET 拖动无边框的窗体

ASP.NET
使用C# 开发掩码输入文本框
点击DataGrid的列标头在DataGrid最后一行显示该列的和
ASP.NET之Web打印-终极解决篇
SQL Server 2000 Reporting Services: 怎样根据用户的语言偏好显示本地化的信息
利用底层键盘钩子拦载任意按键(回调版)
如何禁止调整自定义控件的尺寸?
用VB6.0编写磁盘格式化程序
Aspx中导Excel
ASP.NET组件设计Step by Step(3)
下面真正开始讲事件的内容
如何有效的使用C#读取文件
如何在C#中加载自己编写的动态链接库(DLL)
Managed DirectX 相关(DirectX.Capture Class Library && DirectShow.NET)
XQuery Reference-from w3schools.com
[译]Visual Basic 2005在语言上的增强(十三)显式的数组范围及小结
lucene的首次应用
[VBA]在后台删除工作表后出现的怪问题
VB.NET 数据库查询 [SQL字符串的生成]
JavaScript调用服务器事件
在Window2003上执行System.Diagnostics.Process.GetProcessesByName等方法失败的原因

ASP.NET 中的 VB.NET 拖动无边框的窗体


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 91 ::
收藏到网摘: n/a


  这是一个使用VB.net开发拖动无边框的窗体,以下为源代码,朋友们可以参考一下。



  '******************************************
  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