metaclay Posted November 13, 2009 at 03:19 PM Report Share #295987 Posted November 13, 2009 at 03:19 PM Boas. Tenho uma treeview numa aplicação que está associada a uma listview, local onde mostra o conteudo da pasta selecionada na treeview. Gostava de saber como é possivel ter uma pasta predefenida que ao entrar no programa seja automaticamente selecionada na treeview e consequentemente mostre os documentos dessa pasta na listview. Cumps Link to comment Share on other sites More sharing options...
ribeiro55 Posted November 13, 2009 at 03:31 PM Report Share #295994 Posted November 13, 2009 at 03:31 PM Se a pasta por defeito estiver sempre na raíz da tree, basta correr a colecção Nodes até encontrar o valor que pretendes. Se é possível que a pasta por defeito esteja alguns níveis acima, e como não podes adivinhar quantos níveis acima, terás de recorrer a uma função recursiva para procurar todos os nós da treeview. Quando encontrares o nó, basta dares o nó à propriedade SelectedNode da TreeView. Para listar os ficheiros, basta que tenhas o código de listar, ou uma chamada ao bloco de código de listar, no sub que "handles" o evento "SelectedIndexChanged" (ou coisa assim parecida). Como estamos a seleccionar um nó, estamos a alterar o índice da selecção. Finalmente, como estás a fazer uma selecção programática, para que o item seleccionado se veja seleccionado, das duas uma: ou tens a propriedade HideSelection para false ou chamas o método Select da treeview quando encontrares o nó. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
metaclay Posted November 13, 2009 at 03:40 PM Author Report Share #295998 Posted November 13, 2009 at 03:40 PM Nao percebi bem o que disseste... Eu quero que quando o programa abre, a pasta (por ex: dossier) seja logo selecionada e consequentemente mostre o seu conteudo na listview. Se calhar é melhor explicares-me com código para eu ver se entendo melhor. Link to comment Share on other sites More sharing options...
ribeiro55 Posted November 13, 2009 at 03:50 PM Report Share #295999 Posted November 13, 2009 at 03:50 PM Gosto mais de dar cana de pesca do que peixe, mas vá... Vou-te despejar código. Faz o que pretendes, mas não é solução para o teu caso. E para castigo, não to explico! 😄 :D Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim TextoDoNode As String = "Node7" For Each N As TreeNode In TreeView1.Nodes If N.Text = TextoDoNode Then TreeView1.SelectedNode = N If N.Nodes.Count > 0 Then EscavaNodes(N, TextoDoNode) Next TreeView1.Select() End Sub Private Sub EscavaNodes(ByVal NodeInicial As TreeNode, ByVal EncontraOQue As String) For Each N As TreeNode In NodeInicial.Nodes If N.Text = EncontraOQue Then TreeView1.SelectedNode = N If N.Nodes.Count > 0 Then EscavaNodes(N, EncontraOQue) Next End Sub Private Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect MsgBox("Ora bolas! Seleccionaste um node qualquer não foi?") End Sub Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
metaclay Posted November 13, 2009 at 04:01 PM Author Report Share #296006 Posted November 13, 2009 at 04:01 PM Oh lol. Assim fiquei na mesma 😄 Link to comment Share on other sites More sharing options...
ribeiro55 Posted November 13, 2009 at 04:56 PM Report Share #296020 Posted November 13, 2009 at 04:56 PM Já começaste por o mais básico? Abrir um projecto novo, meter uma treeview num form, adicionar-lhe uns nodes com childs e exprimentar o código? Analisas cada linha com step debug, vais vendo o que acontece, e chegas lá. Se tiveres dúvidas em algum processamento em concreto, apita. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
jpaulino Posted November 13, 2009 at 04:57 PM Report Share #296021 Posted November 13, 2009 at 04:57 PM Usas .Net Framework 3.5 ? Link to comment Share on other sites More sharing options...
metaclay Posted November 13, 2009 at 05:39 PM Author Report Share #296027 Posted November 13, 2009 at 05:39 PM Sergio ja experimentei e não é nada disso que preciso... Eu estou aqui a questionar tanto porque não tenho formação sobre treeviews. É a 1ª vez que tou a trabalhar com este objecto. jpaulino, sim uso. Link to comment Share on other sites More sharing options...
jpaulino Posted November 13, 2009 at 05:43 PM Report Share #296030 Posted November 13, 2009 at 05:43 PM Mas o teu problema é carregar os dados ou seleccionar um node na treeview ? Link to comment Share on other sites More sharing options...
ribeiro55 Posted November 13, 2009 at 05:47 PM Report Share #296034 Posted November 13, 2009 at 05:47 PM Segundo percebi, queres seleccionar um treenode programaticamente, de uma treeview que representa a árvore de directórios de um disco, estando esse treenode a representar a tal pasta predefinida, certo? Se é isso, eu continuo a impingir-te o bloco que te dei pois serve perfeitamente para o que pretendes, no que toca a descobrir alguma coisa na treeview. Óbvio que não te vai fazer exactamente o que pretendes, mas ajuda na tarefa. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
metaclay Posted November 13, 2009 at 05:57 PM Author Report Share #296038 Posted November 13, 2009 at 05:57 PM jpaulino, o meu problema é que eu quero que abra o nodd que eu tenha predefenido quando o programa inicia. Sergio, no teu codigo como é que posso definir o node que quero que mostre o seu conteudo na listview? Eu executei o código e aparece-me sempre a msgbox... Link to comment Share on other sites More sharing options...
metaclay Posted November 18, 2009 at 02:36 PM Author Report Share #296770 Posted November 18, 2009 at 02:36 PM nenhuma sugestao extra? x) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now