sto facendo un Autocad Plugin
che funziona bene con Windows Forms
E ho creato una user control (winforms)
di replicare in qualsiasi forma mi piace in futuro.Ottenere applicazione che esegue un controllo di Windows Form
La domanda è
Dal codice del controllo, come faccio ad ottenere l'istanza dell'applicazione in esecuzione che il controllo?
(Probabilmente un puro problema WinForms)
coditions:
all'interno del plug-in posso ottenere l'istanza Autocad Application senza problema.
Questo controllo utente vuole essere in un separate assembly (dll)
da riferimento nella applicazione plug-in, quindi ha accesso diretto alla istanza dell'applicazione.
Una piccola spiegazione sullo scenario:
C'è un Main Assembly
gestito da Autocad come plug-in. Questo assembly ha l'istanza di Autocad istanziata.
Ora ho alcuni controlli di form utili per lavorare con Autocad, e sono in un separate assembly
. (Questo perché voglio usarli in tanti plug-in che mi piacciono).
Quindi, Autocad esegue main assembly
e main assembly
esegue controlli dello separate assembly
.
Per funzionare correttamente, tali controlli devono avere accesso all'applicazione Autocad che sta eseguendo il main assembly
.
Oggi utilizzo l'applicazione come proprietà nei controlli, che devo impostare prima di utilizzarli. (Se dimentico di impostarlo, vengono sollevate delle eccezioni). Dal momento che non posso avere un controllo con un creatore che prende i parametri.
Desidero che i controlli rilevi l'applicazione in esecuzione, pertanto evito questa soluzione alternativa.
Non sono sicuro del motivo per cui si desidera l'istanza di Applicazione. Forse, se tu potessi spiegare il tuo scenario in breve, sarebbe utile. La classe System.Windows.Forms.Application espone metodi statici che potrebbero esserti di aiuto. In tal caso, dai un'occhiata a http://msdn.microsoft.com/en-us/library/system.windows.forms.application(v=vs.100).aspx – Jatin
Là va, ha aggiunto lo scenario. –
Non credo che Autocad api ti dia accesso all'oggetto dell'applicazione Windows sottostante. Ho dovuto affrontare un problema simile durante lo sviluppo di un'applicazione wpf. Ho finito per creare un'applicazione come mostrato in questo post: http://stackoverflow.com/questions/13658711/caliburn-micro-in-no-application-object-mode-like-in-autocad-dll-plugin. Se i tuoi schermi non interagiscono con le schermate di AutoCAD, puoi provare un approccio simile. – Jatin