Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

and.ardo

[Resolvido] C sharp (Atualizar um form via classe)

Recommended Posts

Olá pessoal.

 

Estou com uma dúvida em c# (windows application) mais precisamente no seguinte item. Sería possível uma classe se comunicar com um formulário em meio a um loop?

 

Explicando melhor, tenho um formulário e ao clique de um determinado botão deste formulário estancio uma classe que faz um loop dentro de uma determinada coleção, até aí tudo perfeito, só que gostaria que o usuário que clicou no tal botão acompanha-se o andamento do loop algo como:

 

int i = 1;
foreach (string variavel in colecao)
{
...//instrução...
...//instrução...

i++

//aqui no final das minhas instruções (que estão funcionando normalmente)
//gostaria de comunicar ao usuário que já foi realizado 1 de um total de x processamento
//entao fiz algo assim...

formMain form = new formMain();
form.Label1.Text = "Estágio: " + i.toString() + " de um total: " + colecao.count.toString();
form.update();
}

Tudo funciona normalmente, mas a tal atualização da tela para mostrar ao usuário em qual estágio o aplicativo se encontra isso não rola, o fluxo fica preso a classe e num sai dela nem que a vaca tussa...

Se alguém tiver uma idéia será bem vinda.

 

Mais uma informação, o Label1.Text está como public ou seja teoricamente a classe o visualiza, mas não o atualiza...

 

Obrigado.

Anderson R. de Souza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta passar ao método, o formulário ou o label como parametro (por referencia).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, ontem eu também imaginei que seria quase impossível uma classe atualizar um form antes de terminar seu processamento.

 

Então hoje fiz essa mudança, realoquei todo o código que estava na classe, incluindo os campos, propriedades, metodos... dentro de um form e com isso consegui atualizar a tela toda vez que achar necessário mesmo em meio a um longo o processamento.

 

Creio que não é a coisa mais "bonita" a ser feita, já que dentro de uma classe o código estaria muito mais bem contextualizado e orientado a objeto, me senti meio que programando em visual basic 6, ou seja, totalmente estruturado, mas dadas as circunstância não vi outra forma.

 

O importante é que esta funcionando 100%

 

vlw, pela força

Obrigado.

 

Anderson R. de Souza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.