but now comes my next problem i need to make it work in winform.
The user interface code runs in one thread. The other parts of the application run in another thread. You'll need to add another thread for serial data processing, since that process is asynchronous. You'll need to add some code to allow the serial thread to communicate with the UI thread.
I have a C# application, using a form, that talks to the Arduino. PM me with an e-mail address, and I'll send you that application. You can use that as a starting point.