2010-05-11 7 views

Respuesta

25

¿Quieres que inicialmente se expandió pantalla? Si es así, llame al método ExpandAll en el nodo raíz después de haber agregado todos los nodos de árbol.

Si desea que se muestre expandido y no permita que el usuario lo contraiga, debe controlar el evento BeforeCollapsed y cancelarlo.

+0

En realidad, no tiene que ser así después de agregar ** todos ** los nodos de árbol, pero al menos uno. Esta es información útil si tiene un árbol que siempre se actualizará. – kdmin

+0

@kdmin: creo que siempre querrá llamar a 'ExpandAll()' después de que se hayan agregado todos los nodos de árbol para que la expansión ocurra después de que se produzca la inicialización del control; de lo contrario, creo que el estado de los nodos puede estar fuera de sincronización. –

3

Adivinando aquí ... En el evento BeforeCollapsed, establezca e.Cancel = true;

+0

Probablemente una combinación de lo que dije más lo que dijo Ashton. ¿Esto es para WinForm o WebForm? Creo que ambos tienen un control TreeView. –

0

Usar este código:

private void ManagerFolder_Load(object sender, EventArgs e) 
{ 
    treeView.ExpandAll(); 
    treeView.Nodes[0].FirstNode.Collapse(); 
    treeView.Nodes[4].FirstNode.Collapse(); 
} 
-1

Usted se estará preguntando dónde poner la declaración treeview1.expandAll()? No puede ponerlo en el código generado del Diseñador, o se eliminará en el siguiente formulario de actualización/guardado.

Lo puse en el código "Form1.cs", en la parte de la clase parcial que trata de la inicialización del formulario, y funciona. Justo después de la instrucción InitializeComponent() (si usted no sabe lo que estoy hablando, acaba de encontrar que la declaración)

espero que ayude :)

PD. Gracias por su apoyo, son geniales, muchachos!

Cuestiones relacionadas