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 :

[C#] Rafraichissement ecran


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 68
    Points : 66
    Points
    66
    Par défaut [C#] Rafraichissement ecran
    Bonjour,

    Windows XP SP2
    FrameWork 2.0
    Visual C# Express 2005
    Voilà, j'ai une Windows Form de type MDI Parent, j'ai dans cette fenetre un progressBar qui est visible au moment de l'ouverture de fenetre MDI Fille.
    La progressBar est de type Marquee. Donc il n'y pas de code associé pour faire evoluer la progressbar, cependant au chargement d'une fenetre MDI, il y a un traitement assez important de recuperation des informations dans une base de données distante Oracle.
    Je connaissais la méthode DoEvents en VB qui permettait de rafraichir qd le traitement d'une méthode mettait un certain temps, j'ai egalement mis en place un timer dans ma fenetre MDI mere qui fait un Application.Doevents.

    Cependant la progressbar ainsi que l'application reste assez figée, pas de rafraichissement.

    Voici le code d'ouverture de ma fenetre MDI fille afin de n'ouvrir qu'un type de MDI fille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
                     /// <summary>
    		/// Procédure d'ouverture d'une fenêtre MDI fille.
    		/// </summary>
    		/// <remarks>Si la fenêtre est déjà ouverte, alors cette fenêtre devient visible</remarks>
    		/// <param name="pFormName"></param>
    		/// <param name="pFormType"></param>
    		private void OpenUniqueForm(string pFormName, Form pFormType)
    		{
    			Form[] ChildrenForms = this.MdiChildren;
    			foreach (Form chform in ChildrenForms)
    			{
    				if (chform.Name== pFormName)
    				{
    					chform.Visible=true;
    					return ;
    				}
    			}
    			Form NewMdiChildForm = pFormType;
    			NewMdiChildForm.MdiParent=this;
    			NewMdiChildForm.Visible=true;
    		}
    Voici l'appel à cette procédure pour ouvrir la fenetre mdi fille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                    private void taskItem1_Click(object sender, System.EventArgs e)
    		{
                	        OpenUniqueForm("FormRps",new FormRps());
                	}
    Merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 82
    Points : 92
    Points
    92
    Par défaut
    Bonjour,

    Il faut que tu utilises les backgrounds worker pour faire ton traitement dans un thread et ton affichage dans un autre.

    bonne chance

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 68
    Points : 66
    Points
    66
    Par défaut
    Merci pour la piste !
    Je viens de tester quelques trucs mais sans succès.

    Le traitement se fait au chargement d'une MDI Form Fille et le progress bar d'attente est dans le MDI Form Père.

    Faut il que j'utilise le BackGround Worker dans la MDI fille pour le traitement ?
    Comment du coup mettre à jour le rafraichissement de la progressBar, car seul le thread principale peut accéder à cet objet.

    Merci d'avance pour votre aide

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

Discussions similaires

  1. Temps d'execution d'un script et rafraichissement ecran
    Par kramer Mc Barreth dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/06/2012, 11h03
  2. Rafraichissement ecran feuille excel
    Par Crusoe dans le forum SharePoint
    Réponses: 2
    Dernier message: 11/06/2010, 09h58
  3. forcer un rafraichissement ecran
    Par john123 dans le forum Composants
    Réponses: 1
    Dernier message: 19/07/2007, 14h54
  4. [MFC] Rafraichissement Ecran
    Par r3my_ dans le forum MFC
    Réponses: 2
    Dernier message: 26/04/2007, 20h09
  5. [c#] rafraichissement ecran
    Par albedo dans le forum C#
    Réponses: 3
    Dernier message: 08/11/2005, 09h53

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