Share via


Objeto MENU para usuários do Visual Basic 6.0

The Menu objeto no Visual Basic 6.0 é substituído por tanto o MenuStrip controle ou o ContextMenuStrip 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

No Visual Basic 6.0, um Menu objeto é criado usando o Editor de menu.Menu objetos são amarrados ao formulário para que eles são criados, mas podem ser modificados em time de execução ou mostrados sistema autônomo menus de contexto. Menus criados com o Menuobjeto não oferecem suporte nativo à sombreamento, ícones ou controles incorporados; apenas o Windows 98 "simples" - estilo menus podem ser criados.

In Visual Basic 2008, o Menu objeto é substituído pelo MenuStrip e ContextMenuStrip componentes. Menus podem ser criados usando edição in-loco em time de design ou podem ser criados no código.The MenuStrip e ContextMenuStrip sistema autônomo componentes permitem criar modernos menus de estilo de barra de ferramentas, com total suporte para compartilhar regiões, ícones, e controles embutidos sistema autônomo suspenso listas. Para obter mais informações, consulte MenuStrip Controlar Overview (Windows Forms).

Exibindo menus de contexto

Em Visual Basic 6.0, você pode exibir um menu de contexto chamando o PopupMenu método e passando qualquer nível superior Menu objeto. Por exemplo, se você tiver um edição menu chamadomnuEdit com Recortar, Cópia, and Colar submenus, você pode exibir um menu de contexto com o Recortar, Cópia, and Colar comandos chamando PopupMenu mnuEdit.

In Visual Basic 2008, menus de contexto são exibidos usando um separado ContextMenuStrip componente. Não há nenhum equivalente para o PopupMenu método, porém você ainda pode compartilhar comandos entre um MenuStrip e um ContextMenuStrip Criando o ContextMenuStrip em time de design e compartilhando os manipuladores de eventos.

Alterações de código para o objeto menu

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

Alterações de código para exibir menus de contexto

O código a seguir demonstra como exibir comandos Cut, Copy,. e Paste de um menu existente Edit em um menu de contexto

' Visual Basic 6.0
Private Sub mnuCut_Click()
    MsgBox "You selected Cut"
End Sub
Private Sub mnuCopy_Click()
    MsgBox "You selected Copy"
End Sub

Private Sub mnuPaste_Click()
    MsgBox "You selected Paste"
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = vbRightButton Then
        PopupMenu mnuEdit
    End If
End Sub
' Visual Basic
' You must first add a ContextMenuStrip component to the form at design 
' time and add Cut, Copy, and Paste menu items named 
' CutContextMenuItem, CopyContextMenuItem, and PasteContextMenuItem.

Private Sub CutToolStripMenuItem_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles CutToolStripMenuItem.Click
    MsgBox("Cut")
End Sub

Private Sub CopyToolStripMenuItem_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles CopyToolStripMenuItem.Click
    MsgBox("Copy")
End Sub

Private Sub PasteToolStripMenuItem_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles PasteToolStripMenuItem.Click
    MsgBox("Paste")
End Sub
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As _
System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown

  If e.Button = Windows.Forms.MouseButtons.Right Then
    Me.ContextMenuStrip = ContextMenuStrip1

    AddHandler CutContextMenuItem.Click, _
      AddressOf CutToolStripMenuItem_Click

    AddHandler CopyContextMenuItem.Click, _
      AddressOf CopyToolStripMenuItem_Click

    AddHandler PasteContextMenuItem.Click, _
      AddressOf PasteToolStripMenuItem_Click
  End If
End Sub

Propriedade menu e métodos equivalentes

As tabelas a seguir listam propriedades e métodos, junto com seus Visual Basic 6.0Visual Basic 2008 equivalentes. As propriedades e métodos que possuem o mesmo nome e comportamento não estão listados.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

Caption

Text (MenuStripItem)

HelpContextID

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

Index

Nova implementação.Consulte o Index propriedade das ToolStripItemCollection classe.

NegotiatePosition

Não há equivalente.Somente Essa propriedade foi usada para vinculação OLE e incorporação que não oferece mais suporte.

Parent

Método FindForm

WindowList

MdiWindowListItem

Métodos

Visual Basic 6,0

Visual Basic 2008 Equivalente a

PopupMenu

Nova implementação.Use um ContextMenuStrip componente.

Observações de Atualização

Quando um aplicativo Visual Basic 6.0 é atualizado para Visual Basic 2008, todas as chamadas para o PopupMenu método não são atualizadas; você deve criar menus de contexto para substituí-las.

Consulte também

Conceitos

Tratamento de Menus para usuários do Visual Basic 6.0

Referência

MenuStrip Controlar Overview (Windows Forms)

Outros recursos

Controles Windows Forms para Usuários do Visual Basic 6.0