and.ardo 0 Denunciar post Postado Setembro 14, 2009 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
quintelab 91 Denunciar post Postado Setembro 14, 2009 Como esta em uma classe a parte acho dificil, a solução seria deixar este método dentro do seu formulário. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
scorpio 7 Denunciar post Postado Setembro 15, 2009 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
and.ardo 0 Denunciar post Postado Setembro 15, 2009 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