Documente Academic
Documente Profesional
Documente Cultură
Início | Fóruns | Vídeos | Fotos | Downloads | Blogs | Entrevistas | Empregos | Iniciantes | Formação | Consultoria Envie um Artigo Envie um Blog
Enter UserID or Email Início » Windows Forms »Trabalhando com TreeView Controle em C #
●●●●●●●●●●●●●●
Trabalhando com o controle TreeView em C # Rank Autor:
Remember Me Total de visualizações: 320083
Total de downloads: 7098
Entrar Registre-se Por Lysle Scott 16 abril de 2007
Esqueci minha senha Este é um artigo abordando alguns dos princípios básicos do trabalho com um controle TreeView, o artigo irá abordar de forma dinâmica acrescentando TreeNodes a um controle TreeView, buscando a nós encont rar e destacar um único nó ou uma coleção de
Esqueceu-se Usuário nós.
Porquê registar-se
TreeView em Silverlight
Seja um patrocinador
Recursos
Quem Somos
ASP.NET Hosting
Autores
Capítulos
Resenhas de livros
Livros C #
# Consultoria C
# Formação C
Downloads
Mídia Kit
Notícias e Eventos
Newsletter
Prêmios
Opiniões
Recursos Figura 3: Buscando um controle TreeView pela propriedade Nome.
Dicas
Ferramentas
Grupos de Usuários
Nossa Rede
. Heaven NET
# Esquina C
DbTalks
Entrevista Corner
Longhorn Corner
Mindcracker
VB.NET Céu
Figura 4: Criação de um nó com propriedades específicas.
A Solução
A solução de aplicação contém um único projeto Windows Application composta; todo o código fornecido em apoio a este projeto está contido em duas classes de forma, um é o formulário principal que contém o TreeView e alguns controles utilizados para exibir informações sobre o nó (Figuras 1, 2 e 3) e para executar as pesquisas para um
nó específico ou grupo de nós com base em um termo de pesquisa fornecida pelo usuário. A classe de outra forma (Figura 4) é usado para criar novos nós, dentro da aplicação, este formulário é exibido, selecionando um nó no TreeView e, em seguida, selecionando a opção "Adicionar nó" opção no menu de contexto.
Não há nada personalizado ou fantasia feito com qualquer um dos componentes relacionados TreeView nesta aplicação, é apenas uma demonstração de como trabalhar com um TreeView dentro do contexto de uma aplicação Windows Forms.
A classe do formulário principal é um formulário padrão janela com alguns controles adicionados, o formulário contém um controle de recipiente dividido; no lado esquerdo do controle é um controle TreeView, no lado direito do separador são quatro caixas de grupo, a caixa de primeiro grupo contém um conjunto de rótulos e caixas de texto
usado para exibir informações sobre um nó selecionado, as caixas de grupo restante contêm rótulos, caixas de texto e botões utilizados para realizar diferentes pesquisas de TreeView do nó a coleção com base nó texto, nome, ou valores de marca.
A funcionalidade contida na classe é dividida em várias regiões, a aula começa com as importações padrão, a declaração de namespace, e declaração de classe:
using System;
utilizando System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
usando System.Text;
using System.Windows.Forms;
EasyTreeView namespace
(
classe parcial pública Form1: Form
(
public Form1 ()
(
InitializeComponent ();
/ / Começar por adicionar um nó TreeView base
TreeNode TreeNode mainNode = new ();
mainNode.Name = "mainNode";
mainNode.Text = "principal";
. Este treeView1.Nodes.Add (mainNode);
)
O construtor da classe forma cria um nó principal no controle TreeView, em tempo de execução, o usuário pode selecionar esse nó (ou qualquer nó filho originários forma este nó) para adicionar outros nós para o TreeView. A classe de formulário também contém um menu de contexto, este menu de contexto contém duas opções, uma para
adicionar um novo nó, e outra para excluir um nó existente. Quando um novo nó é solicitado, o aplicativo abre uma instância de diálogo do novo nó, isso força o usuário de diálogo para definir o nome, texto e valores de marca para o novo nó. O valor da marca pode ser qualquer objeto, mas neste exemplo, a marca se limita à realização de
um valor de cadeia adicionais. Uma vez que os valores foram coletados a partir do diálogo, o novo nó é preenchida com as informações e acrescentou que o nó selecionado do TreeView.
Quando um nó é excluído, o nó selecionado e todos os seus filhos são removidos do TreeView; uma coisa a notar aqui é que, se você está associando um objeto com um nó através da sua marca, você vai querer escrever o manipulador que a destruam objeto antes de excluir o nó selecionado.
# Region Adicionar e remover nós
/ / / <summary>
/ / / Dê um nó no TreeView usando uma caixa de diálogo
/ / / Forçando o usuário a definir as propriedades de nome e texto
/ / / Do nó
/ / / </ Summary>
/ / / name="sender"> <param </ param>
/ / / name="e"> <param </ param>
cmnuAddNode_Click private void (object sender, EventArgs e)
(
n newNode nova newNode = ();
n.ShowDialog ();
nod TreeNode TreeNode novo = ();
= N.NewNodeName.ToString nod.Name ();
= N.NewNodeText.ToString nod.Text ();
= N.NewNodeTag.ToString nod.Tag ();
n.Close ();
treeView1.SelectedNode.Nodes.Add (nod);
treeView1.SelectedNode.ExpandAll ();
)
/ / / <summary>
/ / / Remover o nó selecionado e crianças
/ / / </ Summary>
/ / / name="sender"> <param </ param>
/ / / name="e"> <param </ param>
cmnuRemoveNode_Click private void (object sender, EventArgs e)
(
treeView1.SelectedNode.Remove ();
)
# Endregion
A próxima região de código é usado para manipular eventos TreeView, existem apenas dois eventos tratados nesta seção, o TreeView Depois do evento Select e TreeView clique do evento. Depois de seleccionar o manipulador de eventos é usado para preencher as caixas de texto usado para exibir informações do nó selecionado (o seu nome,
o texto, Tag e propriedades do texto do pai. A descoberta funções descritas posteriormente destacar que todos os nós encontrados em resposta a uma pesquisa, definindo a cor de fundo de cada nó correspondente ao amarelo, o manipulador de eventos click do TreeView é usado para remover todos esses destaques.
1 de 3 03/10/2010 21:51
Trabalhando com o controle TreeView em C # http://translate.googleusercontent.com/translate_c?hl=pt-BR&sl=en&u=...
# Endregion
A próxima região de código é usado para localizar um nó ou nós com propriedades de texto correspondente a uma expressão de busca. O formulário contém uma caixa de grupo usado para definir um termo de pesquisa de texto e evocar o método a partir de um clique do botão manipulador de eventos. O primeiro clique no botão limpa
todos nós destaque, chamando o método Clear Back Color, após os nós são todos restaurados para fundo branco, o condutor chama o método Find By texto, este método funciona muito parecido com o método descrito para limpar a cor de fundo. O método reúne uma coleção de nós de árvore e, em seguida, passa por cada nó para o método
recursivo. O método find recursivo olha para nós com propriedades de texto compatível com a expressão de pesquisa e, quando for encontrada uma correspondência, define a cor de fundo para amarelo. Cada nó processado é passado para o método find recursivo, que continuarão a examinar cada nó até que todos os nós da árvore têm sido
avaliados.
# Endregion
A próxima região é usada para conter os métodos utilizados para encontrar nós pelo seu valor de marca (que neste caso é uma string), e realce em amarelo todos os nós correspondentes. Estes métodos de trabalho muito parecido com o último método, com a ressalva de que os jogos são determinadas pela sua marca valores em vez de texto
seus valores.
# Region Pesquisar por tag
/ / / <summary>
/ / Pesquisa / para nós por tag requer uma função especial
/ / / Esta função recursivamente varre o treeview e
/ / / Marcas itens correspondentes. Tags podem ser objeto, neste
/ / / Caso, eles são usados apenas para conter strings
/ / / </ Summary>
/ / / name="sender"> <param </ param>
/ / / name="e"> <param </ param>
btnNodeTagSearch_Click private void (object sender, EventArgs e)
(
ClearBackColor ();
FindByTag ();
)
FindByTag private void ()
(
nós TreeNodeCollection = treeView1.Nodes;
foreach (TreeNode n em nós)
(
FindRecursiveTag (n);
)
)
private void FindRecursiveTag (TreeNode TreeNode)
(
foreach (TreeNode tn em treeNode.Nodes)
(
/ / Se as propriedades do texto de partida, o item cor
if (tn.Tag.ToString () ==. txtTagSearch.Text isso)
tn.BackColor = cor amarela.;
FindRecursiveTag (tn);
)
)
# Endregion
Isso envolve acima de todos os códigos necessários para adicionar e remover nós e para procurar nós específicos com base em seu nome, texto ou valores de marca.
O Código: Formulário 2 - Formulário de novo nó
O código fornecido no formulário novo nó é utilizado apenas para capturar o usuário forneceu valores usados para preencher nó recém-criado o nome de um texto, e propriedades de marca. O formulário é exibido como uma janela e aparece na resposta ao usuário solicitar a adição de um novo nó a partir do formulário principal do aplicativo.
As importações, a declaração de namespace, e declaração de classe estão na configuração padrão de uma classe de formulário:
using System;
utilizando System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
usando System.Text;
using System.Windows.Forms;
EasyTreeView namespace
(
classe newNode parcial pública: Formulário
(
Na sequência da declaração da classe, três variáveis de membros locais são definidos, cada um dos quais é usado para armazenar o nome de usuário fornecido, texto e propriedades da marca:
# Variáveis locais região
mNewNodeName cadeia privada;
mNewNodeText cadeia privada;
mNewNodeTag cadeia privada;
# Endregion
O construtor do formulário está na configuração padrão:
/ / / <summary>
/ / / Construtor padrão
/ / / </ Summary>
NewNode pública ()
(
InitializeComponent ();
)
A próxima região de código é usado para definir três propriedades públicas utilizadas para conter o novo nome de nó, texto e valores de marca. Depois que o usuário definir esses valores desta forma, a principal forma recolhe essas propriedades e atribui-los a novo nó nome do texto, e propriedades de marca.
# Region Propriedades da classe
NewNodeName cadeia pública
(
obter
(
mNewNodeName retorno;
)
conjunto
(
= Valor mNewNodeName;
)
)
NewNodeText cadeia pública
(
obter
(
mNewNodeText retorno;
)
conjunto
(
= Valor mNewNodeText;
)
)
cadeia pública NewNodeTag
(
obter
(
mNewNodeTag retorno;
)
conjunto
(
= Valor mNewNodeTag;
)
)
# Endregion
Este manipulador de eventos, clique no botão destina-se a forçar o usuário a definir os três valores, uma vez que cada um é definido, as propriedades relacionadas são passados os valores corretos ea forma está fechado.
btnSubmit_Click private void (object sender, EventArgs e)
(
if (txtNewNodeName.Text! = string. Vazio)
(
NewNodeName txtNewNodeName.Text =;
)
mais
(
. MessageBox Show ("Nome do nó.");
retorno;
)
if (txtNewNodeText.Text! = string. Vazio)
(
NewNodeText txtNewNodeText.Text =;
)
mais
(
. MessageBox Show ("Fornecer novo nó de texto");
retorno;
)
if (txtTag.Text! = string. Vazio)
(
NewNodeTag txtTag.Text =;
)
mais
(
. MessageBox Show ("Fornecer novo nó de texto");
retorno;
)
isso). Close (;
2 de 3 03/10/2010 21:51
Trabalhando com o controle TreeView em C # http://translate.googleusercontent.com/translate_c?hl=pt-BR&sl=en&u=...
Isso é tudo que existe para ela. Uma vez que este código é executado, pode clique direito sobre o nó principal e adiciona tantos nós e nós filhos como acharem melhor. O usuário pode entrar na expressão de busca válida em qualquer uma das optons buscar e realçar nós correspondentes, ou o usuário pode selecionar os nós da árvore e ler
o nome, texto e marca-mãe valores associados a partir do nó selecionado.
Resumo.
Naturalmente, existem inúmeras maneiras de usar o controle TreeView e esta simples demonstração não começar a explorar a variedade de opções disponíveis. A única intenção da manifestação era fornecer uma descrição de como pode-se adicionar e remover nós, obter informações de nós selecionados, e procure por nós específicos com
base no nó é o nome do texto, e valores de marca.
Iniciar sessão para adicionar seu conteúdo e código-fonte para este artigo
Scott Lysle C # Consulting é fundada em 2002 pelos fundadores do C # Corner. Ao contrário de uma empresa de consultoria tradicional, nossos consultores são conhecidos especialistas em bem. NET e muit os deles são
Freelance desenvolvedor de software residente no Alabama. Licenciatura, mest rado Graus de W ichit a State University. Passei a primeira metade de minha carreira trabalhando em controles MVPs, aut ores e instrutores. Nós nos especializamos no desenvolvimento Microsoft. NET e utilizar Desenvolvimento Ágil e Programação Extreme prát icas para proporcionar rit mo acelerado resultados de
de aeronaves e exibições e naquela época eu trabalhava na cabina de pilot agem para os 58-OH AHIP, o AH-1W , o V-22, F-22, o C-130J, o C-5 AMP, AW ACS, JPATS, e alguns outros. Desde retorno rápido. Nosso modelo de desenvolvimento de soft ware é uma mistura de Desenvolvimento Ágil, SDLC tradicionais e modelos de Cachoeira.
1997, t enho sido muito envolvidos com o W indows e desenvolviment o web, desenvolvimento de aplicativos geográficos, desenvolvimento de produtos eletrônicos de consumo (embedded
Linux / Java), mas ainda trabalham às vezes em aviões militares e projetos, o mais recente dos quais foi o helicóptero de transporte presidencial. Cost umo trabalhar primeiramente com C /
C + +, Java, VB e C #.
Tente Safari Books Online - 15 dias grátis + 15% de desconto para 1 ano
Tente Safari Books Online - 15 dias grátis + 15% de desconto para 1 ano
Assunto:
Comentário:
Enviar
Comentários
Pergunta de venkat Em 26 de fevereiro de 2009
Como realizar uma operação diferente para cada nó selecionado
Obrigado, irmão.
Airton
Hospedado por MaximumASP|Encontrou um link quebrado?|Fale Conosco|Termos e condições|Política de Privacidade|Mapa do Site|Sugerir uma Idéia|Mídia Kit Versão Atual: 5.2010.8.14
© 2010 conteúdos de direitos autorais de seus autores. Resto tudo Mindcracker copyright. Todos os direit os reservados.
Canais: Empregos | Entrevistas | Consultoria | Formação | Fotos | Autores | Dicas | Fóruns | E-Books | Blogs
Programação: C # | Visual Basic | ASP.NET e Desenvolvimento W eb | C + + | Out ro. NET | W indows Vista | XAML | Tut oriais
Patrocinadores: ASP.NET 4 Host ing | Clickat ell | DevExpress | DynamicPDF | Nevron | Redgate Software | Safari Books Online
3 de 3 03/10/2010 21:51