What you are talking of is a Licensing option in your software.
There are different ways to achieve this:
1) encrypted license files that contains the expiry dates etc.
2) encrypted license keys held in the registry
3) challenge/response mechanism which require an internet connection
4) probably others.......
Try: License Key Generation
] or: How can I create a Product Key for my C# App
] or: c# Licensing
Couple of them are in C# which can be seen to start on Vb.NET
Cryptography 101 for the .NET Framework