One word, just one: Git.
It's light, very easy to use, and there are lots of great resources to get you started. Mercurial is an excellent---and likewise free---tool as well. The reason for git over Mercurial is that sometimes, especially at work, I find that there are branches that need to GO, and GO quickly before the boss sees them. Git makes this easy, Mercurial, by a conscious choice, makes it near-impossible.
I use git on my work Windows machine, then go home to a nice, relaxing session on FreeBSD.
And, of course, Git integrates into Visual Studio:
https://stackoverflow.com/questions/507343/using-git-with-visual-studio
On my work machine, I use Git installed from Cygwin and it took me about twenty minutes to set up both. There are GUIs for Git, but you won't really need them: they are especially helpful when merging, but since I am the repository's only user, I don't have much of a problem resolving conflicts with myself. (The meds help ;) )
Not to make this too much into a git v mercurial fight, but the other advantage of Git is the larger user base, on this site as well as in the "wild," this translates into better support and potentially more future development.
On the other hand, .NET people seem to prefer Mercurial.
But the best part, is that if you choose either, its not like you're stuck. There are lots of good conversion utilities between the two, and they are similar enough that once you learn one, you won't have a hard time with the other.