Thanks for your answers, now I have another issues.
I want my snake to always move on a distance of 1 tile
So I tried instead of Move the SetPosition but it still moving the same way (not "jumping" from a square to another)
The other one is that the snake only moves up or left if I use GetFrameTime:
if (direction == "D")
{
Sprite.SetPosition(X, Y);
Y += TileSize * ElapsedTime; //Doesn't work
}
if (direction == "U")
{
Sprite.SetPosition(X, Y);
Y -= TileSize * ElapsedTime; //Works
}
if (direction == "L")
{
Sprite.SetPosition(X, Y);
X -= TileSize * ElapsedTime; //Works
}
if (direction == "R")
{
Sprite.SetPosition(X, Y);
X += TileSize; //Works
}