0

我一直在制作一个用户点击的程序,无论他们在哪里拖动鼠标,它都会画一条线。它有效,但它在错误的地方画线。我认为这是因为我得到了整个表格的 xy,而不是我的面板。继承人的代码:

 private void panel2_MouseDown(object sender, MouseEventArgs e)
    {
        vars.x = MousePosition.X;
        vars.y = MousePosition.Y;
        label1.Text = vars.x + ", " + vars.y;
        vars.isDrawing = true;
    }
    private void panel2_MouseMove(object sender, MouseEventArgs e)
    {
        if (vars.isDrawing == true)
        {
            if (e.Button == MouseButtons.Left)
            {
                int x2 = MousePosition.X;
                int y2 = MousePosition.Y;

                Random randomGen = new Random();
                Color randomColor = Color.FromArgb(randomGen.Next(255), randomGen.Next(255), randomGen.Next(255));
                Pen line = new Pen(randomColor, 1);
                System.Drawing.Graphics formGraphics = panel2.CreateGraphics();
                formGraphics.DrawLine(line, vars.x, vars.y, x2, y2);
            }
        }
    }
4

1 回答 1

3

使用e.Xande.Y代替MousePosition.XandMousePosition.Y

于 2012-06-30T22:26:18.483 回答