Utilisation de ApplicationContext
Salut tout le monde !
Après avoir tout mis en oeuvre pour utiliser ApplicationContext je m'en remets à vous :D
J'ai un "winform principal" comportant un bouton qui doit, sur évènement clic, afficher un usercontrol dans ce même winform.
J'ai donc décidé d'utiliser ApplicationContext pour gérer ça, mais un simple test d'afficher le usercontrol au lancement de l'appli ne fonctionne pas :S
Voici quelques bouts de code :
Program.cs
Code:
1 2 3 4 5 6 7
|
[STAThread]
static void Main()
{
MyAppContext myContext = new MyAppContext();
Application.Run(myContext);
} |
MyAppContext.cs
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class MyAppContext : ApplicationContext
{
public MyAppContext()
{
MainForm = new MenuWinform();
CreateArchiveClass uc = new CreateArchiveClass();
uc.Location = new System.Drawing.Point(0, 0);
uc.Size = new System.Drawing.Size(300, 300);
uc.Visible = true;
(MainForm as MenuWinform).SetControl(uc);
MainForm.Show();
}
} |
MenuWinform.cs
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| public partial class MenuWinform : Form
{
public MenuWinform()
{
InitializeComponent();
this.VisibleChanged += (sender, e) =>
{
if (currentControl != null)
currentControl.Visible = true;
};
}
Control currentControl;
public void SetControl(Control newControl)
{
if (currentControl != null)
{
this.Controls.Remove(currentControl);
}
this.Controls.Add(newControl);
currentControl = newControl;
} |
Résultat : l'interface de MenuWinform s'affiche bien, mais pas mon usercontrol... (celui-ci contient un formulaire).
Avez-vous des idées ?
Merci et bonne journée ;)