← Back to context

Comment by domenicd

15 days ago

From what I understand, Win32/MFC/WinForms inherently are stuck around Vista visuals, with no dark mode support. Win32/MFC also have no high-DPI support, so you get gross upscaling. (WinForms supposedly has some support for high DPI, but with many open issues. [1])

Now, I'm not 100% sure, since there are so many commenters in this thread saying "just use Win32/MFC like a real man". (Most of them ignoring the memory safety angle.) I might do a follow-up asking Claude to reproduce my UI in the various frameworks to test. But my strong guess is that we just have a bunch of HackerNews curmudgeons who are happy to foist pixelated Vista-era light-mode-only UIs on their users.

[1]: https://github.com/dotnet/winforms/issues?q=is%3Aissue%20sta...

>with no dark mode support.

https://learn.microsoft.com/en-us/dotnet/desktop/winforms/wh...

"Dark mode Windows Forms has fully integrated dark mode support.

Windows Forms for .NET 9 introduced preliminary dark mode visual styling, but in an opt-in preview mode where you had to suppress Compiler Error WFO5001 to use the feature. This feature is no longer guarded behind this compiler error starting with .NET 10.

The Application.SetColorMode(SystemColorMode) API is no longer considered experimental."

I have 15 year old binaries made with WinForms that look just fine on Windows 10, and use native Windows 10-styled controls.

I think that would be a great article! For your specific app, I can see how the "super modern" sparse UI fits nicely, since the controls are nice and simple. However, for a more involved app knowing what possibilities there are to get the Windows 10 look would be nice.