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