miércoles, 5 de febrero de 2014

Ejercicio C# No. 2.8

Tabla de Contenido

1. Planteamiento
2. Solución
3. Discusión
4. Código Fuente C#
5. Compilación, Ejecución y Resultado
Glosario
Enlaces & Literatura

1. Planteamiento

En la Figura 1 se incluye el planteamiento del problema original (en inglés) del Ejercicio 2.8.
Ejercicio 2.8 C#
Figura 1. Planteamiento problema Ejercicio 2.8 [1].

2. Solución

En el Ejercicio 2.7 aprendimos a crear un formulario de forma programática a través del uso de la clase Form [2]. Las operaciones básicas constieron en la herencia de la clase mencionado, la especificación de un título al formulario [3], especificación de las dimensiones del formulario [4], y la especificación del identificador para el objeto [5], entre otras manipulaciones. Varias de estas propiedades también fueron aplicadas a las demás instancias de los objetos de tipo: 
  • Label [6],
  • MonthCalendar [7], y 
  • RichTextBox [8].

3. Discusión de la Solución

De nuevo, esta solución sólo consiste en un archivo de código fuente C#. La composición de todo el código fuente se generó de manera manual (como un artesano-programador). Esto con el fin de entender mejor los conceptos que integran una solución gráfica en C#. Se recurrió a la biblioteca de consulta MSDN para conocer a fondo las propiedades, métodos, constructores de las clases utilizadas para construir la interfaz de usuario que se requiere (ver Figura 1).

Continuando, decidí fragmentar (modular, si prefieren) las sentencias de acuerdo a su tarea en métodos de construcción de los elementos gráficos, por ejemplo:
  • CreateCalendarLabel
  • CreateMonthCalendar
  • CreateAppointmentsLabel, y
  • CreateRichTextBox
Estos métodos son invocados desde el método InitializeComponent que a su vez es llamado desde el constructor sin argumentos CalendarAndAppointmentsGUIApp.

Además recurrí a la agrupación lógica islas de código #region [9] para ordenar por cometidos cada sección del código.

4. Código Fuente C#

Archivo CalendarAndAppointmentsGUIApp.cs:

5. Compilación, Ejecución y Resultado

Vamos a compilar este archivo usando los siguientes comandos desde la línea de comandos para el compilador de C# (csc.exe):

  1. csc /target:winexe /out:CalendarAndAppointmentsGUIApp.exe CalendarAndAppointmentsGUIApp.cs

  1. CalendarAndAppointmentsGUIApp.exe

Cuando ejecutemos estos dos comandos, en pantalla obtendremos algo similar a:
Salida de la solución del Ejercicio 2.8 en C#.
Figura 2. Salida de la solución del Ejercicio 2.8 en C#.

Conclusiones

La ejercitación a través de la solución de este problema, nos ha resultado en la comprensión del uso de nuevos componentes gráficos, específicamente, MonthCalendar. También volvimos a manipular etiquetas (Label), pero esta vez agregarmos otras propiedades para cambiar la apariencia del fondo, y el alineamiento. La artesanía o confección manual del código es contundente para el entendimiento de la especificación del lenguaje de programación C#.

Glosario

- ContentAlignment
- MonthCalendar

Enlaces & Literatura

[1]: Visual C# 2012 How To Programa by Paul Deitel and Harvey Deitel. Copyright 2012 Deitel & Associates, Inc., 978-0-13-337933-4.
[2]: Form Class (System.Windows.Forms) - http://msdn.microsoft.com/en-us/library/system.windows.forms.form.aspx
[3]: Form.Text Property (System.Windows.Forms) - http://msdn.microsoft.com/en-us/library/ms159419.aspx
[4]: Form.Size Property (System.Windows.Forms) - http://msdn.microsoft.com/en-us/library/25w4thew.aspx
[5]: Control.Name Property (System.Windows.Forms) - http://msdn.microsoft.com/en-us/library/system.windows.forms.control.name.aspx
[6]: Label Class (System.Windows.Forms) - http://msdn.microsoft.com/en-us/library/system.windows.forms.label.aspx
[7]: MonthCalendar Class (System.Windows.Forms) - http://msdn.microsoft.com/en-us/library/system.windows.forms.monthcalendar%28v=vs.110%29.aspx
[8]: RichTextBox Class (System.Windows.Forms) - http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox.aspx
[9]: #region (C# Reference) - http://msdn.microsoft.com/en-us/library/9a1ybwek.aspx


O

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.