I have one that I send to anyone that asks. It posts a Windows form and has proper threading to deal with the serial port in one thread and the user interface in another thread. It's a bit long to post here, and requires a number of files that in general don't need to be looked at but do need to be present. Getting them all in the right place from a series of forum posts is challenging.
I've attached it to this post.
CommunicateWithArduino.zip (50.8 KB)