我遇到了' 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);
}
}
答案 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;
}