Procedura: visualizzare form da componenti
Benché la maggior parte dei componenti non disponga di interfacce visive, può essere utile in alcuni casi interagire visivamente con un componente. Nel caso di un componente che rappresenta un conto bancario è ad esempio possibile visualizzare un form di avviso specifico quando il conto è scoperto. Queste funzioni devono rimanere costanti nel componente e non dipendere dall'applicazione client. Poiché i form sono classi, è semplice creare un'istanza del form e quindi visualizzarla attraverso il componente.
È possibile creare un form in due modi:
Creare il form dall'esterno del componente, utilizzando una finestra di progettazione quale Visual Studio per definire l'aspetto e il comportamento del form.
Creare il form come classe annidata all'interno del componente. Il vantaggio di questo metodo risiede nel fatto che consente di controllare il modo in cui viene utilizzato ed esposto il form, visto che quest'ultimo fa sempre parte del componente. Lo svantaggio principale, invece, è dato dal fatto che non è possibile utilizzare una finestra di progettazione con il form e che occorre progettarlo scrivendo manualmente il codice.
Per visualizzare un form dal componente
Creare il Windows Form che si desidera visualizzare dal componente.
Se il form da visualizzare non si trova nello stesso assembly del componente, è necessario fare riferimento all'assembly contenente il form.
Dichiarare una variabile locale come nuova istanza del form.
Ad esempio, se il form è stato denominato MyForm, il codice sarà simile al seguente.
Dim AFormInstance as New MyForm
MyForm AFormInstance = new MyForm();
MyForm AFormInstance = new MyForm();
Chiamare i metodi Show, ShowDialog e Hide del form per controllare la visualizzazione, come illustrato nell'esempio di codice seguente.
AFormInstance.Show ' Displays the form. AFormInstance.ShowDialog ' Displays the form and waits for user interaction before continuing. AFormInstance.Hide ' Hides the form.
// Displays the form. AFormInstance.Show(); // Displays the form and waits for user interaction before continuing. AFormInstance.ShowDialog(); // Hides the form. AFormInstance.Hide();
// Displays the form. AFormInstance.Show(); // Displays the form and waits for user interaction before continuing. AFormInstance.ShowDialog(); // Hides the form. AFormInstance.Hide();