Como exibir o ContextMenu é específico para um nó realçado em um controle TreeView no Visual Basic 2005 ou no Visual Basic .NET

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: 811399
Sumário
Este artigo passo a passo descreve como exibir o ContextMenu é específico para um nó realçado em um controle TreeView . Você pode exibir menus diferentes para diferentes nós em um TreeView . O nó que o usuário clica com o botão direito não pode ser o nó selecionado. Este artigo descreve como ir para o nó realçado e, em seguida, como mostrar o menu para o nó realçado.

Criar um aplicativo Windows TreeView

  1. Criar um novo Microsoft Visual Basic 2005 ou Microsoft Visual Basic .NET Windows Application projeto.

    Por padrão, o Form1 é exibida.
  2. Da caixa de ferramentas, arraste um controle TreeView para Form1.
  3. No painel de designer, clique duas vezes em Form1 para abrir a janela código.
  4. Para adicionar nós a TreeView , adicione o seguinte código ao evento Form1_Load :
          ' Create node for TreeView      Dim node As TreeNode      node = New TreeNode("File")      ' Add Tag to the node for identifying the node type      ' This Tag would be used to identify the context menu associated with it      node.Tag = "TextFile"      ' Add the node to the TreeView      TreeView1.Nodes.Add(node)      node = New TreeNode("File1")      node.Tag = "File"      TreeView1.Nodes(0).Nodes.Add(node)      node = New TreeNode("File2")      node.Tag = "File"      TreeView1.Nodes(0).Nodes.Add(node)

Adicionar um ContextMenu para o aplicativo

  1. No Solution Explorer, clique com o botão direito do mouse em Form1.vb e, em seguida, clique em View Designer .
  2. Na caixa de ferramentas, clique duas vezes em ContextMenu para adicionar um menu de contexto. Clique com o botão direito do mouse ContextMenu1 e, em seguida, clique em Propriedades .
  3. Na janela Properties, altere o nome para mnuTextFile .
  4. No painel de designer, clique em ContextMenu no Form1 para adicionar um submenu para mnuTextFile .
  5. Clique em Digite aqui e, em seguida, digite o Novo arquivo . Pressione a tecla ENTER.
  6. Clique Novo arquivo com o botão direito do mouse e, em seguida, clique em Propriedades . Na janela Properties, altere o nome para mnuNewFile .
  7. Repita a etapa 2. Na janela Properties, altere o nome para mnuFile .
  8. Repetir a etapa 4, a etapa 5 e a etapa 6 para adicionar um submenu para mnuFile . Alterar o nome para mnuOpen e altere o texto para Abrir .
  9. Adicione outro submenu mnuFile . Altere o nome para mnuClose e altere o texto para Fechar .
  10. Na Solution Explorer, clique com o botão direito do mouse em Form1.vb e, em seguida, clique em View Code .
  11. Alterar o seguinte código à classe Form1:
       ' New File menu handler    Private Sub mnuNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuNewFile.Click      MessageBox.Show("New file menu clicked")   End Sub   ' Open menu handler   Private Sub mnuOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuOpen.Click      MessageBox.Show("Open file menu clicked")   End Sub   ' Close menu handler   Private Sub mnuClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuClose.Click      MessageBox.Show("Close file menu clicked")   End Sub

Exibir o ContextMenu que é específico para o nó realçado

  1. Na Solution Explorer, clique com o botão direito do mouse em Form1.vb e, em seguida, clique em View Code .
  2. Alterar o seguinte código à classe Form1:
    Private m_OldSelectNode As TreeNode		Private Sub TreeView1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView1.MouseUp      ' Show menu only if Right Mouse button is clicked      If e.Button = MouseButtons.Right Then         ' Point where mouse is clicked         Dim p As Point = New Point(e.X, e.Y)         ' Go to the node that the user clicked         Dim node As TreeNode = TreeView1.GetNodeAt(p)         If Not node Is Nothing Then            ' Highlight the node that the user clicked.            ' The node is highlighted until the Menu is displayed on the screen            m_OldSelectNode = TreeView1.SelectedNode            TreeView1.SelectedNode = node            ' Find the appropriate ContextMenu based on the highlighted node            Select Case node.Tag               Case "TextFile"                  mnuTextFile.Show(TreeView1, p)               Case "File"                  mnuFile.Show(TreeView1, p)            End Select            ' Highlight the selected node            TreeView1.SelectedNode = m_OldSelectNode            m_OldSelectNode = Nothing         End If      End If   End Sub

Teste o aplicativo

  1. No menu Debug , clique em Iniciar .

    Form1 é exibida.
  2. Por padrão, arquivo nó está selecionada.

    Expanda o arquivo .
  3. Clique com o botão direito do mouse em arquivo .

    O menu Novo arquivo é exibido.
  4. Clique em Novo arquivo e, em seguida, clique em OK .
  5. Clique com o botão direito do mouse arquivo1 .

    Abrir e Fechar menus são exibidos.

    O nó de arquivo1 estiver realçado, embora o nó do arquivo é selecionado.
  6. Clique em Abrir e, em seguida, clique em OK .

    O nó de arquivos é realçado.
Referências
Para obter mais informações, visite o seguinte site do Microsoft:

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 811399 - Última Revisão: 11/13/2007 09:46:36 - Revisão: 3.5

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

  • kbmt kbvs2005applies kbvs2005swept kbwindowsforms kbtreeview kbctrl kbcontmenu kbcontrol kbhowtomaster kbhowto KB811399 KbMtpt
Comentários