I thought the “System.Windows.Form” namespace was only valid on Windows platform.
I just saw that Grasshopper DLLs on MAC reference this namespace.
Does using “System.Windows.Form” and “System.Drawing” work with Rhino and Grasshopper plugins on Windows and MAC?
It probably works in many cases. To save yourself the trouble of cross-platform headaches I suggest you use Eto.Forms instead. We use this in Rhino as well for increasing amount of our GUI while we gradually replace to old, separate interface codebases and unify it all through one library.
Via Guides under the Advanced section you can get to Eto.Forms guides. See also our API section for access to the Eto.Forms documentation.
As for public projects see GitHub - mcneel/RhinoCycles: The Cycles integration plug-in for Rhinoceros 3D , all the GUI parts are done with Eto.Forms. The upcoming Grasshopper 2 is also written completely on top of Eto.Forms. Check the uploads of the past two years from @DavidRutten on his youtube channel: https://www.youtube.com/c/DavidRutten/videos?view=0&sort=dd&shelf_id=0 for a look at the work that is possible with Eto.Forms.
Thanks @nathanletwory for this comprehensive answer.
It is therefore possible for temporary interfaces or internal test windows, to use the Forms system.
This is great news, I have a lot of difficulties with Eto, so it will make my life easier in some cases.