7
votes

Evénement de charge d'UserControl non tiré

J'ai une application WinForms. Ma classe dérivée de ma forme a une classe dérivée d'UserControl. Je mets simplement plusieurs contrôles dans un userercontrol pour simplifier la réutilisation. L'événement Charger de USERCONTROL n'est pas tiré. Dois-je mettre des biens?


2 commentaires

S'il vous plaît montrer le (contour de) votre code.


Avez-vous été abonné à des événements surchargés de chaque UserControl de votre classe?


3 Réponses :


3
votes

Il n'y aurait pas de propriétés spéciales que vous devez définir pour les événements d'UserControl à tirer. Vous avez l'une des 2 façons de vous abonner à l'événement. Dans les propriétés (grille de propriété) Sélectionnez la liste des événements ... Double-cliquez sur la propriété Charger. Toutes les pièces de code nécessaires seront mises en place et votre curseur vous attendra à la méthode appropriée.

La deuxième méthode est abonnée à l'événement comme: P>

public MyMainForm( )
{
    InitializeComponents();
    myUserControl.Load += new System.EventHandler(myUserControl_Load);
}

void myUserControl_Load(object sender, EventArgs e)
{
    MessageBox.Show(((UserControl)sender).Name + " is loaded.");
}


3 commentaires

Je fais exactement ce que vous codez ici, mais cela ne fonctionne pas du tout. Si je remplace plutôt le surcharge, ça marche ...


Eh bien ... il semble que MSDN connaisse mieux, alors j'irais aussi avec ça.


la charge = doit apparaître avant l'initializecomonent ()




1
votes

Une des raisons de l'événement de chargement pour arrêter de tirer est lorsque vous avez un parent de votre contrôle qui fait quelque chose comme ça xxx

vous devez toujours vous assurer de faire cela xxx


0 commentaires