Jump to content
Moneybag

[Resolvido] Slowmotion Writing Effect

Recommended Posts

Moneybag

Boas Pessoal

Eu gostaria de criar um método que fizesse que uma linha de texto seja escrita em forma de slowmotion numa Rich Text Box, como se vê em muitos filmes de tecnologia quando mostram o actor a "hackear" um computador.

Exemplo:

https://www.youtube.com/embed/B8SL654D8u4?feature=oembed

(minuto 1:42)

Eu tentei assim , mas mostra a frase toda pois o compilador executa o método todo e só depois mostra na Rich Texrt Box:

 private void slow(string text)
 {
	 int charCount = text.Length;
	 string[] ar = text.Select(c => c.ToString()).ToArray();
	 for(int i =0 ; i<charCount; i++)
	 {
		 txtMain.AppendText(ar[i]);
		 Thread.Sleep(500);
	 }
 }

Edited by Ascensao

Share this post


Link to post
Share on other sites
nelsonr

O que o Kline777 disse resolve o teu problema.

Uma forma também de optimizares esse código é usares o foreach, por exemplo:

private void slow(string text)
{
foreach(char c in text)
{
	txtMain.AppendText(c.ToString());
	Application.DoEvents();
	Thread.Sleep(100);
}
}

Share this post


Link to post
Share on other sites
Moneybag

O que o Kline777 disse resolve o teu problema.

Uma forma também de optimizares esse código é usares o foreach, por exemplo:

private void slow(string text)
{
foreach(char c in text)
{
	txtMain.AppendText(c.ToString());
	Application.DoEvents();
	Thread.Sleep(100);
}
}

Obrigado a todos pela ajuda. :thumbsup:

funciona perfeitamente mas com o Thread.Sleep(60) ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.