Para que possamos fazer uma barra de progresso dentro de uma tela de Splash é necessário compreender a ferramenta Timer, mas ela é bastante simples. Basicamente ela cria eventos recorrentes, ou seja, eventos que se repetem em intervalos de tempo que podemos definir de acordo com nossa necessidade.

Vamos aos exemplos práticos, que mostrarão como lidar com esta simples, mas poderosa ferramenta. Aliás, ela é tão simples que sequer vou utilizar agora o nosso arquivo de exemplo contendo o programa de cadastro de clientes, mas sim criar um projeto vazio, pois será mais fácil demonstrar nele.

Então, em um projeto vazio vou arrastar um componente Timer para ele, conforme imagem abaixo:

Timer C#

Notem que o componente Timer é um dos que não se incorpora diretamente ao formulário, mas que age “nos bastidores”, por isso fica presente no rodapé do Visual C#. Agora, para já demonstrar claramente a função do Timer, vamos arrastar um componente Label para o formulário e alterar o seu texto para o número 1, conforme a imagem abaixo:

Timer C#

Em seguida vamos adicionar um botão ao formulário e rotulá-lo como “Iniciar Timer”, dessa forma:

Timer C#

Agora vamos adicionar código ao botão adicionado. Cliquemos duas vezes nele para gerar a função click e façamos a inserção do código abaixo, que o vinculará ao Timer adicionado:

Timer C#

Com isso fizemos a associação do clique do botão com o disparo do Timer. Agora execute o código e clique no botão para iniciar o disparo.

E então, o que aconteceu? Se no seu programa nada acontece, então está tudo correto! O fato é que associamos o clique do botão ao disparo do Timer, no entanto não vinculamos função alguma ao Timer! Na verdade temos a impressão de que nada está acontecendo, mas de fato o Timer está sendo disparado, só que ele não está programado para fazer nada! Vamos corrigir isso agora. No formulário vamos clicar duas vezes sobre o Timer para criar a função Tick, conforme ilustra a imagem abaixo:

Timer C#

O evento Tick é como se fosse o “Tick” de um relógio, ou seja, o passo do ponteiro dos segundos. Tudo o que estiver dentro desta função será executado a cada iteração do Timer. Então, para que isso se torne visível, criemos o seguinte código:

Timer C#

Este código é bem simples, mas caso não tenha ficado claro, estou pegando a variável global i e a atribuindo ao texto do Label inserido. No mesmo tick, ou seja, no mesmo ciclo faço o incremento dessa variável.

Agora vamos executar o código novamente e clicar no botão de disparo.

Timer C#

Agora o texto do Label está recebendo, a cada iteração do Timer, o valor da variável i, que também é incrementada a cada ciclo.

Nós poderíamos alterar o tempo de cada ciclo deste processo mexendo no valor da propriedade “Interval” do Timer. Altere-o de 100 para 1000, conforme a figura abaixo:

Timer C#

Agora execute e veja a diferença.

Deve ter ficado bem mais lento. Essa propriedade altera o intervalo entre os eventos e, assim como todas as propriedades de tempo do Visual C#, é medida em milissegundos.

E já que estamos falando em propriedades, vou comentar as mais importantes. A primeira é o (Name), que não é novidade e seu funcionamento é idêntico aos botões, checkboxes, textboxes e todos os outros componentes. Em seguida temos o Enabled, que determina se o Timer já iniciará ligado ou não. Para este pequeno exemplo, se o deixarmos com o valor "True", será desnecessário clicar no botão para iniciar o Timer. As propriedades GenerateMember e Modifiers se referem a como o Visual C# tratará o componente, e com sua visibilidade, respectivamente, e a propriedade Tag define uma sequência de identificação para o componente, mas nenhum dos três é relevante para a compreensão do componente Timer. O importante aqui é saber que o Interval define o intervalo entre um ciclo e outro do Timer e que o Enabled pode já inicializar o formulário com ele ativado.

Interrompendo um Timer

Bem, agora que sabemos como iniciar o Timer (função nome_do_timer.Start()), vamos ver como encerrá-lo.

Da forma como nosso pequeno programa está agora, se clicarmos no botão "Iniciar Timer", o Label receberá o valor da variável i, que é incrementada a cada ciclo, portanto temos a impressão que disparamos um contador e que ele não terá fim. Vamos imaginar que queremos que ele pare no número 60. Para isso deveremos criar esse pequeno código:

Timer C#

Esse foi o Timer! Aqui fiz um exemplo simples, que altera uma variável, mas suas opções de uso são inúmeras. O que é importante ser guardado é que ele gera eventos recorrentes, sua função Start inicia o processo e a Stop o interrompe. A propriedade Interval define os tempos, em milissegundos, entre um ciclo e outro e a Enabled o inicia automaticamente se estiver definida com o valor "True". É isso!

No próximo tópico o utilizaremos para inserir uma barra de progresso na tela de Splash.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.


Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.


Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras


Utilizar seu notebook em camas, sofás ou qualquer superfície macia pode obstruir as entradas e saídas de ar, elevando a temperatura e provocando danos a diversos componentes. Utilize-o sempre sobre uma superfície rígida. Saiba mais aqui.


O ENIAC, primeiro computador valvulado do mundo, possuía 17.000 válvulas, 500.000 pontos de solda, 30 toneladas de peso e ocupava uma área de 180 metros quadrados. Clique aqui e conheça mais sobre a história dos computadores.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


Considerando todas as adaptações de jogos de videogame para o cinema, a mais bem sucedida foi Lara Croft: Tomb Raider, lançado em 2001 e que faturou 274 milhões de dólares. Ele foi dirigido por Simon West e estrelado pela bela Angelina Jolie.


Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".


O épico jogo River Raid, do Atari, foi desenhado e boa parte de sua programação foi feita por uma mulher: Carol Shaw, uma excelente programadora e funcionária da Activision em 1982. Saiba mais sobre a história deste incrível jogo, aqui.


Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.


O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.


O ábaco é o dispositivo de cálculo mais antigo construído e conhecido pelo homem. Suas formas mais primitivas datam de 400 a.C. e eles foram encontrados na China e na Babilônia. Para saber mais sobre a história dos computadores, clique aqui.


O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.


Em 1949 a revista Popular Mechanics fez uma previsão para o futuro, dizendo: "Um dia os computadores pesarão menos do que 1,5 tonelada". E pensar que temos smartphones capazes de realizar milhões de vezes mais operações do que os computadores daquela época.


O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.


A empresa Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.