tela desvanece-respingo dentro e fora
-
01-07-2019 - |
Pergunta
Em uma aplicação C # Windows Forms. Eu tenho uma tela com alguns processos multi-threaded acontecendo em segundo plano. O que eu gostaria de fazer é quando eu exibir a tela inicial, inicialmente, eu gostaria de tê-lo parecem "fade in". E, em seguida, uma vez que todos os processos terminar, gostaria que ele apareça como se a tela inicial é "desaparecendo". Eu estou usando C # e .NET 2.0. Obrigado.
Solução
Você pode usar um temporizador para modificar o Form.Opacity nível .
Outras dicas
Ao usar opacidade propriedade tem que lembrar que o do tipo double, onde 1.0 é opacidade total, e 0,0 é completamente transparência.
private void fadeTimer_Tick(object sender, EventArgs e)
{
this.Opacity -= 0.01;
if (this.Opacity <= 0)
{
this.Close();
}
}
Você pode usar a propriedade de opacidade para a forma de alterar o fade (entre 0,0 e 1,0).
While(this.Opacity !=0)
{
this.Opacity -= 0.05;
Thread.Sleep(50);//This is for the speed of the opacity... and will let the form redraw
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow