Está en la página 1de 6

2017611 C#controlSplitContainerCodeProject

12,978,444 miembros 82951 en lnea cristhian rios 101 Cerrar sesin

Searchforarticles,questions,tips
artculos Q&A foros saln

C # control SplitContainer
Imran Rauf , 3 Jun de 2005

2,80 28 votos Tarifa:

.Net Fremework 2,0 SplitContainer

Descargar proyecto de demostracin 12,3 Kb

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

Ocultar Copiar cdigo


/**
*Collapseleftortoppanelandexpanderightorbottompanel
*/
splitContainer1.Panel1Collapsed=true;
splitContainer1.Panel2Collapsed=false;

/**
*Collapserightorbottompanelandexpandeleftortoppanel
*/
splitContainer1.Panel2Collapsed=true;
splitContainer1.Panel1Collapsed=false;

3 Orientacin

Se utiliza para establecer u obtener la orientacin del panel de SplitContainer

Ocultar Copiar cdigo


/**
*setorintationofslpitcontainertoHorizantal
*/
splitContainer1.Orientation=Orientation.Horizontal;

/**
*setorintationofslpitcontainertoVertical
*/
splitContainer1.Orientation=Orientation.Vertical;

4 Estilo de borde

Se utiliza para establecer u obtener la SplitContainer estilo de borde.

Ocultar Copiar cdigo


/**
*setborderstyleofsplitcontainertoFixed3D
*/
splitContainer1.BorderStyle=BorderStyle.Fixed3D;

/**
*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.

Ocultar Copiar cdigo


/**
*Inthisexamplenumericupdowncontrollisusedtodemonstartethatwhenyou
*changethevalueofnumericaupdownitschangeValueapplytosplitterwidth
*propertyofsplitcontainer
*/
privatevoidnumericUpDown1_ValueChanged(objectsender,EventArgse)
{
NumericUpDownnm=(NumericUpDown)sender;
splitContainer1.SplitterWidth=(int)nm.Value;
}

Eventos
1 SplitterMoving

Este evento se produce mientras que el control de divisin en estado de movimiento.

Ocultar Copiar cdigo

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

Este evento se produce cuando el control de divisin se movi.

Ocultar Copiar cdigo


privatevoidsplitContainer1_SplitterMoved(objectsender,SplitterEventArgse)
{
Cursor.Current=Cursors.Default;
}

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

Imran Rauf No se Biografa proporcionada


Desarrollador web
Pakistn

Usted tambin podra estar interesado en...


Pura HTML5 / CSS3 / Panel de JS y SplitContainer en estilo Generar y aadir variaciones de palabras clave que utilizan la
.NET; JQuery No es necesario API de AdWords

controles iteracin Pestaas de las ventanas WndTabs AddIn para DevStudio

SAPrefs Preferencias de Netscape como dilogo WTL para MFC programadores, Parte IX Clases en GDI Comn
dilogos y clases de utilidad

Comentarios

Buscar en los comentarios


Aadir un comentario o pregunta

Primera Anterior Siguiente

cmo ampliar o colaps con temporizador


Explosin Bens 20Oct15 21:02

control TreeView
durgeshradhe 11Sep15 05:27

Mi voto de 3
karthik.pvm 8Oct12 05:43

Mi voto de 1
saberint 19Sep11 23:03

thx mucho Imran


BitMonitor 23Ago11 16:46

Mi voto de 2
jcurl 13Mar11 06:26

Gracias
yapple 12Ago09 13:41

Es posible tener una ventana de C ++ no administrado en un mando a C # SplitContainer?


richard072 8Jul09 12:49

Gracias.
Suphkorn B. 5Mar09 21:58

baja valoracin
Jeffrey Scott Flesher 15Nov05 09:50

problema SplitContainer anidada ??


Henk Meijerink 12Jun05 07:23

Re: problema SplitContainer anidada ??


Imran Rauf 17Jun05 03:56
https://www.codeproject.com/Articles/10589/CControlSplitcontainer 5/6
2017611 C#controlSplitContainerCodeProject
Imran Rauf 17Jun05 03:56

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

También podría gustarte