Comment : afficher des formulaires à partir de composants
Mise à jour : novembre 2007
Bien que la plupart des composants ne disposent pas d'interface visuelle, l'utilisateur a parfois besoin d'interagir visuellement avec eux. Par exemple, un composant représentant un compte bancaire peut afficher un formulaire d'alerte spécifique lorsque le compte est à découvert. Ces fonctions doivent rester constantes dans le composant et ne pas dépendre de l'application cliente. Un formulaire étant une classe, il est facile d'en créer une instance puis de l'afficher par le biais de votre composant.
Il existe deux manières de créer un formulaire :
Vous pouvez créer le formulaire à l'extérieur de votre composant, ce qui vous permet de définir son aspect et son comportement (apparence) en utilisant un environnement de design tel que Visual Studio.
Vous pouvez faire du formulaire une classe imbriquée dans votre composant. L'avantage de cette approche est que le formulaire faisant toujours partie de votre composant, vous pouvez contrôler la façon dont il est utilisé et exposé. Son principal inconvénient est qu'elle ne vous permet pas d'utiliser un concepteur ; vous devez donc créer entièrement le formulaire par codage manuel.
Pour afficher un formulaire à partir de votre composant
Créez le Windows Form à afficher à partir de votre composant.
Si le formulaire que vous souhaitez afficher ne se trouve pas dans le même assembly que votre composant, vous devez référencer l'assembly qui contient votre formulaire afin de le générer correctement.
Déclarez une variable locale en tant que nouvelle instance du formulaire.
Par exemple, si votre formulaire s'appelait MyForm, votre code ressemblerait aux éléments suivants.
Dim AFormInstance as New MyForm
MyForm AFormInstance = new MyForm();
MyForm AFormInstance = new MyForm();
Appelez les méthodes Show, ShowDialog et Hide de votre formulaire pour contrôler l'affichage, comme le montrent les exemples de code suivants.
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();