Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde galera,
Estou criando um aplicativo (alguns já devem estar cansados de saber) que faz leitura de arquivos em uma determinada pasta e joga os dados diretamente em um banco de dados.
Já coloquei uma barra de progresso e agora quero fazer uma espécie de acompanhamento da execução. De início coloquei um label no Form em branco e coloquei pra atualizar o texto desse label a cada arquivo de for lido; Por exemplo "Lendo arquivo bruno.txt"
só que não fica atualizando durante a execução não, apenas quando termina a execução é que aparece algum texto no label. Como posso fazer para atualizar os textos normalmente?
Também gostaria de colocar um botão para cancelar, mas durante a execução do processo o Form fica completamente travado, como faço isso?
Valeu Martins creio que eu tenha que usar o label.update("Texto então neh"),
Mas quanto ao Application.DoEvents() como eu uso? devo colocar na construtora do Formulário?
Fala Bruno, tranquilo?
então, o label.Update() nao tem nehum parametro nao. Acredito que você esteja fazendo um loop entre os arquivos encontrados no determinado diretorio, certo? Se for isso, voce pode usar assim:
FileInfo[] fi = diretorio.GetFiles();
foreach (FileInfo f in fi)
{
label.Text = NomeDoArquivo;
label.Update();
Application.DoEvents();
}
AbraçosBacana martins só tenho algumas dúvidas sobre esse Application.DoEvents() e que não achei na internet:
Na verdade essa função desbloqueia aplicação para permitir eventos durante a execução? e tenho mesmo que colocar ela dentro do looping?
Gostaria na verdade que só o botão de cancelar e talvez o de ajuda estivessem ativos durante a execução e que os botôes de executar e sair estivessem desabilitados, pra evitar confusões.
quanto ao label.Update() funcionou perfeitamente.
Eu tb já passei por isso. Não tenho o código aqui, mas em C# acredito que é label.Update(); para mudar o texto da label, e Application.DoEvents(); para não congelar.
Abraços