What toolchain are you using? I've always used VS with the Qt plugin and have never had any problems getting it up and running. Even working with two installed versions of Qt (one for each bitness) is pretty easy. The plugin also enables the debugger to inspect QStrings, which is very useful.
This is my default choice if I don't care about portability and just need to hammer something out really quickly. Mono is actually really solid. I've used it to write servers that can run unmodified on both Windows and Linux and it's just flawless. The problem is that WinForms isn't really supported. AFAIK, anyway; feel free to correct me on that one. I basically just tried running a very very simple WinForms executable on Linux and it didn't work, and didn't look further into it. It's possible there's some way to make it work.
The designer in VS is WYSIWYG pretty much always because it calls into the code to draw the contents of the window. Some of the widgets (ListView! *Shakes fist!*) in WinForms are artificially and bafflingly crippled relative to what .NET is capable of offering, but there pure CLR libraries out there that implement some crazy controls. For example:
As for web technologies for desktop GUIs:
As a user, I hate them for being wasteful and slow. I wish someone would explain to me why the desktop version of Slack, which is a glorified IRC, needs to be just regular Slack running through a stripped-down Chrome.
As a developer, I hate them because I hate JS with the power of a thousand suns, probably for the same reasons you do.
EDIT: I forgot to mention. If you don't care that the GUI looks nothing like a native GUI, you could take a look at FLTK. The library is pretty small and easy to compile, and the widgets it includes seem quite capable.