zoukankan      html  css  js  c++  java
  • SL4.鼠标拖动

    利用鼠标响应事件,定位对象的坐标,以实现拖放功能

    XAML:

                 <Canvas Background="Yellow"  Height="195" Name="canvas1" Width="457">
    <Ellipse MouseMove="ellipse1_MouseMove" MouseLeftButtonDown="ellipse1_MouseLeftButtonDown"
    MouseLeftButtonUp
    ="ellipse1_MouseLeftButtonUp" Fill="Gold" Canvas.Left="118" Canvas.Top="59" Height="100" Name="ellipse1" Stroke="Black" StrokeThickness="3" Width="200" />
    </Canvas>
    <TextBlock Height="23" Name="tbkPoint" Text="" Width="319" />

      

    XAML.CS:

            Point curPos;
    bool mouseMoviing = false;
    private void ellipse1_MouseMove(object sender, MouseEventArgs e)
    {
    FrameworkElement element
    = sender as FrameworkElement;
    if(mouseMoviing)
    {
    double currX = e.GetPosition(null).X - curPos.X;
    double currY = e.GetPosition(null).Y - curPos.Y;
    element.SetValue(Canvas.TopProperty, currY
    + (double)element.GetValue(Canvas.TopProperty));
    element.SetValue(Canvas.LeftProperty,
    currX
    + (double)element.GetValue(Canvas.LeftProperty));
    tbkPoint.Text
    = "Ellipse 当前坐标:"+ curPos.X.ToString() + "," + curPos.Y.ToString();
    curPos
    = e.GetPosition(null);
    }
    }

    private void ellipse1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
    FrameworkElement element
    = sender as FrameworkElement;
    curPos
    = e.GetPosition(null);
    mouseMoviing
    = true;
    if(null!=element)
    {
    element.CaptureMouse();
    element.Cursor
    = Cursors.Hand;
    }
    }

    private void ellipse1_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
    FrameworkElement element
    = sender as FrameworkElement;
    mouseMoviing
    = false;
    element.ReleaseMouseCapture();
    curPos.X
    = 0;
    curPos.Y
    = 0;
    element.Cursor
    = null;
    }

      

  • 相关阅读:
    webdav srs相关
    How To Configure WebDAV Access with Apache on Ubuntu 14.04
    ubuntu 编译lighttpd
    srs编译及推流测试
    Compile pciutils (lspci, setpci) in Windows x86,在 Windows x86 平台下编译 pciutils (lspci, setpci)
    mingw MSYS2 区别
    Qt之美(三):隐式共享
    Qt之美(二):元对象
    Qt之美(一):d指针/p指针详解
    C++的栈空间和堆空间
  • 原文地址:https://www.cnblogs.com/baobao2010/p/2153250.html
Copyright © 2011-2022 走看看