IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

comment ouvrir une aboutbox ? [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut comment ouvrir une aboutbox ?
    bonjour

    Je n'arrive pas à ouvrir une aboutBox que j'ai ajouté a mon projet via Projet->ajouter un formulaire windows -> boite a propos

    j'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Apropos.ActiveForm.Show();
    mais il ne se passe rien

    et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Apropos.ActiveForm.ShowDialog();
    mais me dit qu'il est déjà visible, qu'il faut le rendre invisible avant (mais je ne trouve pas la propriété Visible pour cet AboutBox...)

    J'ai essayé sans le ActiveForm, la méthode Show directement n'existe pas...

    bref, je m'y prends pas comme il faut

    Merci par avance

  2. #2
    Membre émérite Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Par défaut
    Salut,
    La propriété "ActiveForm" est une propriété statique issue de Form comme l'indique la documentation.
    Et cette propriété retourne le formulaire actif. Donc aucune chance qu'il te retourne ton AboutBox.

    Ton AboutBox est un objet, comme tout le reste, comme n'importe quelle fenêtre classique.
    Conséquence, il s'invoque comme ceci (en version modale) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    using(Apropos a = new Apropos())
    {
        a.ShowDialog();
    }

  3. #3
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    Ouha... j'etais loin du compte vu que je comprends même pas la réponse !

    Je vais étudier le vocabulaire de cette magnifique réponse qui m'explique le pourquoi du comment

    Merci beaucoup !

  4. #4
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    re,

    donc si je comprends bien AboutBox est une classe que je peux appeler plusieurs fois si je veux.

    Avec ce using je crée l'objet à partir de la classe puis je demande à l'afficher.

    Et si je comprends toujours bien, le using permet de libérer la mémoire qui a servi a construire l'objet dés que possible.

    J'ai un peu de bon ?

    en tous cas ça fonctionne très bien

  5. #5
    Membre émérite Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Par défaut
    Citation Envoyé par petitours Voir le message
    J'ai un peu de bon ?
    Presque tout
    Presque car le using n'est en rien responsable de la création de l'objet.
    Le mot clef using est un sucre syntaxique pour la construction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Apropos a;
    try
    {
        a = new Apropos(); // C'est "new" qui crée l'objet
        // ici on place le code qu'on aurait mis dans le block using :
        a.ShowDialog();
    }
    finally
    {
        a.Dispose();
    }
    Le but de ce code est qu'en cas d'exception ou de sortie de portée, l'objet créé dans les parenthèses en face du using (en l'occurrence "a") soit détruit correctement.

  6. #6
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    a ok

    j'avais du mal à piger l'histoire de la portée.

    En gros ça empêche que la destruction de l'objet nous échappe.
    Soit on arrive à l'ouvrir , soit on fait le ménage.

    Alala je gère jamais les try catch pour le moment... mais bon je vous apprendrai à faire du code qui try et réussi toujours ! Pas de doutes, ce n'est pas le mien mais c'est un métier !

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Comment ouvrir une form dans un panel
    Par Le Basque dans le forum Windows Forms
    Réponses: 7
    Dernier message: 28/02/2007, 12h31
  2. [MFC] Comment ouvrir une autre dlg box
    Par spirit_1999 dans le forum MFC
    Réponses: 4
    Dernier message: 09/06/2005, 08h57
  3. [JFrame] Comment ouvrir une fenêtre maximiser
    Par dadg dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 11/12/2004, 18h38
  4. TTreeView -> Comment ouvrir une unité ?
    Par DaLove dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/12/2002, 11h30
  5. Réponses: 1
    Dernier message: 31/10/2002, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo