Docking & Plug-in

di il
1 risposte

Docking & Plug-in

Ciao a tutti.

Sto realizzando un piccolo gestionale utilizzando questo (Codice) per l'interfaccia utente, opportunamente modificato e trasformato nella libreria esterna "Docking.dll".

Devo dire che i risultati sono quelli che mi aspettavo: funziona tutto a meraviglia finchè utilizzo le "finestre" che si trovano all'interno del progetto principale.

Il fatto è che il mio gestionale può caricare anche i plugin attraverso una libreria "Interfaces.dll" che ha questo codice:

Public Interface IPlugin
Sub Initialize(ByVal Host As IHost) 'Comando di Inizializzazione
Sub Avvia(ByVal Host As IHost) 'Avvio
ReadOnly Property Name() As String 'Nome del Plug-in
ReadOnly Property Version() As String 'Versione del Plug-in
End Interface

Il plugin, per avviare una form, utilizza:

Public Sub Avvia(ByVal Host As Plugin.Interfaces.IHost) Implements Plugin.Interfaces.IPlugin.Avvia
Dim Form As New formPlugin
Form.ShowDialog() 'oppure Form.Show()
End Sub

In questo modo si avvia una nuova finestra con scelta obbligata o meno, a seconda del plugin.
Io vorrei invece che tali Forms si "agganciassero" al MDIform del programma principale.


Se faccio l'import del plugin come libreria esterna, tutto funziona bene se avvio la finestra in questo modo.

Dim form As New Plugin.NomePlugin.frmplugin
form.MdiParent = Me
form.Show (DockPanel,WeifenLuo.WinFormsUI.DockState.Document)


Ho provato a scrivere questo codice nel plugin...

Public Sub Avvia(ByVal Host As Plugin.Interfaces.IHost) Implements Plugin.Interfaces.IPlugin.Avvia
Dim Form As New formPlugin
Form.Show(DockPanel, WeifenLuo.WinFormsUI.DockState.Document)
End Sub

ma non vuole saperne di fare ciò che desidero!!

Qualcuno saprebbe darmi una mano per favore.

Grazie mille.

1 Risposte

  • Re: Docking & Plug-in

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    Ciao a tutti.

    Sto realizzando un piccolo gestionale utilizzando questo (Codice) ...
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    Il codice a cui mi riferisco lo trovate quì:

    http://www.codeproject.com/useritems/DockPanelSkin.as

    In pratica mi permette di "Attaccare" più form a runtime dove mi pare, un pò come succede con l'IDE di Visual Studio...

    Grazie ancora a quanti sapranno darmi una mano.
Devi accedere o registrarti per scrivere nel forum
1 risposte