当前位置: 首页 > 图文教程 > .Net技术 > VB.NET > VB.NET 拖动无边框窗体编程实例

VB.NET
大话“基于对象”与“面向对象”
VB 内存分配与流读写 代码
VB.NET语法基础
vb.net与c#.net区别
用VB.Net读写数据库
百万程序员的苦恼-选择VB.NET还是C#
VB.net 多线程实例
VB.NET也区会大小写
VB.NET 2005编写定时关机程序
VB.NET控件编程定制拦截击键动作
如何实现.net程序的进程注入
VB.NET 菜单设计初级入门
VB.NET中关于DataGrid颜色的自定义
VB网络编程中Winsock的使用
VB.net编程教程:编写文字加解密程序
VB.NET中快速访问注册表技巧
VB.NET:在VB.NET中串行化对象
VB.NET:在 VB.NET 编程中使用数组
VB.NET:VB.NET路在何方?
大话“基于对象”与“面向对象”

VB.NET 中的 VB.NET 拖动无边框窗体编程实例


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

Imports System.Drawing
  Imports System.Windows.Forms
  '******************************************
  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