Reading and sending works fine on hyperterminal. What i want is to read sms and output it on a text box. I wrote this code, am I doing it right? I am not that experienced with c#. I think the correct method is use event handler but how to do it? Thanks..

Is the port open? Is there any output on the text box?
I say make two buttons. One to write and one to read. Then try writing and reading and post what you actually get.

What you should note is that by the time you call ReadExisting() maybe the AT command response hasn't been available yet.
So a second button would allow you to add necessary delay. Not sure if the AT command gives back a nicely formatted String (with the right enconding).
If not, you can use the plain Read() method.