Eto Dialog() vs Form()


Could anyone help me?
I got stuck with Eto, I have found two scripts.One is the Official one from Dale;

The other one is from Arjun who created a script for panel distribution;

The one from Dale includes Dialog() class and the other one has Form() class. Both of them do the same thing but different way. What is the difference between Form() and Dialog() ?

Also I browse the documentation of Eto Namespaces but haven’t found the Title, Padding , ClientSize etc. (It must come from my lack of programming knowledge) Or it is a Python things that hasn’t been documented yet.


Form() is part of System.Windows.Forms.Form() it works in Rhino 5 + 6 (Windows) but not on Mac.

Dialog() is part of Eto.Forms.Dialog() it works in Rhino 6 (Windows) and on Mac, but not in Rhino 5 (Windows)

the method rs.HtmlBox is a RhinoScript method (vbscript) which works in Rhino 5 + 6 (Win) but is not available within python scripting yet. It also does not work under Mac which uses python.

If you want to get started under Windows, and do not care much about using your dialog on a Mac, start using Windows.Forms. There are many examples online. One simple example dialog together with some tips how to create it without much programming knowledge can be found here.

Btw, ETO is not so different from Windows.Forms as many method names and mechanisms are identical. Once you have gained some knowledge about Windows.Forms, it is much easier to get started with ETO.


1 Like

Thanks Clement, this is what exactly want to learn Windows Forms first and then Eto if Mac will be required however I use Win.

I have had great success in using Mark Meier’s excellent code that uses Window Forms but does it in a way that makes it 10X faster to use:

Below is an example of a simple GUI I created for generating a cavity with pillars and a cone. This example is not for actual use, just a test case to try out the code. This picture was captured with another GUI I also built with Mark’s code.