Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Searchforarticles,questions,tips
artculos Q&A foros saln
C # control SplitContainer
Imran Rauf , 3 Jun de 2005
Suposicin
En este artculo se supone que usted sabe acerca de la Litle TreView y controll avance ListView. En este momento he utilizado Visual Studio 2005 Beta 2, se puede abrir
en Visual Studio 2003 mediante la fusin de las clases parciales y definitivamente con .Net Framework 2.0.
Introduccin
interfaces de escritorio basados en Windows pueden clasificarse en tres tipos, 1SDI interfaz de documento nico como Microsoft Bloc de notas, 2 de interfaz MDI de
mltiples documentos como Microsoft Word y 3 WEventana del Explorador de rbol y una interfaz de estilo ListView. Diseo de un formulario como el 'Explorador de
Windows' es mucho ms fcil ahora con el SplitContainer. Voy a demostrar a travs de un sencillo ejemplo que la forma en que puede consumir avance controll
'SplitContainer' en su aplicacin.
Descripcin
SplitContaineres el control de una ventana de avance o es una versin extendida de control de divisor de edad. Se puede colocar en forma horizantally o
verticalmente mediante la especificacin de propiedad Orientacin cada uno representa izquierdo / superior y paneles de la derecha / inferior, respectivamente.
propiedades
https://www.codeproject.com/Articles/10589/CControlSplitcontainer 1/6
2017611 C#controlSplitContainerCodeProject
1 Muelle
Le permite adjuntar la frontera de SplitContainer a su contenedor. Cuando se le cae el SplitContainer en un formulario de un valor predeterminado de la propiedad
Dock es 'llenar' que significa SplitContainer obtiene toda la zona de la forma. En este ejemplo, he puesto a 'Ninguno' para el saco de la demostracin de caractersticas
SplitContainer.
2 Panel1Collapsed / Panel2Collapsed
Se utiliza para establecer u obtener si el panel1 o PANEL2 est contraer o expandir. Si se asigna a cierto Panel1Collapsed luego a la izquierda o panel superior se
derrumb y si asigna falsa a Panel1Collapsed luego a la izquierda o panel superior se ampliar mismo comportamiento se produjo con la propiedad Panel2Collapsed.
A continuacin se presentan las lneas de cdigos que alterna el contraer y expandir el comportamiento
/**
*Collapserightorbottompanelandexpandeleftortoppanel
*/
splitContainer1.Panel2Collapsed=true;
splitContainer1.Panel1Collapsed=false;
3 Orientacin
/**
*setorintationofslpitcontainertoVertical
*/
splitContainer1.Orientation=Orientation.Vertical;
4 Estilo de borde
/**
*setborderstyleofsplitcontainertoFixedSingle
*/
splitContainer1.BorderStyle=BorderStyle.FixedSingle;
/**
*setborderstyleofsplitcontainertoNone
*/
splitContainer1.BorderStyle=BorderStyle.None;
5 Splitter Ancho
Splitter es una barra horinzantal o vertical que utilizan para establecer el tamao del panel, el tamao predeterminado del divisor es 4 pxeles, pero se puede establecer
u obtener el valor de anchura divisor programticamente mediante la manipulacin de la propiedad splitterwidth.
Eventos
1 SplitterMoving
https://www.codeproject.com/Articles/10589/CControlSplitcontainer 2/6
2017611 C#controlSplitContainerCodeProject
privatevoidsplitContainer1_SplitterMoving(objectsender,SplitterCancelEventArgse)
{
if(splitContainer1.Orientation==Orientation.Vertical)
Cursor.Current=Cursors.NoMoveVert;
else
Cursor.Current=Cursors.NoMoveHoriz;
}
2 SplitterMoved
Uso
Ocultar Shrink Copiar cdigo
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Windows.Forms;
namespaceSplitContainerDemo
{
publicpartialclassMySplitContainer:Form
{
publicMySplitContainer()
{
InitializeComponent();
//LoadsvaluestoTreeViewandListViewcontrol
this.loadValuesInto();
}
privatevoidloadValuesInto()
{
//CreaterootnodeinTreeView
TreeNodetnRoot=treeView1.Nodes.Add("root","/");
treeView1.Nodes[treeView1.Nodes.IndexOfKey("root")].Nodes.Add("Node1","Node1");
//FindeNodeincollection
TreeNode[]nodes=treeView1.Nodes.Find("Node1",true);
//AssumethatnodewillalwaysbeinTreeViewthenAddChildstoNode
addChildTo(nodes[0]);
treeView1.Nodes[treeView1.Nodes.IndexOfKey("root")].Nodes.Add("Node2","Node2");
nodes=treeView1.Nodes.Find("Node2",true);
addChildTo(nodes[0]);
treeView1.Nodes[treeView1.Nodes.IndexOfKey("root")].Nodes.Add("Node3","Node3");
nodes=treeView1.Nodes.Find("Node3",true);
addChildTo(nodes[0]);
}
//Addschildstospecificnode
privatevoidaddChildTo(TreeNodetn)
{
for(inti=1;i<=10;i++)
tn.Nodes.Add(tn.Name+".Child"+i,"Child"+i);
}
//OccurswhenLeftpanelneedtocollapse
privatevoidrdoLeft_CheckedChanged(objectsender,EventArgse)
{
splitContainer1.Panel1Collapsed=true;
splitContainer1.Panel2Collapsed=false;
}
//OccurswhenRightpanelneedtocollapse
privatevoidrdoRight_CheckedChanged(objectsender,EventArgse)
{
splitContainer1.Panel2Collapsed=true;
splitContainer1.Panel1Collapsed=false;
}
//OccurswhenDefaulbehaviourisrequiredofsplitcontainer
privatevoidrdoDefault_CheckedChanged(objectsender,EventArgse)
{
splitContainer1.Panel1Collapsed=false;
splitContainer1.Panel2Collapsed=false;
}
//OccurswhenHorizantalorientationisrequired
privatevoidrdoHorizantal_CheckedChanged(objectsender,EventArgse)
{
splitContainer1.Orientation=Orientation.Horizontal;
https://www.codeproject.com/Articles/10589/CControlSplitcontainer 3/6
2017611 C#controlSplitContainerCodeProject
}
//OccurswhenVerticalorientationisrequired
privatevoidrdoVertical_CheckedChanged(objectsender,EventArgse)
{
splitContainer1.Orientation=Orientation.Vertical;
}
//OccurswhenFixed3Dborderstyleisrequired
privatevoidrdoFix3d_CheckedChanged(objectsender,EventArgse)
{
splitContainer1.BorderStyle=BorderStyle.Fixed3D;
}
//OccurswhenFixedSingleborderstyleisrequired
privatevoidrdoFixSingle_CheckedChanged(objectsender,EventArgse)
{
splitContainer1.BorderStyle=BorderStyle.FixedSingle;
}
//OccurswhenNoneborderstyleisrequired
privatevoidrdoNone_CheckedChanged(objectsender,EventArgse)
{
splitContainer1.BorderStyle=BorderStyle.None;
}
//OccurswhenTreeViewnodegetfocus,itfirstclearsalllistviewitemsand
//addnode'schildstolistviewcontroll
privatevoidtreeView1_AfterSelect(objectsender,TreeViewEventArgse)
{
listView1.Items.Clear();
for(inti=0;i<e.Node.Nodes.Count;i++)
listView1.Items.Add(e.Node.Nodes[i].Name);
}
//OccurswhenvalueischangedinNumericUpDowncontroll
privatevoidnumericUpDown1_ValueChanged(objectsender,EventArgse)
{
NumericUpDownnm=(NumericUpDown)sender;
splitContainer1.SplitterWidth=(int)nm.Value;
}
//Occurswhensplitterismoving
privatevoidsplitContainer1_SplitterMoving(objectsender,SplitterCancelEventArgse)
{
if(splitContainer1.Orientation==Orientation.Vertical)
Cursor.Current=Cursors.NoMoveVert;
else
Cursor.Current=Cursors.NoMoveHoriz;
}
//Occurswhensplitterhasmoved
privatevoidsplitContainer1_SplitterMoved(objectsender,SplitterEventArgse)
{
Cursor.Current=Cursors.Default;
}
}
}
Conclusin
Espero que esto le dar informacin general sobre SplitContainer, realmente aprecio ningn opiniones, comentarios y sugerencias.
Licencia
En este artculo, junto con cualquier cdigo fuente asociado y archivos, est licenciado bajo la licencia de cdigo abierto del proyecto CPOL
Compartir
CORREO ELECTRNICO GORJEO
Sobre el Autor
https://www.codeproject.com/Articles/10589/CControlSplitcontainer 4/6
2017611 C#controlSplitContainerCodeProject
SAPrefs Preferencias de Netscape como dilogo WTL para MFC programadores, Parte IX Clases en GDI Comn
dilogos y clases de utilidad
Comentarios
control TreeView
durgeshradhe 11Sep15 05:27
Mi voto de 3
karthik.pvm 8Oct12 05:43
Mi voto de 1
saberint 19Sep11 23:03
Mi voto de 2
jcurl 13Mar11 06:26
Gracias
yapple 12Ago09 13:41
Gracias.
Suphkorn B. 5Mar09 21:58
baja valoracin
Jeffrey Scott Flesher 15Nov05 09:50
Refrescar 1
General de Noticias Sugerencia Pregunta Bug respuesta Broma Alabanza Rant administracin
Utilice Ctrl + Izquierda / Derecha para cambiar los mensajes, Ctrl + Arriba / Abajo para cambiar hilos, Ctrl + Shift + Izquierda / Derecha para cambiar de pgina.
Permalink | Publicidad | Privacidad | Condiciones de Uso | Mobile Artculo Copyright 2005 de Imran Rauf
Seleccionar idioma
Web02 | 2.8.170609.2 | ltima Actualizado hace 3 Jun de 2005 Todo lo dems Copyright CodeProject , 19992017
Diseo: fijo | fluido
https://www.codeproject.com/Articles/10589/CControlSplitcontainer 6/6