Tabla de Contenido
1. Planteamiento del Problema2. Solución
3. Discusión de la Solución
4. Código Fuente C#
5. Compilación, Ejecución y Resultado
6. Conclusiones
7. Glosario
8. Enlaces & Literatura
1. Planteamiento
En la Figura 1 se muestra el planteamiento original (en inglés) sobre [1]:
Figura 1. Planteamiento Ejercicio No. 2.10 en C#: Despertador [1]. |
2. Solución
La composición de la interfaz de usuario (GUI) propuesta en la Figura 1 requiere del uso de los siguientes controles visuales:
- Button,
- GroupBox [2]
- Label, y
- RadioButton [3]
GroupBox es uno de los nuevos controles tratados en este ejercicio. Con este control créamos un contenedor (similiar a un control Panel) que posee un borde en donde el programador puede especificar un título (en el caso particular 'AM/PM').
Por otro lado, tenemo a RadioButton que nos sirve para crear una selección exclusiva entre un conjunto de opciones (o AM, o PM, exclusivamente).
3. Discusión de la Solución
Debido a la novedad de GroupBox y RadioButton, a continuación describeré algunas de las propiedades elementales de estos controles contenidos en el nombre de espacio (namespace) System.Windows.Forms.
3.1 GroupBox
Como fue dicho previamente el control GroupBox nos ha de servir como contenedor de controles. Podríamos verle como un organizador para facilitar la distribución y agrupación de elementos intrínsecamente relacionados sobre un control Form o Panel (discutido en el ejercicio previo: Ejercicio No. 2.9). Nos permite especificar una cadena de caracteres para el encabazado de la esquina superior derecha:
gbxAmPm.Text = "AM/PM";
como también su ubicación (centro geométrico del formulario), el nombre del control, el tamaño:
gbxAmPm.Location = new Point(170, 51);
gbxAmPm.Name = "gbxAmPm";
gbxAmPm.Size = new Size(100, 50);
, respectivamente.
Cuando pasemos a la sección 5, veremos que el control queda dibujado así:
Figura 2. GroupBox sobre el formulario. |
3.2 RadioButton
Con RadioButton podemos crear un grupo de opciones para modelar la operación de selección exclusiva (XOR [5]) para el caso de nuestro ejercicio corresponde con la selección de AM o PM. En la Figura 2 quedan dibujados las opciones previas.
4. Código Fuente C#
A continuación se enlista el código fuente C# que representa la solución práctica:
5. Compilación, Ejecución y Resultado
Compilemos nuestro archivo AlarmClockGUI.cs así:
Ahora su ejecución,
Y finalmente su resultado en tiempo de ejecución:
[Nota: La imagen de la Figura 3 aparece con el motor Aero [5] deshabilitado.]
- csc /target:winexe /out:AlarmClockGUI.exe AlarmClock.cs
Ahora su ejecución,
- .\AlarmClockGUI.exe
Y finalmente su resultado en tiempo de ejecución:
Figura 3. Ejecución de AlarmClockGUI. |
[Nota: La imagen de la Figura 3 aparece con el motor Aero [5] deshabilitado.]
Conclusiones
En esta ocasión tuvimos la oportunidad de aprender y afianzar nuestro conocimiento y práctica sobre la compisición de interfaces gráficas útilizando únicamente un editor de texto plano (Notepad++) con impresora estética para el lenguaje de programación C#. Pero sobretodo, pudimos reconocer la utilidad y aplicación de los controles GroupBox (expresa un contenedor) y RadioButton.
Glosario
- GroupBox- RadioButton
Enlaces & Literatura
[1]: Visual C# 2012 How to Program by Paul Deitel and Harvey Deitel. Copyright 2012 Deitel & Associates, Inc., 978-0-13-337933-4.[2]: GroupBox Class (System.Windows.Controls) - http://msdn.microsoft.com/en-us/library/system.windows.controls.groupbox%28v=vs.110%29.aspx
[3]: RadioButton Class (System.Windows.Forms) - http://msdn.microsoft.com/en-us/library/system.windows.forms.radiobutton.aspx
[4]: Exclusive or, the free encyclopedia - https://en.wikipedia.org/wiki/Exclusive_or
[5]: Windows Aero, the free encyclopedia - https://en.wikipedia.org/wiki/Windows_Aero
O
Se agradece los aportes muy bien explicados, veo que la mayoria de ejercicios no tienen enlace para ver el codigo fuente
ResponderEliminarHola Brian:
ResponderEliminarGracias por tu comentario. Estoy realizando una migración (de manera incremental) a un nuevo proveedor de visualización de código fuente (pastebin.com, precisamente). El viejo proveedor tiene algunos problemas de compatibilidad con algunos navegadores (en particular Chrome e Internet Explorer). Con Firefox funciona correctamente.
He actualizado este post para que lo puedas ver correctamente en cualquier navegador.
Saludos desde Bogotá D.C.
Muchas gracias por la actualización.
ResponderEliminar