当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .net中PictureBox中图片的拖动

ASP.NET
Visual Basic .NET处理Excel表格全接触
ASP.NET缓存方法分析和实践示例
.NET Framework 新功能和增强的功能
ASP.NET MVC :MVC页面验证与授权
URL的传递字符串问题小研究
.NET程序员新方向 Ruby核心语法入门
Asp.net教程:设计IP地址屏蔽功能
asp.net中的观察者模式
ASP.NET网站程序防SQL注入式攻击方法
ASp.Net自定义验证码控件
ASP.Net开发新手常见问题备忘录
.net解决数据导出excel时的格式问题
让.Net 应用程序突破2G的内存访问限制
asp.net 获取客户端IP与mac
用ASP.NET创建网络相册 保存美好时光
创建基于ASP.NET的SMTP邮件系统
在ASP.Net 中实现将图片存入数据库
经典ASP.NET打印技术
详细解读.NET中的代码动态编译
如何在VC中实现淡入淡出的启动画面

ASP.NET 中的 .net中PictureBox中图片的拖动


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

.net中PictureBox中图片的拖动
首先在Form窗体上放一个PictureBox,并指定一个图片显示

定义一系列变量处理图片拖动
 '处理图片拖动
        Private m_Leftx As Integer
        Private m_Lefty As Integer
        Dim m_MousePosX As Integer
        Dim m_MousePosY As Integer
        Dim m_DriftX As Integer
        Dim m_DriftY As Integer
并给赋初值,可以在Form初始化时做
  Me.m_Leftx = Me.PictureBox1.Location.X
        Me.m_Lefty = Me.PictureBox1.Location.Y

定义处理鼠标按下的事件

 '当鼠标按下时,将鼠标变成手形,并且记录下当前鼠标的位置
  Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown

            Me.Cursor = System.Windows.Forms.Cursors.Hand
            m_MousePosX = e.X
            m_MousePosY = e.Y

        End Sub
定义处理鼠标抬起的事件
 '处理鼠标按键抬起的事件,根据鼠标按下时保存的鼠标位置,和当前鼠标的位置,计算鼠标移动偏移量,借此调用移动图片的函数,移动图片
        Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp
          
            m_DriftX = m_MousePosX - e.X
            m_DriftY = m_MousePosY - e.Y
         
            m_Leftx = m_Leftx - m_DriftX
            m_Lefty = m_Lefty - m_DriftY
          
            picturemove(sender, e)
            Me.Cursor = System.Windows.Forms.Cursors.Arrow

        End Sub


 '根据偏移量计算出的图片位置,重画图片
        Private Sub picturemove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
            Dim myBit As New System.Drawing.Bitmap(PictureBox1.Image)

            Dim myPicGrh As System.Drawing.Graphics = Me.PictureBox1.CreateGraphics
            myPicGrh.Clear(Me.PictureBox1.BackColor)
           
            myPicGrh.DrawImageUnscaled(myBit, m_Leftx - 152, m_Lefty)

            myBit.Dispose()
            myPicGrh.Dispose()


        End Sub