Honestly since you are using C# i'd say don't waste time on licensing.
If someone wants your program without paying, they will simply open it up with any IL reader and remove your licensing system or just nop it.
As another user said make a free version with limited functinality. Sell the full version hope it's not spreaded too fast on torrent sites.
Or simply remake your application in another language e.g. c++ and use a licensing system that has to connect to a server. Making it slightly harder to reverse engineer.
Just take notice that whenever your program becomes somewhat popular it will be hacked/cracked.
Simply rely on the honest people or people who use it commercialy and cannot afford to "get caught" using illegal software.
EDIT*
Someone said to use .NET Reactor over at www.eziriz.com
If it works as advertised this will only stop people to easily read your code. It won't stop people to reverse engineer it and hack it anyway.
The question is how much do you want to pay for protection?
(This is basically rewriting it in another programming language only you pay for it. (less time consuming though), again does it work as advertised?)