none
Uma Ajuda em código quase completo. RRS feed

  • Pergunta

  • Pessoal,

    Tenho 02 Forms:

    01 form principal de nome FrmPrincipal que executa determinada tarefa e

    e outro form de nome FrmChamado que é chamado pelo FormPrincipal e este segundo form é uma janela que contem um progressbar e que fica ativo enquanto o formprincipal executa a tarefa.

    Eis o meu código.

    public partial class FrmPrincipal : Form
      {
        public FrmPrincipal()
        {
          InitializeComponent();
        }
        BackgroundWorker worker;
        FrmChamado frm;
        
        void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
          frm.ProgressValue = e.ProgressPercentage;
          frm.label1.Text = e.ProgressPercentage.ToString("00") + "%";      
        }
        void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
          frm.Close();
          MessageBox.Show("Done");
        }
        void worker_DoWork(object sender, DoWorkEventArgs e)
        {
          CountTheTime();      
        }
    
        private void CountTheTime()
        {
          int initialValue = 100;
          for (int count = 0; count < initialValue; count = count + 2)
          {
            Thread.Sleep(100);
            worker.ReportProgress(count);              
          }
        }
    
        private void FrmPrincipal_Shown(object sender, EventArgs e)
        {
                
          frm = new FrmChamado();
          worker = new BackgroundWorker();
          worker.WorkerReportsProgress = true;
          worker.DoWork += new DoWorkEventHandler(worker_DoWork);
          worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
          worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged);
          worker.RunWorkerAsync();
          frm.ShowDialog();
        }
    

     Código do FrmChamado

    public partial class FrmChamado : Form
      {
        public FrmChamado()
        {
          InitializeComponent();
        }
    
        public int ProgressValue
        {
          get { return progressBar1.Value; }
          set { progressBar1.Value = value; }
        }
    
        public int ProgressPercent
        {
          get{return progressBar1.Step;}
          set{progressBar1.Step = value;}
        }
    
      }
    Mas..... o que eu queria mesmo era implementar no FrmPrincipal o preenchimento de uma TreeView, tentei e não consegui porque não comnsegui entender ainda o uso de delegate e sei que tenho que usar o método Invoker na treeview, tentei bastante e não consegui, espero a ajuda do forum.
    JOAB
    sábado, 4 de setembro de 2010 01:35

Todas as Respostas