鼠标位置在组框内给出错误的坐标

本文关键字:出错 错误 坐标 位置 鼠标 | 更新日期: 2023-09-27 18:05:17

当我给鼠标药水标签时,它看起来比当前鼠标位置要低得多。标签在一个组框内,组框包含超过50%的窗体面积。组框在这里是必须的。我正在尝试这段代码。

int xX, yY = 0;
protected override void OnMouseMove(MouseEventArgs e) {
    base.OnMouseMove(e);
    xX = e.X;
    yY = e.Y;
    lbl.Left = xX;
    lbl.Top = yY;
}

鼠标位置在组框内给出错误的坐标

看起来你想在面板的边界内移动标签,所以你应该为面板的MouseMove事件添加一个事件处理程序。

public Form1()
{
    InitializeComponent();
    panel1.MouseMove += panel1_MouseMove;
}
void panel1_MouseMove(object sender, MouseEventArgs e)
{
    lbl.Location = e.Location;
}
public frmChequeFormat()
    {
        InitializeComponent();
        gbCheque.MouseMove += gbCheque_MouseMove;
    }
    bool mDown = false;
    private void gbCheque_MouseMove(object sender, MouseEventArgs e)
    {
        if (mDown)
        {
            label13.Location = e.Location;
        }
    }
    private void label13_MouseDown(object sender, MouseEventArgs e)
    {
        mDown = true;
    }
    private void label13_MouseUp(object sender, MouseEventArgs e)
    {
        mDown = false;
    }
相关文章: