2010-04-20 4 views
2

J'utilise une application de formulaire Windows et je dois exécuter un code lorsque je passe en mode Création. J'ai un gestionnaire pour l'événement de débogage OnEnterDesignMode et ceci est frappé si je débogue l'application et puis passe en mode de conception. Toutefois, cela ne sera pas atteint si je démarre au début sans débogage, puis passez en mode Création. Quel événement dois-je gérer pour que certains codes soient exécutés lors du passage du mode Exécution au mode Conception?Quel événement devrais-je gérer pour exécuter du code lorsque l'application WinForms passe du mode Exécution au mode Conception?

+1

Comment le commutateur d'application du mode de fonctionnement en mode conception? –

Répondre

0

Faites-vous référence au mode de libération et au mode de débogage?

Si oui, vous pouvez envelopper votre code comme suit:

#if DEBUG 
      //Execute debug mode code 
#else 
      //execute release mode code 
#endif 
0

Je ne sais pas sur l'événement, mais il y a une propriété bool DesignMode sur une forme de fenêtres, sans doute héritée de contrôle, qui retourne true si le formulaire est ouvert dans le concepteur. Attention cependant, car DesignMode renvoie false dans un constructeur même en mode design. Donc, utilisez-le toujours dans quelque chose comme l'événement load, et non dans le constructeur.

0

Essayez Component.DesignMode dans votre contrôle. Voir MSDN

VB.net Exemple

Private Sub txtSmartDate_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSmartDate.TextChanged 
    If Not Me.DesignMode Then 
     If _ValueInitialised And Not _SuppressEventCode Then 
      ' Apply the changes to the property value, now the text box has been updated. 
      Call SetPropertyValues() 
      Call ApplyDateFormating() 
     End If 
    End If 
End Sub 
Questions connexes