Keep it simple, stupid
Still learning C# and finishing off my spritesheet editor. Haven't had much time on it lately. I like to think I'll be able to improve this, but we'll see. Some of the lack of progress is due to me spending too much time on other things (*cough*flash games*cough*), some of it is stuff that's going on.
I've spent way too much time finishing this tool off and I realise this is because I've overcomplicated it. I've designed it to use self-managing classes and stuff when all I really need is one class with some Lists of sprite indexes, names, animation frame durations, etc. One of my motivations for learning C#, XNA and doing a "smaller" project was to be able to whack out decent progress quickly. I've certainly learnt that there's no point in over-complicating your tools. Sure, you want your "engine" code to be tight, but there's no such requirement for tools. As long as they're not buggy and do what they're supposed to do. I won't be using the data structures I created for the tool in my engine anyway. They'll just be middle-men for the data on disk.