Microsoft Visual C# Express 2008

Fermé
Nabil78190 Messages postés 2 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 19 août 2009 - 31 juil. 2009 à 22:29
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 2 août 2009 à 18:27
Bonjour, à tous

Je vien de download Microsoft Visual C# Express 2008, j'ai bien sur toucher à tout ^^'. Ne dit-on pas que pour ètre un programmeur il faut etre curieux ? Bref j'ai tenter ma premiere application windows en C#.

Si je dit quelques chose dincorrecte merci de me corriger :).

J'ai fait les manipulations de base expliquer dans un texte de celui-ci, mais voila il faut que je vais plus loin que ce qui est offert à la base :x

En bref : J'ai crée une application avec un Button, une ou un ^^ webrowser, une combox et une Progress Bar.
Les codes d'évenement pour Le Bouton, la webrowser et la combox était expliquer .. Mais pour la Progress bar :x

Je recherche donc un tutoriel ou autres qui explique comment avoir les évenement pour les autres utilité de Microsoft Visual C# Express 2008. Comme par exemple pour la Progressbar

Voici le code que j'ai actuelement :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            webBrowser1.Navigate(new Uri(comboBox1.SelectedItem.ToString()));
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}


J'èspere ne pas avoir fait trop d'erreur

3 réponses

chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
31 juil. 2009 à 23:36
Salut,
tu as l'exemple de l'utilisation d'une progress bar.
En fait c'est un thread (le backgroundWorker) qui effectue la fonction bwk_DoWork, et a chaque tour dans la boucle déclenche l'evenement pour la progress bar, qui affiche ce que tu veux!!
public partial class Form1 : Form
    {
        BackgroundWorker bwk = new BackgroundWorker();
        public Form1()
        {
            InitializeComponent();
            bwk.WorkerReportsProgress = true;
            bwk.DoWork += new DoWorkEventHandler (bwk_DoWork);
            bwk.ProgressChanged += new ProgressChangedEventHandler(sender);
            bwk.RunWorkerCompleted+= new RunWorkerCompletedEventHandler (fin);
            bwk.RunWorkerAsync();
            
        }
        private void sender(object s, ProgressChangedEventArgs e)
        {
            progressBar1.Value = e.ProgressPercentage;
            label1.Text = e.ProgressPercentage.ToString();
        }
        private void bwk_DoWork(object sen,DoWorkEventArgs e)
        {
            for (int i = 0; i < 100; i++)
            {
                bwk.ReportProgress(i);
                Thread.Sleep(200);
            }
        }
        private void fin(object s, RunWorkerCompletedEventArgs e)
        {
            this.Close();
        }
    }

@+
1
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
2 août 2009 à 18:27
Salut,
En fait, la progress bar est generalement utliser quand une action est en train d'etre executer en tache de fond(afin de savoir où en est la fonction appelée)
Ici, la fonction appelée est private void bwk_DoWork(object sen,DoWorkEventArgs e)
j'utilise un backgroundWorker afin que la tache à effectuer(bwk_DoWork) soit effectuée dans un thread séparé.
Un événement que peut généré le backgroundWorker est :ProgressChanged.
Il faut donc rattacher à un delegate cet evenement, en lui indiquant la fonction a executer quand l'evenement est declenché.(dans l'exemple la fonction sender)
Celle-ci recupere notament l'argument ProgressChangedEventArgs, qui contient l'attribut ProgressPercentage.
ProgressPercentage est passé lors du declenchement de l'evenement par le BackgroundWorker:bwk.ReportProgress(i); (i=ProgressPercentage)
J'espere ca pourra t'aider!!
@+


1
Bonjour,

Merci Chuka ;)
C'est peut être parce que je débute mais je n'ai pas trop compris ..

Je m'en excuse :( ..
Si quelqu'un d'autre pourrai éclaircir ..
0