Eto form script to docking panel

I’m looking to send my eto forms (GhPython scripts) to my plug-in docking panel in Rhino which is written in C#.
I’ve tryed different approaches with no luck so far, for instance the error on the image bellow that expects a window not a panel.

Does anyone knows if there is any easy approach to get the content of the form directly on the panel?
Any input is higly appreciated.

Hi @mats_magnunson,

Usually you create controls, add them to a layout and then set the layout as the panel’s content.

– Dale

Hi @dale ,
I need to have all controls inside GH so it’s easier to have these eto controls done in script components. The documentation available is mainly on python and it was easy to set it up. But if needed I don’t mind to do c# scripts for the controls.
My question is if after having the controls added to the layout as you pointed, how can I set them to the rhino panel content?

Hi @mats_magnunson,

Panels are for plug-ins, not for scripts. So perhaps this is not a good UI choice…

– Dale

Hi @dale , It seems to be the best way to have eto controls runing definitions with Ghplayer.
What’s your recommended approach? Do you suguest to create another GH plugin to do these controls and be able to have them running as a component?
Like this one? C# Eto Form or Panel from Grasshopper?

Hi @mats_magnunson,

Sorry but I don’t know anything about GrasshopperPlayer. @AndyPayne, can you jump in here?

You might consider moving this thread to the Grasshopper category, were others with experience can chime in.

– Dale

Hi Dale, I don’t see the need of any input from Andy since all forms are running well through GhPlayer, both dialogs, modeless forms and panels.
@curtisw sorry to tag you in here but you seem to be the subject mater expert on eto implementation, being so please let me know if there is any way to achieve this, or any other recommended approach.

Hi @mats_magnunson
I try this using clr to load the plugin and add a control to the panel.
From the script it appears that the control added but it is not visible.

Maybe @dale have a solution or a confirmation if this work or not.