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 :

Affichage en premier plan d'une TextBox


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut Affichage en premier plan d'une TextBox
    Bonjour à tous;
    Suis plutôt novice en C#, mais suis parvenu à faire un petit projet de sauvegarde de répertoires vers un autre disque dur ...
    Je vais essayé d'etre bref: Dans ma WinForm, j'ai deux ListBox où je choisis le Dir origine et le Dir destination (sur des disques differents)...Une fois mon choix effectué, je lance l'operation de sauvegarde sur un thred secondaire... c'est lui qui ecrit dans une autre ListBox de détail du déroulement des opérations: création ou suppression de repertoires, copie ou suppression de fichiers .... et tout cela fonctionne à merveille.
    Mais je voudrai améliorer le confort de l'utisateur en le prevenant lors d'une copie de gros fichiers (video)... pour le faire patienter et lui donner l'information de copie ...
    Ma première idée était d'afficher un control "label" et lui renvoyer l'info de la copie (Visible=true en debut de copie .. et Visible = false en fin de copie ...).Malgré la bonne éxécution du prog, aucun " label" ne s'affiche (j'imagine qu'il s'affiche derrière la ListBox où sont historisés le déroulement des opérations). Alors comment le faire afficher pour qu'il soit visible sur l'ecran???
    Ma seconde idée etait d'afficher une "MessageBox" avec la même info pour l'utisateur. Cette solution fonctionne mais je voudrais m'affranchir du click opérateur puisque le nombre de copie peut etre conséquent. Est il possible d'afficher une "MessageBox" durant quelques secondes sans intervention de l'utilisateur???? La première solution est celle que j'adopterai si ca marche...

    Je vous donne le code de ma méthode dont le principe est :
    - Premier appel de la méthode au début de la copie de fichier ==> affichage du "label" au premier plan informant l'utilisateur.
    - Deuxième appel de la méthode (txt = "f_e_r_m_e_r" ) qui doit fermer le "label".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public: void affich_label_de_thread( String^ txt)
      {
    
    	
    if (this->textbox_thread->InvokeRequired)
    {
    MonDelegateHandler^ del_async_1 = gcnew MonDelegateHandler(this, &Form1::affich_label_de_thread);
    this->textbox_thread->Invoke(del_async_1, txt);
    }
    else
    {
    if (txt->String::Contains("f_e_r_m_e_r"))
    {
    this->textbox_thread->Visible = false;
    }
    else
    {
    //MessageBox::Show(txt," Patience !!!");
    this->textbox_thread->Enabled;
    this->textbox_thread->Visible = true;
    this->textbox_thread->Text = txt;
    } // fin du else
    } // fin du else
    } //fin de la methode
    Si je décoche MessageBox::Show la box s'affiche bien. Mais tel que la textbox ne s'affiche pas.

    Enespérant avoir été assez clair, Grand merci d'avance pour votre aide.
    (Suis désolé, je n'ai pas réussi à mieux concentrer mon code , la fonction [IDENT] de l'éditeur ??? Dites moi comment procéder à l'avenir)

  2. #2
    Membre habitué Avatar de Jayceblaster
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 420
    Points : 174
    Points
    174
    Par défaut
    si j'ai bien compris tu souhaite indiquer à l'utilisation que l'appli n'est pas planté et qu'elle travaille durant les phases de copie de gros fichiers...
    pourquoi n'utilise tu pas une progressbar ca fait plus pro


  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Merci a Jaceblaster de ta réponse.

    Ton idée est trés bonne et à vrai dire j'y avais pensé...
    Pour copier les fichiers , j'utilise la methode File.Copy et cette methode est globale et ne renseigne en rien sur l'avancement de la copie..... donc aucune donnée chiffrée pour renseigner la propriété Step de la progressbar.

    Grand merci encore à toi

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Heu, le code que tu affiches, c'est du C++ là, pas du C#....

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut Heuuuuuuu ouiiiiiiiii!!!
    Merci Thomas Lebrun;

    Oui tu as raison , je m'en suis aperçu une fois le sujet envoyé... alors je l'ai laissé.... étant donné qu'il y a peu de différence entre C++ et C#.
    Moi, je fais de tout petit projet tantôt en C++, tantôt en C#.

    Merci a toi, mais je vais le poster sur le forum C++.

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

Discussions similaires

  1. [c++] Souci d'affichage au premier plan
    Par Pov' typ' dans le forum DirectX
    Réponses: 2
    Dernier message: 25/06/2006, 21h02
  2. [VBA-E] pb positionnement en avant-plan d'une textbox
    Par bandit boy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/04/2006, 08h28
  3. Réponses: 2
    Dernier message: 07/02/2005, 16h43
  4. [JPanel] Affichage en premier plan
    Par Snowballz dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 21/07/2004, 16h07
  5. [glut] forcer l'affichage au premier plan
    Par khayyam90 dans le forum OpenGL
    Réponses: 7
    Dernier message: 19/07/2004, 14h37

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