Como fornecer a conclusão automática de texto para um controle ComboBox no Visual Basic .NET ou no Visual Basic 2005

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 320107
Para obter uma Microsoft translation from VPE for Csharp .NET versão deste artigo, consulte 319946.

NESTA TAREFA

Sumário
Este artigo passo a passo descreve como implementar um recurso de preenchimento de texto automático em um controle ComboBox , usando o Visual Basic .NET ou Visual Basic 2005.

back to the top

Descrição

Você pode inserir dados em um controle ComboBox , digitando um valor ou clicando em um valor na lista. Quando você digita um valor, é mais rápido digitar apenas os primeiros caracteres do valor e, em seguida, tem o controle ComboBox exibam automaticamente a correspondência mais próxima da lista de valores. Muitos produtos da Microsoft usam esse recurso. Por exemplo, Microsoft Money usa esse recurso para selecionar o valor de favorecidos quando você escreve uma seleção. Microsoft Internet Explorer usa esse recurso quando você digita um endereço da Web. O Visual Studio .NET ou Visual Studio 2005 usa esse recurso para o IntelliSense. Você pode ver esse recurso em uso se você digitar a linha de código a seguir:
System.cons				
digitação automaticamente essa linha exibe "System.Console." Esse recurso de preenchimento de texto automático pode economizar tempo e ajudar a evitar erros de entrada de dados. Este artigo demonstra como implementar essa funcionalidade em seu aplicativo Visual Basic .NET ou Visual Basic 2005.

back to the top

Como usar o código de exemplo

  1. Crie um novo Windows Application projeto Visual Basic .NET de Visual Basic 2005 . O Form1 é criado automaticamente.

    Observação Você deve alterar o código no Visual Basic 2005. Por padrão, Visual Basic cria dois arquivos para o projeto quando você cria um projeto Windows Forms. Se o formulário é denominado Form1, os dois arquivos que representam o formulário são chamados de Form1.vb e Form1.Designer.vb. Escreva o código no arquivo Form1.vb. O Windows Forms Designer escreve o código no arquivo Form1.Designer.vb. O Windows Forms Designer usa a palavra-chave partial para dividir a implementação de Form1 em dois arquivos separados. Esse comportamento impede que o código gerado pelo designer sendo intercaladas com seu código.

    Para obter mais informações sobre os novos aprimoramentos linguagem Visual Basic 2005, visite o seguinte site da Web Microsoft Developer Network (MSDN): Para obter mais informações sobre classes parciais e o Windows Forms Designer, visite o seguinte site da MSDN:
  2. Adicione um controle ComboBox ao Form1.
  3. Adicione o seguinte código ao evento Load do formulário:
    ' Add some items to the ComboBox list.Me.ComboBox1.Text = ""Me.ComboBox1.Items.Add("a")Me.ComboBox1.Items.Add("aaa")Me.ComboBox1.Items.Add("combo")Me.ComboBox1.Items.Add("combobox")Me.ComboBox1.Items.Add("combobox test")Me.ComboBox1.Items.Add("common")Me.ComboBox1.Items.Add("common dialog")					
  4. Adicione o seguinte código ao evento KeyUp do controle ComboBox :
    Dim index As IntegerDim actual As StringDim found As String' Do nothing for some keys such as navigation keys.If ((e.KeyCode = Keys.Back) Or _    (e.KeyCode = Keys.Left) Or _    (e.KeyCode = Keys.Right) Or _    (e.KeyCode = Keys.Up) Or _    (e.KeyCode = Keys.Delete) Or _    (e.KeyCode = Keys.Down) Or _    (e.KeyCode = Keys.PageUp) Or _    (e.KeyCode = Keys.PageDown) Or _    (e.KeyCode = Keys.Home) Or _    (e.KeyCode = Keys.End)) Then    ReturnEnd If' Store the actual text that has been typed.actual = Me.ComboBox1.Text' Find the first match for the typed value.index = Me.ComboBox1.FindString(actual)' Get the text of the first match.If (index > -1) Then    found = Me.ComboBox1.Items(index).ToString()    ' Select this item from the list.    Me.ComboBox1.SelectedIndex = index    ' Select the portion of the text that was automatically    ' added so that additional typing will replace it.    Me.ComboBox1.SelectionStart = actual.Length    Me.ComboBox1.SelectionLength = found.LengthEnd If					
  5. Salve e em seguida, executar a amostra.
  6. Digite alguns valores. Conforme você digita o texto, um valor é automaticamente selecionado se a lista de valores contiver uma correspondência exata. Se um valor na lista começa com os caracteres que você digita, esse valor será exibido. A parte do valor que você digitou é realçado poder digitar adicionais substitui-lo. A seguir estão alguns dos resultados de usar este código de exemplo:
    Caracteres digitadosSeqüência de caracteres resultante
    umum
    aaAAA
    comcombinação
    comunicaçãocomuns
    combobcaixa de combinação
    caixa de combinação <spacebar>teste de caixa de combinação
back to the top
preenchimento automático automática preenchimento completo autoselect autoexpand Expandir seleção

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 320107 - Última Revisão: 05/11/2007 07:08:50 - Revisão: 3.5

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB320107 KbMtpt
Comentários