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 :

Windows Form multiple et close


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 20
    Par défaut Windows Form multiple et close
    Bonsoir

    J'ai lus le tutoriel sur le site de C#, ensuite j'ai voulus me lancer dans un petit programme en form. Mais j'ai un petit problème

    "Cannot access a disposed object."

    Mon programme se constitue de la manière suivante : (Les fichiers sont raccourcis)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    static void Main()
    {
     
       Application.EnableVisualStyles();
       Application.SetCompatibleTextRenderingDefault(false);
       Dispatcher Dispatcher = new Dispatcher();
       Application.Run();
     
    }
    Mon fichier dispatcher me permet de crée les variables de départ et les transmettre au premier formulaire par référence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class Dispatcher
        {
            private ToolsClass HTools;
     
            public Dispatcher()
            {
                HTools = new ToolsClass();
                Screen1 HScreen1  = new Screen1(ref HTools);
                HScreen1.Show();
            }
        }
    Mon Screen1 a pour unique fonction pour l'instant de multiplier la valeur par 2 et afficher la suite de résultat jusque 300.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Screen1 : Form
    {
        public Screen1(ref Toolsclass HTools)
        {
            multiple();
            Screen2 HScreen2 = new Screen2(ref HTools);
            Screen2.show();
            Close();
        }
        public void multiple()
        {
            // Code de mutiple et modification de la textbox.
        }
    }
    Jusqu'ici pas de soucis, mais quand je lance un troisième formulaire, et tente le premier, j'ai l'erreur suivante :

    "Cannot access a disposed object."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Screen3 : Form
    {
        public Screen3(ref Toolsclass HTools)
        {
            multiple();
            Screen3 HScreen3 = new Screen3(ref HTools);
            Screen3.show();
            Close();
        }
        public void suite()
        {
            // Code de suite et modification de la textbox.
        }
    }
    Pour résumer

    1) Quand j'utilise deux form, la premier se ferme quand la seconde se lance.
    2) Si je tente de passer sur 3 forms :
    - Lancement de la première
    - Ouverture de la seconde
    - Fermeture de la première et echec ...


    Merci d'avance, en espérant avoir été clair dans mes explications

    Hantse.

  2. #2
    Inactif  

    Homme Profil pro
    développeur Vala
    Inscrit en
    Février 2011
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : développeur Vala
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 478
    Par défaut
    tu essayes d'utiliser une form qui a été détruite. Peut tu donner la ligne exacte où se situe l'erreur

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public Screen3(ref Toolsclass HTools)
        {
            multiple();
            Screen3 HScreen3 = new Screen3(ref HTools);
            Screen3.show();
            Close();
        }
    Donc dans ton constructeur Screen3 tu construis un nouveau Screen3 et ensuite se "Close", puis le nouveau Screen3 va construire un nouveau Screen3 et il va SE "Close", puis le troisième nouveau Screen3 va construire un nouveau Screen3 puis il va SE "Close". Bon j'arrête la mais ETC.
    Un boucle sans fin

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 20
    Par défaut
    Bonjour

    Non enfaite je me suis tromper Screen 3 est en fait screen 2
    Mais j'ai résolus le problème

    J'aurais cependant une autre question, quand on récupére une RawValue comment peux t-on la convertir en float ?

    Merci d'avance

    Hantse.

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    float v_value;
    if(float.TryParse("RawValue" ,out v_value))
    {
         // Parse réussi
    }else
    {
        // Parse non réussi
    }
    "RawValue" l'accès à la donnée

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 20
    Par défaut
    Bonsoir

    Cela ne fonctionne pas dans le sens ou je récupére une rawvalue d'un performancecounter, les nombres parser sont impossible ...

    http://msdn.microsoft.com/fr-fr/libr...(v=vs.71).aspx

    Pour une instance d'utilisation du CPU, le nombre dois être entre 0-100 ce qui n'arrive pas

    Et le problème avec le NextValue me renvois constamment 0 ...

    Merci d'avance

    Hantse

Discussions similaires

  1. [Débutant] windows form multiple dans mon programme
    Par QAYS dans le forum Windows Mobile
    Réponses: 0
    Dernier message: 03/12/2012, 11h00
  2. [C#] Form : Quelles méthodes ? Close, Dispose, Show, Hide
    Par TheSeb dans le forum Windows Forms
    Réponses: 9
    Dernier message: 30/05/2005, 16h42
  3. [debutant VC++ et C++] Windows form et OPENFILENAME
    Par Le Scandinave dans le forum MFC
    Réponses: 5
    Dernier message: 08/03/2005, 15h31
  4. [C#] windows form et ComboBox
    Par telynor dans le forum Windows Forms
    Réponses: 9
    Dernier message: 12/11/2004, 18h17
  5. [VB.NET] windows form traits
    Par DG JohnJohn dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/06/2004, 15h05

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