they clearly WANT applications written in .net not to be cross platform
they clearly WANT applications written in .net not to be cross platform
If you want a cross platform UI, use WPF with Avalonia. Or if you want something entirely from Microsoft themselves, there's MAUI as an option.
It can, but not easily. As OP has said, it is a wrapper around Win32, and not an opaque one - it literally has stuff like e.g. the Message struct with members like HWnd and LParam.
Mono did try at one point, but they kept hitting edge cases where this kind of stuff would break things. Eventually they gave up and just wrapped Wine. So, yes, if you really really want to run WinForms on Linux, Mono is where it's at. But ... why?
Note that C++, Rust, Go all don't have any kind of standard GUI support out of the box at all.
Case in point: both Teams and VS Code: both web view wrappers.
Some trading shops are still using WPF and some are even using Windows Forms apps still.
HTML is all you need for a cross platform UI.
FTFY