光标位置设置

时间:2014-05-13 11:56:13

标签: c# cursor mouseevent

我遇到了' Cursor.Position'我试图制作一个在面板内以20块为单位移动的光标,所以我可以放置块。就像那些2D游戏设计师块放置工具一样。

int mPosX = 20;
int x = 0;
int y = 0;

private void panel1_MouseMove(object sender, MouseEventArgs e)
{
    if (e.X > mPosX)
    {
        mPosX += 20;
        Cursor.Position = new Point(e.X + 20, e.Y);
    }
}

1 个答案:

答案 0 :(得分:0)

Cursor.Position.Y<> e.Y

e.y是相对的,而Cursor.Position.Y是全局的

你可以使用类似的东西:

            if (e.X > mPosX)
            {
                mPosX += 20;
                Point p = Cursor.Position;
                p.X += (20 - Cursor.Position.X % 20);
                Cursor.Position = p;
            }