OK, there is the cheeze. there is MANY ways to send SMS from C#. most of them do cost money. there are a few free ways, its just a little more complicated than it would seem.
First off, there needs to be a SMS gateway. usually done through WAP, or the internet from a GSM Modem, or cell phone.
Second way, its through a webservice API, but some company would have to front the money for this, usually free ones attatch adds at the end of your message, or log the numbers you message to for future cell spamming. There is only one really free one, and its API source code is written in Linux. and that is some site called Connel, or slomething like that. Been a while since I visited it.
Now for the one you really can use!
If you use an IPhone or Blackberry. you will notice that you can't send SMS Picture messages, haha, thats because what they don't tell you is that you are sending your sms on those smartphones through smtp. Almost every major Cell Phone provider, like ATT, Verizon, Sprit ect. has a SMTP MAIL to SMS gateway. that is free to you, if you know about it. and they don't advertise it.
Essentially. they don't give out all the info, so you will need to have a smtp server that you can use to send Email with. if you pay for internet, most likely you will have the info you need for it, and if you don't there are some free ones you can Look for, although the free one's fine print usually gives the property ofyour message, so it can be read, or edited, just read your agreements if you sign up for anything free.
essentially, you send an email to a certain address for each provider, and it will send the message to the number before the @ symbol. and the system. mail namespace gives you all you need for that.
here is a list of the email addresses
http://www.notepage.net/smtp.htm
now you will have to create a character counter, and a listbox to choose what provider the user is, and adjust accordingly.
BEST OF LUCK!