WPF 与winform获取鼠标坐标的差异

来源:互联网 发布:淘宝卖东西进货渠道 编辑:程序博客网 时间:2024/06/05 12:55

  winform中以Panel为例的MouseDown事件为:

private void panelposition_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
      //分别用e.X,e.Y来获取鼠标的x,y坐标(e.X,e.Y分别为整数)
        int x=e.X;
        int y=e.Y;

  wpf中以Image为例的MouseDown事件为:

private void imageposition_MouseDown(object sender, MouseButtonEventArgs e)
{
        //采用e.GetPosition(IInputElement relativeTo)来获取鼠标的x,y坐标
        //以下部分来自于metadata中:
        //--------------------------------------------------------------
        // Summary:
        //     Returns the position of the mouse pointer relative to the specified element.
        //
        // Parameters:
        //   relativeTo:
        //     The element to use as the frame of reference for calculating the position
        //     of the mouse pointer.
        //
        // Returns:
        //     The x- and y-coordinates of the mouse pointer position relative to the specified
        //     object.
        public Point GetPosition(IInputElement relativeTo);
        //--------------------------------------------------------------
        //其中relativeTo为选择的对象,即在图片上面就是图片对象,窗体上面就是window对象。 
                //e.GetPosition(img).X为double类型,需转换后使用。      
                int x = Convert.ToInt32(e.GetPosition(img).X);
                int y = Convert.ToInt32(e.GetPosition(img).Y);

        }

  本文来自娜老汉的博客,原文地址:http://www.cnblogs.com/peasana/archive/2012/02/13/2349523.html

原创粉丝点击