C# - Importando arquivo texto para um TreeView
Nesta dica veremos como importar um arquivo no formato Texto para um controle TreeView.
Veremos como importar o conteúdo do arquivo contatos.txt abaixo para um controle Treeview usando o Visual C# 2010 Express Edition:
Jose C
Macoratti, macoratti@yahoo.com, 11-4578-5588 Miriam Estela, miriamest@uol.com.br, 11-5210-2245 Jefferson Andre, jeffand@gmail.com, 11-3205-5421 Janice Rachel Siqueira, janicerach@terra.com.br, 11-5201-5588 Jessica Naara, jesslang@terra.com.br, 11-6024-5588 Mario LIma, mario@terra.com.br, 11-6998-5018 |
Obs: O arquivo contatox.txt é um arquivo texto onde temos cada linha representando um registro sendo que o campos estão separados por vírgula.
Abra o Visual C# 2010 Express Edition e crie um novo projeto do tipo Windows Application com o nome : CSV_TreeView
No formulário form1.cs inclua um controle TreeView e 1 controle TextBox com a seguinte configuração:
Conforme o leiaute abaixo:
Abra o formulário form1.cs e defina no início da classe os namespaces a seguir:
using
System.Windows.Forms;
using System.IO;
No evento Load do formulário defina o código a seguir que lê o arquivo contatos.txt (localizado na pasta bin do projeto) e separa cada item do arquivo usando a função Split : strContato.Split(',') e gerando um array de strings chamado Contato;
private void Form1_Load(object sender, EventArgs e) { StreamReader leitorStream = new StreamReader("contatos.txt"); string strContato = ""; TreeNode main = contatos.Nodes.Add("Contatos"); while ((strContato = leitorStream.ReadLine()) != null) { string[] Contato = strContato.Split(','); TreeNode nome = main.Nodes.Add(Contato[0]); name.ForeColor = Color.Green; TreeNode email = name.Nodes.Add(Contato[1]); email.ForeColor = Color.Red; TreeNode numero_contato = name.Nodes.Add(Contato[2]); numero_contato.ForeColor = Color.Blue; } } |
Estamos criando dois nós
para exibir o nome, o email e o telefone; Estamos também definindo cores distintas aos nós criados. |
No evento AfterSelect do controle TreeView defina o seguinte código que irá exibir o item selecionado do segundo nível do TreeView no controle TextBox:
private void contatos_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node.Level == 2) { txtSelecao.Text = contatos.SelectedNode.Text; } } |
O resultado obtido é visto a seguir:
Pegue o projeto completo aqui: CSV_TreeView.zip
"Em verdade , em verdade vos digo que vem a hora, e agora é, em que os mortos ouvirão a voz do Filho de Deus, e os que a ouvirem viverão."(João-5:25)
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#