Yeah, a striking difference between windows and linux at this point is that the linux UI frameworks are hyper stable. If I want to make a linux desktop app, I'll choose QT or GTK. Heck, if I want to make a windows and macOS app, I'll probably choose QT or GTK.
What do I chose with Windows? Who knows. It literally changes every time I look into it.
That's just insane.
It's gotten so bad that probably the right way to do a modern windows desktop app is react native. At least you could predict that it will stay up to date with the ever shifting decisions at MS to create and abandon UI frameworks.
Windows Forms is the answer you seek. It still receives updates to this day. I've been writing and shipping Windows Forms apps for 25 years. High DPI, dark mode, Edge web views, Blazor integration, we've got it all. Users don't even need to install .NET these days with self-contained deployment.
I will boldly claim Windows Forms is more stable than Gtk and Qt. Don't let random teams at Microsoft confuse you because they released yet another unrelated framework that you don't have to use. They are engineer-sirens trying to lure you from the true path. Let them pursue their promotions in peace while we rely on a stable workhorse.
On Windows, I would chose WinForms. Even today, even over WPF. It's as stable as QT and GTK, still supported, and has a large community of contributors and 3rd party vendors.
GTK 2, GTK 3, or GTK 4?
Various versions of GTK which introduced breaks but didn't really change the core philosophy of how you build a GTK app. IMO, this is the preferable way to evolve an ecosystem.
The problem microsoft has is instead of making "Win32, but with these extentions or these APIs removed", heck even as a separate "framework". What they did instead was "You know what's hot right now? XML. So let's make an XML based UI framework. Actually, it's javascript and css, so let's do that. Actually, people really like electron so let's do that."
That is to say, it is possible and I dare say easy to migrate an application from GTK 3 to GTK 4. It's basically impossible to migrate a WPF app to UWP. You have to rewrite the whole thing.
win32 seems to be stable, albeit a bit dated. It's good enough for small things (at least good enough for m$ to use)
All the various windows UI frameworks are stable, but not supported and not receiving new updates.
That's the problem.
And what makes matters worse is because of all the shifts, the documentation throughout MS is in just varying states of outdated. For example, this document which recommends using UWP [1] to handle high dpi problems. But of course, UWP (which was the right way to do gui in Win 10) is now defunct for win ui.
[1] https://learn.microsoft.com/en-us/windows/win32/hidpi/high-d...
WPF is also stable. Microsoft's UI strategy is similar to keeping all of Motif, GTK2, Qt5 alive while engineering new stuff into Qt6 without deprecating anything.
Btw Linux UI is not by any measure stable. It is the furthest thing from stable.