|
opening form as modal from solidworks menu plugin
i have a simple solidworks plugin that creates a menu item that simply calls process.start() which effectively calls shell with the passed parameter, so process.start("c:\myprog.exe") start my program.
the problem is i want to open this program (a .net windows form in this matter) modally, so solidworks cannot be focused or messed with until the form/program is closed. this is possible as a plugin i am using does just this. it is effectively the same as using the command form.showdialog(); or setting the form.modal to true before showing it (ps you cannot set the form.modal from within itself as it is read only, the caller has to set it).
anyone have any idea how to call a form modally, or perhaps i shouldn't be using process.start but calling my program another way?
there are a couple of things you could do;
get the main handle of the solidworks app and set that as your owner and call showdialog(owner)
my problem with the former is that my program is in a project, and my plugin is in a dll class project, so the dll is registered with com and the exe simply placed in the directory.
how can i get an object of the exe's form type in order to create a new form and set a showdialog from the dlls function that is called when the menu is clicked?
luke, did you ever find a solution to this probem? i'm having the exact same issue!
lee,
i no longer required the modal state as i got more benefits from not having it modal; however, looking back on the issue i'd say the only way to do it is to read in a byte stream of the exe and create a new assembly object from that, and then possibly call that assembly modal somehow, but i haven't had a good look at that possibilty yet. try googling it. |
|