Controle ComboBox para usuários do Visual Basic 6.0

The ComboBox controle no Visual Basic 6.0 é substituído pelo Windows Forms ComboBox controlar no Visual Basic 2008. Os nomes de algumas propriedades, métodos, eventos e constantes são diferentes e em alguns casos há diferenças de característica.

Diferenças Conceituais

Evento Change

No Visual Basic 6.0, a Change evento da ComboBox controle é disparado quando o texto do controle é modificado. The Change evento não é disparado quando um item é selecionado de uma porção da lista do controle. Alterar programaticamente o texto de um item na lista não dispara o Change evento.

In Visual Basic 2008, o Change evento não existe mais; o TextChanged evento é disparado toda vez que o texto muda por qualquer razão, tais sistema autônomo:

  • Quando a parte de entrada de texto é modificado

  • Quando um item é selecionado da lista

  • Quando um item da lista é modificado programaticamente

  • Quando o AddItem método é chamado

Propriedade ItemData

No Visual Basic 6.0, a ItemData propriedade para um ComboBox o controle pode ser conjunto no time de design na Propriedades janela para associar um Integer com um ComboBox item.

In Visual Basic 2008, o ItemData propriedade não existe. A biblioteca Microsoft.VisualBasic.Compatibility contém um SetItemData função pode ser usada para associar um Integer com um item; a GetItemData função pode ser usada para recuperar o item.

Propriedade Locked

No Visual Basic 6.0, a Locked propriedade de um ComboBox controle determina se a parte caixa de texto do controle pode ser editada.

In Visual Basic 2008, o Locked propriedade impede um controle de ser movido no time de design. Não há nenhum equivalente direto para o Visual Basic 6.0 Locked propriedade; no entanto, você pode obter o mesmo efeito por configuração o DropDownStyle propriedade das ComboBox o controle para DropDownList.

Observação:   No Visual Basic 6.0, configuração o Locked propriedade para True também impede que a seleção seja alterada. Você pode duplicar esse comportamento ao cancelar a seleção no MouseDown evento.

Propriedade NewIndex

In Visual Basic 6.0, the NewIndex property was used to retrieve the index of the item most recently added to aComboBox control.

In Visual Basic 2008, o NewIndex propriedade não existe. Você pode usar o valor retornado do Item.Add método para recuperar o índice de um item quando ele é adicionado.

Propriedade TopIndex

No Visual Basic 6.0, a TopIndex propriedade é usada para retornar ou conjunto um valor que especifica qual item em um ComboBox ou ListBox controle é exibido na posição mais alta. Essa propriedade normalmente é usada para rolar a lista sem selecionar um item.

In Visual Basic 2008, o ComboBox controle não oferece suporte a TopIndex propriedade. Na maioria dos casos isso não deve representar um problema porque configuração o TopIndex propriedade não tem efeito visível, a menos que o Estilo propriedade estiver definida como 1 SimpleCombo.Nesse caso, você pode emular esse comportamento, usando um ListBox controle e um TextBox controlar; o ListBox controlar ainda oferece suporte a TopIndex propriedade.

Evento Scroll

The Scroll evento no Visual Basic 6.0 é usado em conjunto com o TopIndex propriedade para executar ações quando a lista é rolada. Visual Basic 2008 não oferece suporte a Scroll evento; no entanto, na maioria dos casos o SelectedIndexChanged evento é um substituto adequado.

Outras diferenças

Além disso, existem várias diferenças conceituais aplicáveis a todos os controles, incluindo diferenças em ligações de dados,tratamento de fontes, operações de arrastar e soltar, suporte de ajuda, dentre outras.Para obter mais informações, consulte Conceitos de Windows Forms para usuários do Visual Basic 6.0.

Alterações de código para o controle Combobox

Os exemplos a seguir ilustram diferenças na codificação técnicas entre o Visual Basic 6.0 e Visual Basic 2008.

Alterações no código para fazer um controle Combobox somente leitura

O código a seguir demonstra como impedir que um usuário adicionar novos itens a um ComboBox controle.

' Visual Basic 6.0
Combo1.Locked = True
' Visual Basic
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

Alterações no código para selecionar o item mais recentemente adicionado em um controle Combobox

O código a seguir demonstra como conjunto a seleção em um item que tenha sido adicionado programaticamente a um ComboBox controle.

' Visual Basic 6.0
Combo1.AddItem "This is a new item"
Combo1.ListIndex = Combo1.NewIndex
' Visual Basic
Dim i As Integer
i = ComboBox1.Items.Add("This is a new item")
ComboBox1.SelectedIndex = i

Alterações no código Private Sub para associar ItemData

O código a seguir demonstra como associar um número de funcionário a cada funcionário listado em um ComboBox controle, em seguida, como recuperar esse número em time de execução.

' Visual Basic 6.0
Private Sub Form_Load
    Combo1.AddItem "Nancy Davolio"
    Combo1.ItemData(Combo1.NewIndex) = 12345
    Combo1.AddItem "Judy Phelps"
    Combo1.ItemData(Combo1.NewIndex) = 67890
End Sub
Private Sub Combo1_Click()
    Label1.Caption = "Empoyee #" & _
    CStr(Combo1.ItemData(Combo1.ListIndex))
End Sub
' Visual Basic
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load

   ComboBox1.Items.Add("Nancy Davolio")
   Microsoft.VisualBasic.Compatibility.VB6. _
      SetItemData(ComboBox1, ComboBox1.Items.Count() - 1, 12345)

   ComboBox1.Items.Add("Judy Phelps")
   Microsoft.VisualBasic.Compatibility.VB6. _
      SetItemData(ComboBox1, ComboBox1.Items.Count() - 1, 67890)
End Sub
' Visual Basic
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

   Label1.Text = "Employee #" & CStr( _
   Microsoft.VisualBasic.Compatibility.VB6. _
      GetItemData(ComboBox1, ComboBox1.SelectedIndex))
End Sub

Propriedades, métodos, e eventos equivalentes do controle ComboBox

As tabelas a seguir listam propriedades, métodos e eventos, juntamente com seus do Visual Basic 6.0Visual Basic 2008 equivalentes. Essas propriedades, métodos e eventos que têm o mesmo nome e comportamento não são listadas.Onde aplicável, constantes são recuadas abaixo a propriedade ou método.All Visual Basic 2008 enumerações mapeiam para o System.Windows.Forms namespace, salvo indicação em contrário.

Esta tabela fornece links para tópicos explicando diferenças de comportamento.Onde não há nenhum equivalente direto no Visual Basic 2008, são fornecidos links para tópicos que apresentam alternativas.

Propriedades

Visual Basic 6,0

Visual Basic 2008 Equivalente a

Appearance

Nova implementação.Para obter mais informações, consulte Propriedades Appearance e BorderStyle para usuários do Visual Basic 6.0.

BackColor

BackColor

Observação:
As cores são tratadas de maneira diferente em Visual Basic 2008.Para obter mais informações, consulte Comportamento da Cor para Usuários do Visual Basic 6.0.

Container

Parent

DataChanged

DataField

DataFormat

DataMember

DataSource

Nova implementação.Para obter mais informações, consulte Controle de Dados para Usuários do Visual Basic 6.0.

DragIcon

DragMode

Nova implementação.Para obter mais informações, consulte Arrastar e soltar para usuários do Visual Basic 6.0.

Font

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

Observação:
Fontes são tratadas de forma diferente no Visual Basic 2008.Para obter mais informações, consulte Fonte de tratamento para usuários do Visual Basic 6.0.

ForeColor

ForeColor

Observação:
As cores são tratadas de maneira diferente em Visual Basic 2008.Para obter mais informações, consulte Comportamento da Cor para Usuários do Visual Basic 6.0.

Height

Height, Size

Observação:
Coordenadas são tratados de maneira diferente em Visual Basic 2008.Para obter mais informações, consulte Sistema de Coordenadas para usuários do Visual Basic 6.0.

HelpContextID

Nova implementação.Para obter mais informações, consulte Suporte de Ajuda para Usuários do Visual Basic 6.0.

HWnd

Handle

Index

Nova implementação.Para obter mais informações, consulte Controle de matrizes para usuários do Visual Basic 6.0.

ItemData

Nova implementação.Para obter mais informações, consulte Propriedade ItemData não pode ser atualizada.

Left

Left

Observação:
Coordenadas são tratados de maneira diferente em Visual Basic 2008.Para obter mais informações, Sistema de Coordenadas para usuários do Visual Basic 6.0.

List

Items

ListCount

Count

ListIndex

SelectedIndex

Locked

DropDownStyle = DropDownList

Observação:
No Visual Basic 6.0, definindo o Locked propriedade para True também impede que a seleção seja alterada. In Visual Basic 2008, você pode duplicar esse comportamento ao cancelar a seleção na MouseDown evento.

MouseIcon

Nova implementação.Para obter mais informações, consulte Não é possível definir um MousePointer personalizado.

MousePointer

Cursor

Para obter uma lista de constantes, consulte MousePointer para usuários do Visual Basic 6.0.

NewIndex

Nova implementação.Para obter mais informações, consulte Propriedade NewIndex não pode ser atualizada.

OLEDragMode

Nova implementação.Para obter mais informações, consulte Arrastar e soltar para usuários do Visual Basic 6.0.

OLEDropMode

Nova implementação.Para obter mais informações, consulte Arrastar e soltar para usuários do Visual Basic 6.0.

Parent

Método FindForm

RightToLeft

RightToLeft

SelLength

SelectionLength

SelStart

SelectionStart

SelText

SelectedText

Style

DropDownStyle

ToolTipText

ToolTip componente

Para obter mais informações, consulte Suporte dica de ferramenta para usuários do Visual Basic 6.0.

Top

Top

Observação:
Coordenadas são tratados de maneira diferente em Visual Basic 2008.Para obter mais informações, consulte Sistema de Coordenadas para usuários do Visual Basic 6.0.

TopIndex

Nova implementação.Para obter mais informações, consulte Propriedade TopIndex e evento Scroll para usuários do Visual Basic 6.0.

WhatsThisHelpID

Nova implementação.Para obter mais informações, consulte Suporte de Ajuda para Usuários do Visual Basic 6.0.

Width

Width, Size

Observação:
Coordenadas são tratados de maneira diferente em Visual Basic 2008.Para obter mais informações, consulte Sistema de Coordenadas para usuários do Visual Basic 6.0.

Métodos

Visual Basic 6,0

Visual Basic 2008 Equivalente a

AddItem

Add

AddRange

Insert

Clear

Clear

Drag

Nova implementação.Para obter mais informações, consulte Arrastar e soltar para usuários do Visual Basic 6.0.

Move

SetBounds

Observação:
Coordenadas são tratados de maneira diferente em Visual Basic 2008.Para obter mais informações, consulte Sistema de Coordenadas para usuários do Visual Basic 6.0.

OLEDrag

Arrastar e soltar para usuários do Visual Basic 6.0.

RemoveItem

Items.Remove

SetFocus

Focus

ShowWhatsThis

Nova implementação.Para obter mais informações, consulte Suporte de Ajuda para Usuários do Visual Basic 6.0.

ZOrder

BringToFrontSendToBack funções

Eventos

Visual Basic 6,0

Visual Basic 2008 Equivalente a

Change

TextChanged

Observação:
O comportamento das TextChanged evento é um pouco diferente. Para obter mais informações, consulte Evento Change do Controle ComboBox para usuários do Visual Basic 6.0.

Click

SelectedIndexChanged

DblClick

Nova implementação.Use o SelectedIndexChanged ou TextChanged eventos.

DragDrop

DragOver

Nova implementação.Para obter mais informações, consulte Arrastar e soltar para usuários do Visual Basic 6.0.

GotFocus

Enter

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

Nova implementação.Para obter mais informações, consulte Arrastar e soltar para usuários do Visual Basic 6.0.

Scroll

Nova implementação.Para obter mais informações, consulte Propriedade TopIndex e evento Scroll para usuários do Visual Basic 6.0.

Validate

Validating

Observações de Atualização

When a Visual Basic 6.0 project is upgraded to Visual Basic 2008, the Change event of the ComboBox control is mapped to the TextChanged event of the Visual Basic 2008 ComboBox control.O comportamento do TextChanged evento é diferente da Change evento; essa diferença pode causar resultados não intencionais no seu código.

Qualquer código que referencia o ItemData, Locked, NewIndex, ou TopIndex propriedades ou qualquer código da Scroll procedimento de evento não será atualizado; comentários forem adicionados ao código e o código de aviso deve ser removido ou modificado antes de compilar o aplicativo.

Consulte também

Conceitos

Comportamento da Cor para Usuários do Visual Basic 6.0

Objeto Font para usuários do Visual Basic 6.0

MousePointer para usuários do Visual Basic 6.0

Suporte dica de ferramenta para usuários do Visual Basic 6.0

Referência

Caixa de Combinação Controlar Overview (Windows Forms)