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

Windows Forms Discussion :

"Simple" affichage WinForm


Sujet :

Windows Forms

  1. #1
    Membre confirmé Avatar de Aizen64
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Points : 468
    Points
    468
    Par défaut "Simple" affichage WinForm
    Salut!

    J'arrive pas à faire un truc à la con, afficher un simple fenêtre suit au clic sur un bouton OK.

    Donc dans le code du clic de bouton je mets le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.Run(new ClasseDuWinForm());
    Et là miracle il m'affiche ce message d'erreur :

    "Le démarrage d'une deuxième boucle de messages sur un seul Thread n'est pas une opération valide. Utilisez Form.ShowDialog à la plaçe"


    Des idées?

    PS : Heu... un truc, la windows form sur laquelle je travaille n'a quasiment rien dedans : un combo box avec 3 - choix, un bouton OK et quelques tous petits Labels, comment ça se fait que ce si petit "logiciel" (c'est un très très grand mot) prenne 16Mo de RAM pour rien faire ?

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Tu dois faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ClasseDuWinForm maForm = new ClasseDuWinForm()
    maForm.Show(); // Il y a la fonction ShowDialog que tu peux regarder aussi
    16Mo de RAM -> C'est peut être du à ton erreur

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    Application.Run est une méthode obscure qui s'occupe de lancer pour toi la boucle des messages (la WndProc, que tu peux override dans une Form pour intercepter les message windows) et tout le tralala dont a besoin une application "fenetré".

    Pour lancer une autre fenetre depuis une premiere, tu l'instancies, et tu fais Show (comme au dessus) ou ShowDialog pour qu'elle soit modale.

  4. #4
    Membre confirmé Avatar de Aizen64
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Points : 468
    Points
    468
    Par défaut
    Tout con... A l'avenir j'éviterai de poser ce genre de questions à la con, j'aurai du penser à un truc comme ça. C'est bon en initalisant un objet et avec la méthode "Show".

    Toujours pour ce qui est de la mémoire qu'il prend je trouve ça abusé, même si c'est pas la RAM qui manque.

  5. #5
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    C'est juste que les applis DotNet se réservent au démarrage une taille de cet ordre, histoire d'être tranquille un certain temps (surtout dans le cas de ptites applis), plutôt que demander à l'OS de la RAM par paquets de 10 Ko, ce qui doit pas être top d'un point de vue fragmentation.

    Nan faut oublier tout ce qui est gestion de mémoire dès que tu bosses avec des langages basés sur des machines virtuelles

  6. #6
    Membre confirmé Avatar de Aizen64
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Points : 468
    Points
    468
    Par défaut
    Qu'est ce que tu veux dire par des languages basés sur des machines virtuelles ? Tu veux parler de DotNet et Java ?

  7. #7
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Exactement. J'aurais plutôt dû dire pour des langages équipés d'un Garbage Collector, d'ailleurs.

Discussions similaires

  1. Difference entre [Simple quote] & [Double quote]
    Par Invité dans le forum SQL
    Réponses: 3
    Dernier message: 24/07/2013, 13h24
  2. value d'input, simple quote affichage coupé
    Par xouzi dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 30/03/2012, 10h29

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