Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否有方法将对象(如标签)移动到其他对象(如PictureBox)上?_C#_Winforms - Fatal编程技术网

C# 是否有方法将对象(如标签)移动到其他对象(如PictureBox)上?

C# 是否有方法将对象(如标签)移动到其他对象(如PictureBox)上?,c#,winforms,C#,Winforms,目前,我正在进行一个项目,使用两个标签跟踪表单上的坐标,一个跟踪X坐标,另一个跟踪Y坐标。到目前为止,它只在没有图片盒的情况下工作良好。然而,在等式中添加一个PictureBox会产生一些问题。大多数都可以忽略不计,但有一个让我困惑。将鼠标移到PictureBox上时,标签和PictureBox都停止移动。当我将光标移到PictureBox区域之外时,它才开始移动。有没有可能解决这个问题 代码: @艾米,你确定这是winforms吗?我不记得有一个OnMouseMove方法。@Sweeper它可

目前,我正在进行一个项目,使用两个标签跟踪表单上的坐标,一个跟踪X坐标,另一个跟踪Y坐标。到目前为止,它只在没有图片盒的情况下工作良好。然而,在等式中添加一个PictureBox会产生一些问题。大多数都可以忽略不计,但有一个让我困惑。将鼠标移到PictureBox上时,标签和PictureBox都停止移动。当我将光标移到PictureBox区域之外时,它才开始移动。有没有可能解决这个问题

代码:


@艾米,你确定这是winforms吗?我不记得有一个
OnMouseMove
方法。@Sweeper它可能是WPF,但我不这么认为。Winforms中有一个
OnMouseMove
:您悬停在上面的控件现在获得MouseMove事件。您需要将表单的Capture属性设置为true,以确保它获取所有事件。在MouseDown上抓取捕获,在MouseMove上移动东西,然后在MouseUp上释放捕获。在网上有很多这样做的例子。您为什么要覆盖OnMouseMove而不是使用MouseMove事件?
int x = 0, y = 0;

    protected override void OnMouseMove(MouseEventArgs e)
    {
        base.OnMouseMove(e);
        x = e.X; y = e.Y;
        label1.Location = new Point(x - label1.Width, y);
        label2.Location = new Point(x, y - label2.Height);
        pictureBox1.Location = new Point(x, y);
        label1.Text = x.ToString(); label2.Text = y.ToString();

    }