You don't use a timer at all. In a very simple method of doing this, you can just use the current DateTime.Now value and schedule the next move. In your drawing loop, if the scheduled time hasn't arrived yet, you don't move the character.
DateTime schedMove = DateTime.Now().AddMilliseconds(500);
and in your look where you determine if you need to move your character or not, check to see if Now is greater than the sceduled DateTime:
if (DateTime.Now() >= schedMove)
{
...
schedMove = DateTime.Now().AddMilliseconds(500);
}