none
errorprovider bloque le bouton fermer dans 1 winform RRS feed

  • Question

  • Bonjour à tous 

     

    J'ai créé 1 winform qui comprend plusieurs textbox

    Entrée adresse mail, valeurs numériques, texte.

    Chaque textbox comprend un error provider pour renseigner en cas d'erreur

    Je me suis aperçu que je ne pouvai pas fermer la fenêtre tant que mon premier textbox 

    n'était pas renseigné correctement, l'errorprovider se déclenche aussitôt .

    Quelle peut être la parade en gardant cette même conception ?

    Merci a vous

    jeudi 2 septembre 2010 18:50

Réponses

  • Bonjour Michel,
    En soit, un ErrorProvider ne bloque pas la fermeture d’un formulaire. Avez-vous mis des points d’arret dans votre code afin de bien véfirier que le click sur votre bouton de fermeture avait bien lieu ? Ce doit être le cas normalement et ce code doit ocntenir un appel à la méthode clsoe de votre formulaire (sans quoi oui, il n’y arra pas de fermeture du formaulaire).Si non, ce doit être une autre partie de votre code qui interdit l’exécution de le méthode close de votre formulaire. 

    A noter qu’un seul ErrorProvider est utile par formumlaire. Pour l’utiliser correctement

    Il faut utiliser le code suivant pour ajouter des erreurs :

    this.errorProvider1.SetError(this.textBox1, "Message d'erreur sur Textbox1");
    this.errorProvider1.SetError(this.textBox2, "Message d'erreur sur Textbox2");<br/>
    

    Et cet autre code pour les retirer :

    this.errorProvider1.SetError(this.textBox1, String.Empty);
    this.errorProvider1.SetError(this.textBox2, String.Empty);
    
    

    Jérémy Jeanson MCP, MCTS http://blogs.codes-sources.com/JeremyJeanson/ (French or English spoken)
    vendredi 3 septembre 2010 08:36

Toutes les réponses

  • Bonjour Michel,
    En soit, un ErrorProvider ne bloque pas la fermeture d’un formulaire. Avez-vous mis des points d’arret dans votre code afin de bien véfirier que le click sur votre bouton de fermeture avait bien lieu ? Ce doit être le cas normalement et ce code doit ocntenir un appel à la méthode clsoe de votre formulaire (sans quoi oui, il n’y arra pas de fermeture du formaulaire).Si non, ce doit être une autre partie de votre code qui interdit l’exécution de le méthode close de votre formulaire. 

    A noter qu’un seul ErrorProvider est utile par formumlaire. Pour l’utiliser correctement

    Il faut utiliser le code suivant pour ajouter des erreurs :

    this.errorProvider1.SetError(this.textBox1, "Message d'erreur sur Textbox1");
    this.errorProvider1.SetError(this.textBox2, "Message d'erreur sur Textbox2");<br/>
    

    Et cet autre code pour les retirer :

    this.errorProvider1.SetError(this.textBox1, String.Empty);
    this.errorProvider1.SetError(this.textBox2, String.Empty);
    
    

    Jérémy Jeanson MCP, MCTS http://blogs.codes-sources.com/JeremyJeanson/ (French or English spoken)
    vendredi 3 septembre 2010 08:36
  • Bonjour jérémy,

     

    Avant tout merci pour l'errorprovider ça allège considérablement le formulaire et le code,

    par contre pourrais-tu m'éclairer un peu plus sur la méthode close car je débute et manque de stratégie.

    Merci encore

    lundi 6 septembre 2010 16:23
  •  Rebonjour Jérémy

    j' ai regardé un peu mon code et en ajoutant un Me.close au début le bouton fermer redevient valide

    je pense que c'était de ça que tu parlais

    merci

    lundi 6 septembre 2010 17:17
  • Oui c'est bien cela.en donc si on est dans du Vb, l'errorprovider s'utilsie comme ceci :

     

    'Il faut utiliser le code suivant pour ajouter des erreurs :
    Me.errorProvider1.SetError(Me.textBox1, "Message d'erreur sur Textbox1")
    Me.errorProvider1.SetError(Me.textBox2, "Message d'erreur sur Textbox2")<br/>
    
    'Et cet autre code pour les retirer :
    Me.errorProvider1.SetError(Me.textBox1, String.Empty)
    Me.errorProvider1.SetError(Me.textBox2, String.Empty)
    
     
    
    Le "Me" n'est pas indispensable, mais j'aime bien l'utiliser pour savoir ce à quoi se référence mon code ;)
    Jérémy Jeanson MCP, MCTS http://blogs.codes-sources.com/JeremyJeanson/ (French or English spoken)
    mardi 7 septembre 2010 07:14