It's done. After a seven year on-again off-again relationship with this code, I'm pleased to announce that VncSharp has reached version 1.0. I have told myself many times that "this is the last time I'm updating this" and for some reason I always come back. Actually, the reason is always the same: someone sends me a great patch or finds a nasty bug, and I'm drawn back in for another round. This time it was Grégoire Pailler who sent me a complete implementation of ZRLE and 8-bit encoding, and once I'd relearned C# I figured I might as well do a bunch of other things too; see the changelog for full details. I've also written an updated example application in both C# and VB.NET, showing the basics of using the RemoteDesktop control.
I've had enormous pleasure over the years getting mail from people around the world who are using VncSharp in interesting ways. Most recently I found out about the Terminals project. I hope the mail keeps coming.
I always loved C# and working on this release over the past few weeks reminded me why. It's a lot of fun to develop, and a very expressive language. Even after all these years (I haven't worked in C# for more than 3 years--Mozilla, I blame you), it comes back to me quickly.
If you find yourself building a Windows application and needing to integrate VNC capabilities, make sure you give VncSharp a try.