<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.ms/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Marc Rubiño : c#</title><link>http://geeks.ms/blogs/mrubino/archive/tags/c_2300_/default.aspx</link><description>Etiquetas: c#</description><dc:language /><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Cerrar el formulario Principal sin cerrar la aplicación C#</title><link>http://geeks.ms/blogs/mrubino/archive/2008/04/17/cerrar-el-formulario-principal-sin-cerrar-la-aplicaci-243-n-c.aspx</link><pubDate>Thu, 17 Apr 2008 15:40:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:83352</guid><dc:creator>Marc Rubiño</dc:creator><slash:comments>23</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/mrubino/rsscomments.aspx?PostID=83352</wfw:commentRss><comments>http://geeks.ms/blogs/mrubino/archive/2008/04/17/cerrar-el-formulario-principal-sin-cerrar-la-aplicaci-243-n-c.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;En el foro de MSDN ha habido un pique sano sobre los lenguajes de programación &lt;a class="" title="VB vs C#" href="http://forums.microsoft.com/MSDN-ES/ShowPost.aspx?PostID=3103935&amp;amp;SiteID=11"&gt;VB.Net Vs C#&lt;/a&gt; yo como representante de los de ; quiero responder al reto de poder cerrar el formulario principal de una aplicación Windows sin cerrar la aplicación entera &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;ni ocultar este formulario.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Mi propuesta es:&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Toda aplicación Windows empieza por la función Main() que es la entrada de la aplicación y la encargada de lanzar el formulario principal.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Entonces que pasaría si no abrimos directamente el formulario y solo abrimos el contexto para la aplicación?&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;b&gt;&lt;span style="FONT-SIZE:16pt;COLOR:black;LINE-HEIGHT:140%;FONT-FAMILY:Arial;"&gt;&lt;a href="http://msdn2.microsoft.com/es-es/library/system.windows.forms.applicationcontext(VS.80).aspx"&gt;ApplicationContext&lt;/a&gt; (Clase)&lt;/span&gt;&lt;/b&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Especifica información contextual sobre un subproceso de aplicación. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Espacio de nombres&lt;/b&gt;: System.Windows.Forms&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Primero crearemos la clase que utilizaremos para manejar los formularios&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;a href="http://lonetcamp.com/Community/photos/marckys/picture366.aspx" target="_blank"&gt;&lt;a href="http://geeks.ms/blogs/mrubino/1000.18.366.winForm22.bmp"&gt;&lt;img src="http://geeks.ms/blogs/mrubino/1000.18.366.winForm22.bmp" border="0" alt="" /&gt;&lt;/a&gt;&lt;/a&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;a href="http://lonetcamp.com/Community/photos/marckys/picture365.aspx" target="_blank"&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Lo más importante es que herede de ApplicationContext para poderla utilizar para arrancar la aplicación.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Crearemos un par de formularios para demostrar la funcionalidad.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;a href="http://lonetcamp.com/Community/photos/marckys/picture367.aspx" target="_blank"&gt;&lt;a href="http://geeks.ms/blogs/mrubino/1000.18.367.winForm3.bmp"&gt;&lt;img src="http://geeks.ms/blogs/mrubino/1000.18.367.winForm3.bmp" border="0" alt="" /&gt;&lt;/a&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Finalmente en la entrada de la la aplicación utilizaremos nuestra clase personalizada.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;a href="http://lonetcamp.com/Community/photos/marckys/picture365.aspx" target="_blank"&gt;&lt;a href="http://geeks.ms/blogs/mrubino/1000.18.365.winForm1.bmp"&gt;&lt;img src="http://geeks.ms/blogs/mrubino/1000.18.365.winForm1.bmp" border="0" alt="" /&gt;&lt;/a&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Y ya podemos cerrar los formularios que queramos que la aplicación sigue funcionando. Solo nos quedaría mejorar nuestra clase para saber si tenemos todos los formularios cerrados terminar con la aplicación.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Os adjunto el ejemplo y espero el siguiente reto de los de VB ;-).&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;a href="http://lonetcamp.com/Community/files/folders/marckys/entry369.aspx" target="_blank"&gt;Reto Foro MSDN&lt;/a&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Saludos.&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=83352" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/mrubino/archive/tags/c_2300_/default.aspx">c#</category><category domain="http://geeks.ms/blogs/mrubino/archive/tags/WinForms/default.aspx">WinForms</category></item><item><title>CrossTabs "Dinamic Pivot"</title><link>http://geeks.ms/blogs/mrubino/archive/2007/12/04/crosstabs-quot-dinamic-pivot-quot.aspx</link><pubDate>Tue, 04 Dec 2007 14:30:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:54687</guid><dc:creator>Marc Rubiño</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/mrubino/rsscomments.aspx?PostID=54687</wfw:commentRss><comments>http://geeks.ms/blogs/mrubino/archive/2007/12/04/crosstabs-quot-dinamic-pivot-quot.aspx#comments</comments><description>&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Si trabajáis normalmente con datos seguro que habéis necesitado crear alguna vez una consulta que devuelva una tabla con datos cruzados &amp;quot;Transformar filas en Columnas&amp;quot;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;En SQL 2005 tenemos una función llamada PIVOT que intenta recuperar la funcionalidad de MS Access TRANSFORM pero nos encontramos con un gran inconveniente, tenemos que conocer el nombre de las nuevas columnas que queremos recuperar.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&amp;nbsp;Por ejemplo tenemos este código sacado de un artículo de &lt;a title="PIVOT SQL2005" href="http://www.elguille.info/colabora/NET2006/sebaconte_Pivot_SQL2005.htm" target="_blank"&gt;Sebastian Contente...&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:Arial;"&gt;SELECT&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt; Vendedor,isnull(&lt;strong&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;[Perfumes],&lt;/span&gt;&lt;/strong&gt;0) &lt;span style="COLOR:blue;"&gt;as&lt;/span&gt; Cremas ,isnull(&lt;strong&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;[Desodorantes],&lt;/span&gt;&lt;/strong&gt;0) &lt;span style="COLOR:blue;"&gt;as&lt;/span&gt; Desodorantes, &lt;br /&gt;isnull([Cremas],0) &lt;span style="COLOR:blue;"&gt;as&lt;/span&gt; Perfumes&lt;br /&gt;&lt;span style="COLOR:green;"&gt;/*Select que define como se mostraran los tados y por que columna se agrupara (Vendedor)*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR:blue;"&gt;FROM&lt;/span&gt;&lt;br /&gt;(&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;... &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;) po&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR:green;"&gt;/*Origen de los Datos*/&lt;/span&gt;&lt;br /&gt;PIVOT&lt;br /&gt;(&lt;br /&gt;SUM(cantidad) &lt;br /&gt;&lt;span style="COLOR:blue;"&gt;FOR&lt;/span&gt; Rubro &lt;span style="COLOR:blue;"&gt;IN&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ([Cremas] , [Perfumes] , [DEsodorantes])&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) &lt;span style="COLOR:blue;"&gt;AS&lt;/span&gt; PVT&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Podéis comprobar&amp;nbsp; que&amp;nbsp;utiliza PIVOT para recuperar tres nuevas columnas por cada tipo de producto y&amp;nbsp; filtrado por vendedor sumando la cantidad a mostrar.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Pero Claro Tenemos que saber que existen estos registros para formar las nuevas columnas!!! &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Que opciones tenemos para poder generar estas nuevas columnas dinámicamente?, bueno por Internet podemos encontrar varias formas y os recomiendo personalmente este artículo para sacarnos de dudas.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:#223355;FONT-FAMILY:Arial;"&gt;&lt;a title="PIVOT SQL" href="http://weblogs.sqlteam.com/jeffs/articles/5120.aspx" target="_blank"&gt;Dynamic SQL CrossTab Stored Procedure&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; 
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;a title="PIVOT c#" href="http://weblogs.sqlteam.com/jeffs/articles/5091.aspx" target="_blank"&gt;PIVOT con una función en C#&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Este crack hasta ha hecho una aplicación para probar el rendimiento de las dos opciones y ha sacado esta conclusión.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:navy;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;Beginning performance test for crosstab techniques.&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:navy;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;Please enter the # of iterations to perform:&lt;br /&gt;75&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:navy;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;Testing dynamic SQL crosstab procedure....&lt;br /&gt;-- &lt;strong&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;Result: 25 seconds.&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:navy;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;Testing static SQL crosstab procedure....&lt;br /&gt;-- Result: 22 seconds.&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:navy;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;Testing C# crosstab transformation....&lt;br /&gt;-- &lt;strong&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;Result: 8 seconds.&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:navy;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;Testing complete.&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:navy;FONT-FAMILY:Arial;"&gt;&lt;a title="Pivot Test" href="http://weblogs.sqlteam.com/jeffs/archive/2005/05/12/5127.aspx" target="_blank"&gt;Artículo completo...&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Esta clarísimo cual es la forma más óptima para poder utilizar Crosstabs en nuestras aplicaciones y con un par de cambios podemos poner la función en nuestro DAL para reutilizarla fácilmente.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Bueno en definitiva si podéis pasaros por &lt;span style="COLOR:#0066a4;"&gt;&lt;a href="http://weblogs.sqlteam.com/jeffs/Default.aspx" target="_blank"&gt;Jeff&amp;#39;s SQL Server Blog&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:black;"&gt; que es totalmente recomendable.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Arial;"&gt;Saludos.&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;CrossPosting de &lt;a href="http://www.lonetcamp.com/"&gt;http://www.lonetcamp.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=54687" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/mrubino/archive/tags/c_2300_/default.aspx">c#</category><category domain="http://geeks.ms/blogs/mrubino/archive/tags/Ado.net/default.aspx">Ado.net</category><category domain="http://geeks.ms/blogs/mrubino/archive/tags/sql+2005/default.aspx">sql 2005</category></item><item><title>Custom Control I</title><link>http://geeks.ms/blogs/mrubino/archive/2007/09/19/custom-control-i.aspx</link><pubDate>Wed, 19 Sep 2007 08:52:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:35675</guid><dc:creator>Marc Rubiño</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/mrubino/rsscomments.aspx?PostID=35675</wfw:commentRss><comments>http://geeks.ms/blogs/mrubino/archive/2007/09/19/custom-control-i.aspx#comments</comments><description>&lt;font size="2"&gt;&lt;font face="Times New Roman" size="3"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Me da la sensación que estamos muy acostumbrados a buscar recursos en Internet&amp;nbsp; y no pararnos a pensar que a veces no están complicado adaptar los controles existentes a nuestras necesidades. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Basándome en esta suposición publicare un par de artículos para explicar como crear un control personalizado&amp;nbsp; que he necesitado en un proyecto.&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Al final publicare el proyecto para que podáis probar.&lt;/span&gt;&lt;/p&gt;
&lt;h3 style="MARGIN:auto 0cm;"&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;El control.&lt;/span&gt;&lt;/h3&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Para una aplicación de reservas por Internet necesitábamos tener un calendario lo suficientemente adaptable para su reutilización.&lt;br /&gt;Por ejemplo el uso de dos calendarios “el típico desde hasta” o el uso de n calendarios para entrar un rango de Temporadas.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://lonetcamp.com/Community/photos/marckys/picture84.aspx" target="_blank"&gt;&lt;a href="http://geeks.ms/blogs/mrubino/1000.18.84.cal.bmp"&gt;&lt;img src="http://geeks.ms/blogs/mrubino/1000.18.84.cal.bmp" border="0" alt="" /&gt;&lt;/a&gt;&lt;/a&gt; &lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Primero crearé un proyecto Web para probar el control en su salsa y después crearé un proyecto de clases para el control personalizado.&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&lt;a href="http://lonetcamp.com/Community/photos/marckys/picture85.aspx" target="_blank"&gt;&lt;a href="http://geeks.ms/blogs/mrubino/1000.18.85.proyecto.bmp"&gt;&lt;img src="http://geeks.ms/blogs/mrubino/1000.18.85.proyecto.bmp" border="0" alt="" /&gt;&lt;/a&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Crearemos una nueva clase llamada Acicalendar que nos servirá para nuestro nuevo control.&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;[&lt;span style="COLOR:#2b91af;"&gt;ToolboxData&lt;/span&gt;(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;&amp;lt;{0}:AciCalendar runat=server&amp;gt;&amp;lt;/{0}:AciCalendar&amp;gt;&amp;quot;&lt;/span&gt;)]&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="COLOR:blue;"&gt;class&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;AciCalendar&lt;/span&gt; : &lt;span style="COLOR:#2b91af;"&gt;CompositeControl&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Como crearemos un control compuesto&amp;nbsp;por más de un control y no unos basaremos en un control en concreto&amp;nbsp;heredaremos de CompositeControl que implementa la configuración básica requerida por los controles Web que contienen controles secundarios.&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;span style="COLOR:blue;"&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;&amp;nbsp;public&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;&lt;font color="#000000"&gt; abstract &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;class&lt;/span&gt;&lt;font color="#000000"&gt; CompositeControl : WebControl, INamingContainer, ICompositeControlDesignerAccessor&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&lt;font face="Times New Roman" size="3"&gt;
&lt;ul&gt;
&lt;ul style="MARGIN-TOP:0cm;"&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l1 level1 lfo2;tab-stops:list 36.0pt;"&gt;&lt;span&gt;&lt;strong&gt;WebControl:&lt;/strong&gt; proporciona las propiedades, métodos y eventos que comparten todos los controles de servidor Web.&lt;/span&gt; 
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l1 level1 lfo2;tab-stops:list 36.0pt;"&gt;&lt;span&gt;&lt;strong&gt;INamingContainer:&lt;/strong&gt; Cualquier control que implemente esta interfaz, crea un nuevo espacio de nombres en el cual se garantiza que todos los atributos del Id. de controles secundarios son únicos dentro de una aplicación.&lt;/span&gt; 
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l1 level1 lfo2;tab-stops:list 36.0pt;"&gt;&lt;span&gt;&lt;strong&gt;ICompositeControlDesignerAccessor:&lt;/strong&gt;&amp;nbsp;Proporciona una interfaz para permitir a un diseñador de controles compuestos volver a crear los controles secundarios de su control asociado en tiempo de diseño llamando&amp;nbsp;al método&amp;nbsp;RecreateChildControls del control en tiempo de diseño. El diseñador asociado debe derivar de CompositeControlDesigner.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l1 level1 lfo2;tab-stops:list 36.0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Nuestro control estará formado por:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-layout-grid-align:none;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;List&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;span style="COLOR:#2b91af;"&gt;Calendar&lt;/span&gt;&amp;gt; &lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;strong&gt;LCalendarios&lt;/strong&gt;&lt;/span&gt;: Una lista&amp;nbsp;de Calendarios para tener un número ilimitado de calendarios contenidos en el control.&lt;/span&gt;&lt;/div&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-layout-grid-align:none;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;LinkButton&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;strong&gt;lAnterior&lt;/strong&gt;&lt;/span&gt;: &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Link para mover los calendarios para los meses anteriores.&lt;/span&gt;&lt;/div&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-layout-grid-align:none;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;ImageButton&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;strong&gt;ImAnterior&lt;/strong&gt;&lt;/span&gt;: &lt;/span&gt;Podremos elegir entre el link o una imagen para mover los calendarios a los meses anteriores.&lt;/div&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-layout-grid-align:none;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;Label&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;strong&gt;lTitulo:&lt;/strong&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Título que mostrará el control.&lt;/span&gt;&lt;/div&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-layout-grid-align:none;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;LinkButton&lt;/span&gt;&lt;span&gt; &lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;strong&gt;lSiguiente&lt;/strong&gt;&lt;/span&gt;: Link para mover los calendarios para los meses siguientes.&lt;/span&gt;&lt;/div&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-layout-grid-align:none;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;ImageButton&lt;/span&gt;&lt;span&gt; &lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;strong&gt;ImSiguiente&lt;/strong&gt;&lt;/span&gt;: como antes podemos elegir entre un link o una imagen para navegar entre los calendarios.&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Una vez que tenemos la clase preparada&amp;nbsp;podemos empezar a crear nuestro control, para eso sobrescribimos el método &lt;strong&gt;CreateChildControls &lt;/strong&gt;que es el encargado de crear los controles contenidos por el nuestro.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Controls.Clear();&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#region&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; Variables&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;lTitulo = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;Label&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lSiguiente = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;LinkButton&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ImSiguiente = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;ImageButton&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lAnterior = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;LinkButton&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ImAnterior = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;ImageButton&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LCalendarios = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR:#2b91af;"&gt;Calendar&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;#endregion&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; Variables&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Como podéis comprobar lo primero que hacemos es limpiar la colección de controles secundarios e instanciar los nuevos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Seguidamente comenzamos con la navegación&amp;nbsp; y el título del control.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;#region&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; Título&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;lTitulo.Text = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Titulo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;lAnterior.Text = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.TxtAnterior;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;lAnterior.Click += &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;EventHandler&lt;/span&gt;(lAnterior_Click);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;ImAnterior.ImageUrl = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.ImgAnterior;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;ImAnterior.ImageAlign = &lt;span style="COLOR:#2b91af;"&gt;ImageAlign&lt;/span&gt;.Baseline;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;ImAnterior.Click += &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;ImageClickEventHandler&lt;/span&gt;(ImgAnterior_Click);&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;lSiguiente.Text = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.TxtSiguiente;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;lSiguiente.Click += &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;EventHandler&lt;/span&gt;(lSiguiente_Click);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;ImSiguiente.ImageUrl = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.ImgSiguiente;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;ImSiguiente.ImageAlign = &lt;span style="COLOR:#2b91af;"&gt;ImageAlign&lt;/span&gt;.Baseline;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;ImSiguiente.Click += &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;ImageClickEventHandler&lt;/span&gt;(ImgSiguiente_Click);&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;#endregion&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; Título&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Dos cosas destacan de este código, la primera es que utilizaremos propiedades que veremos más adelante&amp;nbsp;para formatear nuestros controles secundarios.&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;lTitulo.Text = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Titulo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Y la segunda es que enlazamos el evento Click del control secundario a un evento&amp;nbsp;del control.&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;lAnterior.Click += &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;EventHandler&lt;/span&gt;(lAnterior_Click);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Porque tenemos que hacer esto???&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;[&lt;span style="COLOR:#2b91af;"&gt;Category&lt;/span&gt;(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;AciCalendar&amp;quot;&lt;/span&gt;)]&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;[&lt;span style="COLOR:#2b91af;"&gt;Description&lt;/span&gt;(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;Evento de anterior posterior mes.&amp;quot;&lt;/span&gt;)]&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="COLOR:blue;"&gt;event&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;EventHandler&lt;/span&gt; MonthChanged;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;protected&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="COLOR:blue;"&gt;void&lt;/span&gt; OnMonthChanged(&lt;span style="COLOR:#2b91af;"&gt;EventArgs&lt;/span&gt; e)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (MonthChanged != &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MonthChanged(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;, e);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;private&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="COLOR:blue;"&gt;void&lt;/span&gt; lSiguiente_Click(&lt;span style="COLOR:blue;"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR:#2b91af;"&gt;EventArgs&lt;/span&gt; e)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.FechaInicial = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.FechaInicial.AddMonths(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Calendarios);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;CargarCalendarios();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:green;"&gt;//lanzamos el evento del control&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;OnMonthChanged(&lt;span style="COLOR:#2b91af;"&gt;EventArgs&lt;/span&gt;.Empty);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Como&amp;nbsp;NO tenemos acceso directo a los eventos generados por los controles secundarios, tenemos dos opciones o hacer que estos eventos se propaguen a nuestro control o crear un evento nuevo en el control que sea lanzado por&amp;nbsp;el evento de un control secundario. Uff!!&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;mso-ansi-language:ES;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:ES;mso-bidi-language:AR-SA;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;En este caso he creado un evento nuevo &lt;b&gt;MonthChanged&lt;/b&gt;&amp;nbsp;que es lanzado cuando se hace&amp;nbsp;&lt;b&gt;Click&lt;/b&gt; en el link Siguiente. De esta forma podemos controlar cuando el usuario hace click en nuestro control para&amp;nbsp;avanzar los meses necesarios en nuestro control.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;private&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="COLOR:blue;"&gt;void&lt;/span&gt; lSiguiente_Click(&lt;span style="COLOR:blue;"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR:#2b91af;"&gt;EventArgs&lt;/span&gt; e)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:green;"&gt;//lanzamos el evento del control&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;OnMonthChanged(&lt;span style="COLOR:#2b91af;"&gt;EventArgs&lt;/span&gt;.Empty);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Ahora seguimos con la creación de los&amp;nbsp;controles secundarios ;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;#region&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; Calendarios&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; col = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Calendarios / &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Filas;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; mes = 0;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;for&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; (&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; y = 0; y &amp;lt; &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Filas; y++)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;for&lt;/span&gt; (&lt;span style="COLOR:blue;"&gt;int&lt;/span&gt; x = 0; x &amp;lt; col; x++, mes++)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#region&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; calendario&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;Calendar&lt;/span&gt; cal = &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;Calendar&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.ShowNextPrevMonth = &lt;span style="COLOR:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.VisibleDate = FechaInicial.AddMonths(mes);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.SelectionChanged += &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;EventHandler&lt;/span&gt;(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.cal_SelectionChanged);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.DayRender += &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;DayRenderEventHandler&lt;/span&gt;(cal_DayRender);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;CargarFechas(cal);&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:green;"&gt;//le aplicamos los estilos.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.CssClass = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.CssCalendario;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.SelectorStyle.CopyFrom(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.SelectorStyle);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.DayHeaderStyle.CopyFrom(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.DayHeaderStyle);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.WeekendDayStyle.CopyFrom(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.WeekendDayStyle);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.TodayDayStyle.CopyFrom(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.TodayDayStyle);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.SelectedDayStyle.CopyFrom(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.SelectedDayStyle);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.TitleStyle.CopyFrom(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.TitleStyle);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.DayStyle.CopyFrom(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.DayStyle);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.OtherMonthDayStyle.CopyFrom(&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.OtherMonthDayStyle);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.SelectionMode = &lt;span style="COLOR:#2b91af;"&gt;CalendarSelectionMode&lt;/span&gt;.DayWeekMonth;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.SelectedDayStyle.BackColor = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.ColorFondo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;cal.SelectedDayStyle.ForeColor = &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.ColorTexto;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LCalendarios.Add(cal);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.Controls.Add(cal);&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;#endregion&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; calendario&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;#endregion&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; calendarios&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#dddddd;MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;.Controls.Add(lAnterior);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#dddddd;MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;.Controls.Add(ImAnterior);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#dddddd;MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;.Controls.Add(lTitulo);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#dddddd;MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;.Controls.Add(lSiguiente);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#dddddd;MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;this&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;.Controls.Add(ImSiguiente);&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN;mso-no-proof:yes;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:ES;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="BACKGROUND:#e0e0e0;MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Como podéis comprobar podemos elegir el Nº de columnas y el Nº de filas que queramos que utilice el control y el Nº total de calendarios a repartir.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Entonces creará los calendarios necesarios, le enlaza los eventos &lt;b&gt;SelectionChanged,&lt;/b&gt; &lt;b&gt;DayRender&lt;/b&gt; y establecerá propiedades y estilos para los controles.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Finalmente agregará el calendario a la lista de calendarios y también&amp;nbsp;a la colección de controles secundarios de nuestro control.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Bueno ya tenemos la base de nuestro control creado con esto, espero que os esté interesando el tema y no os haya aburrido demasiado.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Verdana;"&gt;Dejaremos la parte final del proyecto para el siguiente artículo espero veros.&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;**CrossPosting dede www.lonetcamp.com **&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=35675" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/mrubino/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://geeks.ms/blogs/mrubino/archive/tags/c_2300_/default.aspx">c#</category></item><item><title>Nuevo vecino en la Comunidad !!!</title><link>http://geeks.ms/blogs/mrubino/archive/2007/08/02/nuevo-vecino-en-la-comunidad.aspx</link><pubDate>Thu, 02 Aug 2007 20:34:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:25097</guid><dc:creator>Marc Rubiño</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/mrubino/rsscomments.aspx?PostID=25097</wfw:commentRss><comments>http://geeks.ms/blogs/mrubino/archive/2007/08/02/nuevo-vecino-en-la-comunidad.aspx#comments</comments><description>&lt;p&gt;En realidad no soy tan nuevo &lt;img src="http://geeks.ms/emoticons/emotion-5.gif" alt="Wink" /&gt; pero hasta ahora no me había planteado la posibilidad de tener mi propio rinconcito.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Pero bueno, todas las aportaciones al conocimiento común espero que sean bien acogidas por todos.&lt;/p&gt;
&lt;p&gt;Para empezar y para que podáis conocerme un poquito mejor os dejo un par de links a unos artículos que publiqué en &lt;a class="" href="http://www.elguille.info/"&gt;elguille&lt;/a&gt;&amp;nbsp;y que espero que aún sean útiles para todos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;h4&gt;&lt;a class="" href="http://www.elguille.info/colabora/NET2006/Marckys_BarCode.htm"&gt;Código de Barras&lt;/a&gt;&lt;/h4&gt;&lt;b&gt;Creación&amp;nbsp;e Impresión de&amp;nbsp;Código de Barras utilizando Fuentes Personalizadas ( True Type )&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;
&lt;h4&gt;&lt;a class="" href="http://www.elguille.info/colabora/NET2005/Marckys_DropDownList.htm"&gt;Tooltip&amp;nbsp;para un DropDownList&lt;/a&gt;&lt;/h4&gt;&lt;b&gt;Mostrar el Texto largo de un control DropDownList&lt;/b&gt; &lt;/strong&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Bueno espero veros pronto&amp;nbsp;a todos por este sitio.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=25097" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/mrubino/archive/tags/javascript/default.aspx">javascript</category><category domain="http://geeks.ms/blogs/mrubino/archive/tags/true+type/default.aspx">true type</category><category domain="http://geeks.ms/blogs/mrubino/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://geeks.ms/blogs/mrubino/archive/tags/c_2300_/default.aspx">c#</category></item></channel></rss>