A barra de progresso é um dos controles mais simples em Visual Basic. A barra de relatórios sobre o estado de alguma operação de computador, por exemplo, durante a instalação de um novo software ou algum outro processo demorado , como uma transferência de arquivos de rede. O bar oferece ao usuário alguma garantia de que o programa não caiu . O processo é o mesmo em ambos Visual Basic 6.0 e Visual Basic 2008 Express Edition , embora o código no último é um pouco diferente. Como Funciona
como uma operação prossegue, o código lê continuamente o quanto está concluído e calcula o status. Se o valor mínimo é definido como um eo máximo de 100, o bar vai encher metade da exibição da barra quando 50 por cento da operação é concluída . Para fazer este cálculo , o programador deve saber quanto tempo a operação vai demorar. Como exemplo, se o usuário está baixando um arquivo cinco MB , até o momento 2,5 MB de download, o bar vai se mudaram do outro lado .
Criar uma barra de progresso
Comece criando um novo projeto depois de abrir o Visual Basic. Clique em " Arquivo", " New Project" e selecione a opção " formato Standard EXE " . Adicione o controle ProgressBar clicando em " projeto ", "Componentes ". Encontre os controles comuns do Microsoft Windows na lista. Escolha da Microsoft controles comuns do Visual Basic (SP6) , colocando uma marca na caixa ao lado do controle . Clique em " Aplicar" e "OK". Você deverá ver o controle da lista no painel à esquerda. Dê um duplo clique nele para adicioná-lo ao formulário.
Definir as propriedades
Se estiver trabalhando com uma operação em que a porcentagem de conclusão é fácil de calcular como um download de arquivo , defina a propriedade mínima no painel Propriedades para "1" eo máximo de " 100 ". Uma outra maneira de definir o máximo é de ter o código de contar o número de iterações de alguma operação , comparar este com o número total e calcular onde a barra deve ser . Propriedades Altura e Esquerda controlar a altura do próprio bar e se, do lado esquerdo da tela. Apenas duas outras propriedades importa : Se o bar é executado em toda a tela na vertical ou na horizontal e se pedaços incrementais aparecer ou a barra é mais suave. Escolha estes a partir da " Orientação " e " Propriedades de rolagem ". Se a máxima não pode ser pré-determinado, é possível usar um controle de animação para manter a barra em movimento até que a operação seja concluída . Essa melhoria vai além do nível deste tutorial. Uma vez que o bar não deve aparecer até a uma operação , definir a propriedade Visible como "False ". Para este exemplo , defina a propriedade máxima para " 10000 " e deixar o mínimo de "0". Finalmente , adicione um controle de botão de comando a partir da lista de Ferramentas para o formulário para iniciar a ação . Altere a propriedade (Name) para " btnStart " ea legenda para "Iniciar".
Escrever o código
Clique em " Ver ", "Código" para abrir janela de programação . Digite as linhas abaixo exatamente como mostrado. As três primeiras linhas carregar o formulário e fazer a barra de progresso visível. O resto do código é executado através de uma sequência repetitiva de demonstrar o bar. O número final neste código está definido muito alto para diminuir a barra de progresso para baixo para a visibilidade. Substitua os passos na segunda seção , começando com " Private Sub btnStart_Click () e termina com" End Sub "com qualquer evento que você está cronometrando para obter um novo ProgressBar1.Value . Sempre adicionar um comando para alterar a visibilidade da barra de " Falso " quando termina de rotina.
Private Sub Form_Load () = ProgressBar1.Visible TrueEnd Sub
Private Sub btnStart_Click () n Dim IntegerFor n = 1 To 10000ProgressBar1.Value = Nnext nEnd Sub < br >
Teste o código , pressionando a tecla "F5" .
Visual Basic 2008 Express Edition Versão
No Visual Basic 2008, substituir as seguintes linhas para as linhas que começam Private Sub :
Private Sub Form1_Load (ByVal eventSender Como System.Object , ByVal eventArgs as System.EventArgs) trata MyBase.LoadPrivate Sub btnStart_Click (ByVal eventSender Como System.Object , ByVal eventArgs as System.EventArgs ) Handles btnStart.Click