sábado, 5 de abril de 2014

Ejemplo usando cuadros de diálogos comunes



Ejemplo 30 

La última demostración de éste capítulo enseña cómo mejorar la interface de una aplicación Windows, trabajando con formularios MDI, menús, barras de herramientas, barras de estado y usando diálogos comunes de Windows. 
El ejemplo trata sobre un editor de documentos similar al Wordpad, pero con funciones básicas. 
Este ejemplo trabaja con dos formularios; el primero es un formulario MDI padre que tiene un menú principal, barra de herramientas y barra de estado; el segundo formulario es la base para crear formularios MDI hijos que representan un documento donde pueda escribir textos enriquecidos. 
Esta demostración es la más completa hasta el momento de la primera parte de esta serie de tutoriales y tendrá que tener paciencia para terminarla. 
A continuación describimos los pasos a realizar para la demostración: 

1. Crear una Aplicación Windows en Visual Basic .NET llamada Ejemplo30. EL IDE a utilizar es Microsoft Visual Studio 2012.



2. En la ventana del explorador de soluciones seleccionar el archivo Form1 y en la ventana de propiedades cambiar la propiedad FileName a frmEditor.



3. En el diseñador de formularios Windows, arrastrar 1 control MenuStrip, 1 ToolStrip, 1 StatusStrip, 1 OpenFileDialog, 1 SaveFileDialog, 1 ColorDialog, 1 FontDialog, y 1 Timer, luego configurar las propiedades, tal como se muestra en la siguiente tabla : 


Objeto Propiedad Valor
Form1 Name frmEditor
IsMdiContainer True
MinimizeBox False
Size Width=450, Height=310
Text Editor de Documentos v 1.0
WindowState Maximized
MenuStrip1Name mnuPrincipal
OpenFileDialog1Name ofdEditor
SaveFileDialog1 Name sfdEditor
ColorDialog1Name cdgEditor
FontDialog1 Name fdgEditor
Timer1Name tmrHora



4. Seleccione el control MenuStrip y en la parte superior donde dice "Escriba aquí", escriba directamente los textos del menú y configure sus propiedades, tal como se muestra en la siguiente tabla :


Objeto Propiedad Valor
Menultem1Name mnuArchivo
Text &Archivo
Menultem11Name mnuNuevo
ShortCutKeys Ctrl + N
Text &Nuevo
Menultem12 Name mnuAbrir
ShortCutKeys Ctrl + A
Text &Abrir
Menultem13 Name mnuGuardar
ShortCutKeys Ctrl + G
Text &Guardar
Menultem14 Name mnuLineal
Text -
Menultem15 Name mnuSalir
ShortCutKeys Ctrl + S
Text &Salir
Menultem2 Name mnuEdicion
Text &Edición
Menultem21 Name mnuCopiar
ShortCutKeys Ctrl + C
Text &Copiar
Menultem22 Name mnuCortar
ShortCutKeys Ctrl + X
Text Co&rtar
MenuItem23 Name mnuPegar
ShortCutKeys Ctrl + V
Text &Pegar
Menultem3 Name mnuForrnato
Text &Formato
MenuItem31 Name mnuFuente
Text Fuente
MenuItem32 Name mnuFondo
Text Color de Fondo
Menultem4 Name mnuUtilitarios
Text &Utilitarios
Menultem41 Name mnuWindows
Text Windows
MenuItem411 Name mnuCalculadora
Text Calculadora
MenuItem412 Name mnuBloc
Text Bloc de Notas
MenuItem413 Name mnuExplorador
Text Explorador
Menultem42 Name mnuOffice
Text Office
Menultem421 Name mnuWord
Text Word
MenuItem422 Name mnuExcel
Text Excel
MenuItem423 Name mnuInternet
Text Internet Explorer
MenuItern5 Name mnuVentana
Text &Ventana
MenuItem51 Name mnuCascada
MergeIndex 0
Text Cascada
Menultem52 Name mnuMHorizontal
MergeIndex 1
Text Mosaico Horizontal
MenuItem53 Name mnuMVertical
MergeIndex 2
Text Mosaico Vertical
MenuItem54 Name mnuOlconos
MergeIndex 3
Text Organizar Iconos
Menultem6 Name mnuListar
Text Listar Ventanas
mnuPrincipalMdiWindowListItemmnuListar



5. Seleccione el control ToolStrip y cambie la propiedad name a tbrEditor, luego clic al botón abrir diálogo de la propiedad Items y añadir 9 botones. Finalmente configurar sus propiedades tal como se muestra en la siguiente tabla:


Objeto Propiedad Valor
ToolStripButton1 Name tbbNuevo
Image Nuevo.png
ToolTipText Nuevo
Tag Nuevo
ToolStripButton2 Name tbbAbrir
Image Abrir.png
ToolTipText Abrir
Tag Abrir
ToolStripButton3 Name tbbGuardar
Image Guardar.png
ToolTipText Guardar
Tag Guardar
ToolStripSeparator1Name tbbSeparador1
Tag Separator1
ToolStripButton5 Name tbbCopiar
Image Copiar.png
ToolTipText Copiar
Tag Copiar
ToolStripButton6 Name tbbCortar
Image Cortar.png
ToolTipText Cortar
Tag Cortar
ToolStripButton7 Name tbbPegar
Image Pegar.png
ToolTipText Pegar
Tag Pegar
ToolStripSeparator2Name tbbSeparador2
Tag Separator2
ToolStripButton9 Name tbbSalir
Image Salir.png
ToolTipText Salir
Tag Salir


6. Seleccione el control StatusStrip y clic al botón de abrir diálogo de la propiedad Items, luego añadir 3 StatusLabel y configurar sus propiedades, tal como se muestra en la siguiente tabla :


Objeto Propiedad Valor
ToolStripStatusLabel1 Name sbpNombre
TextAlignMiddleLeft
ImageLibro.png
AutoSizeFalse
Text
Size200;17
ToolStripStatusLabel2Name sbpMayuscula
TextAlignMiddleCenter
AutoSizeFalse
Text CAPS
Size200;17
ToolStripStatusLabel3Name sbpFechaHora
Text
TextAlignMiddleCenter
AutoSizeFalse
Size80;17


7. Añadir un segundo formulario; del menú "PROYECTO" elegir "Agregar Windows Forms...", escribir como nombre frrnDocurnento y clic en "Agregar". 


8. Seleccionar el formulario frmDocurnento, arrastrar 1 control ContextMenuStrip y 1 RichTextBox, luego configurar sus propiedades, tal como se muestra en la siguiente tabla: 


Objeto Propiedad Valor
Form1Name frmDocumento
Size Width=300, Height=300
Text
RichTextBox1Name rtbDocumento
Dock Fill


9. Regresar al formulario frmEditor y en la ventana explorador de soluciones dar clic en el botón "Ver Código".


10. Definir una variable entera a nivel del formulario llamada intNumDoc, debajo de la sección "Public Class FrmEditor":


11. Crear un procedimiento de evento IniciarConfiguracion, que maneje el evento "Load" del formulario, tal como se muestra en el siguiente código:


12. Crear un procedimiento de evento NuevoDocumento, que maneje el evento "Click" del menú "mnuNuevo", tal como se muestra en el siguiente código:


13. Crear un procedimiento de evento AbrirDocumento, que maneje el evento "Click" del menú "mnuAbrir", tal como se muestra en el siguiente código:


Nota: Para usar la clase Path debe incluirse el Namespace System.IO, para eso antes de la definición de la clase, incluir la siguiente instrucción: 

14. Crear un procedimiento de evento GuardarDocumento, que maneje el evento "Click" del menú "mnuGuardar", tal como se muestra en el siguiente código:


15. Para finalizar la aplicación, crear un procedimiento de evento Salir, que maneje el evento "Click" del menú "mnuSalir", tal como se muestra en el siguiente código:


16. Crear un procedimiento de evento CopiarTexto, que maneje el evento "Click" del menú "mnuCopiar", tal como se muestra en el siguiente código:


17. Crear un procedimiento de evento CortarTexto, que maneje el evento "Click" del menú "mnuCortar", tal como se muestra en el siguiente código:


18. Crear un procedimiento de evento PegarTexto, que maneje el evento "Click" del menú "mnul'egar", tal como se muestra en el siguiente código:


19. Crear un procedimiento de evento CambiarFuente, que maneje el evento "Click" del menú "mnuFuente", tal como se muestra en el siguiente código:


20. Crear un procedimiento de evento CambiarColorFondo, que maneje el evento "Click" del menú "mnuFondo", tal como se muestra en el siguiente código:


21. Crear varios procedimientos de eventos, que manejen los eventos "Click" de todas las opciones del menú "Utilitarios", tal como se muestra en el siguiente código:


22. Crear un procedimiento de evento PresentarVentanas, que maneje el evento "Click" de todas las opciones del menú "Ventana", tal como se muestra en el siguiente código:


23. Crear un procedimiento de evento MostrarNombre, que maneje el evento "MdiChildActivate" del formulario, tal como se muestra en el siguiente código:


24. Crear un procedimiento de evento VerHora, que maneje el evento "Tick" del timer "tmrHora", tal como se muestra en el siguiente código:


25. Crear un procedimiento de evento EjecutarComando, que maneje el evento "ItemClicked" del ToolStrip "tbrEditor", tal como se muestra en el siguiente código:


26. Configurar frmEditor como el formulario de inicio. Por defecto lo está.

27. Grabar y ejecutar la aplicación pulsando F5.


Sugerencia: Antes de ejecutar la aplicación, podría abrir el WordPad de Windows y crear un par de archivos de texto enriquecido y abrirlos desde la aplicación.

28. Finalmente, proceda a probar todas las opciones del programa, tanto a través del menú como desde la barra de herramientas y observe la información en la barra de estado.


Espero haber ayudado en algo. Adjunto el ejemplo en el siguiente enlace:

Ejemplo30 - Descargar

Hasta la próxima oportunidad!




No hay comentarios:

Publicar un comentario

       

Etiquetas

Academy (23) Accediendo a datos con ADO .NET (31) Acceso a la red (30) Algoritmo (34) Algoritmos en JAVA (2) Ampliación de clases (2) APRENDA A PROGRAMAR COMO SI ESTUVIERA EN PRIMERO - Autores : IKER AGUINAGA (3) APRENDA A PROGRAMAR COMO SI ESTUVIERA EN PRIMERO - Autores : IKER AGUINAGA (10) Aprendiendo a desarrollar en Windows 8 (5) Aprendiendo UML en 24 Horas (Autor : Joseph Schmuller ) (30) Arquitectura (29) Arquitectura del Computador (3) Arquitectura del Computador - Historia de la informática (1) Asignación de direcciones IP (18) Aspectos fundamentales de bases de datos (5) Auditoría de la dirección (2) Auditoría de Sistemas (3) Auditoría Informática - Un enfoque práctico - Mario G . Piattini y Emilio del Peso (7) Avanzado (23) Base de Datos (67) Básico (23) Bios (29) Business Productivity Online Suite - BPOS (3) Capa de Red (22) Capa de Transporte (16) Capítulo 1 - Documentos HTML5 (6) Capítulo 10. API Web Storage (2) Capítulo 11. API IndexedDB (4) Capítulo 12. API File (1) Capítulo 2. Estilos CSS y modelos de caja (7) Capítulo 3. Propiedades CSS3 (4) Capítulo 4. Javascript (6) Capítulo 5. Video y audio (6) Capítulo 6. Formularios y API Forms (8) Capítulo 7. API Canvas (5) Capítulo 8. API Drag and Drop (2) Capítulo 9. API Geolocation (2) CCNA1 v5.0 (195) CCNA1 v6.0 (23) CCNA2 v5.0 (26) CCNA3 v5.0 (25) CCNA4 v5.0 (23) CD-ROM (3) Chapter 1 How does Xamarin.Forms fit in? (7) Chapter 2 Anatomy of an app (5) Cisco (297) Cloud Computing (3) CNNA v5.0 Routing & Switching (216) CNNA v6.0 Routing & Switching (2) Codigo (2) Computadora (32) Configuración (29) Configuración de un sistema operativo de red (21) Control (29) Creación de tipos de datos y tablas (3) Creación y Administración de bases de datos (3) Creando la Interface de la Aplicación Windows (50) Creating Mobile Apps with Xamarin.Forms (13) Cuenta (29) Curso (32) Curso Aprendiendo a Programar (25) Datos (3) Desarrollando en Windows 8 - AVANZADO (2) Desarrollando en Windows 8 - BÁSICO (3) Desarrollando en Windows 8 - INTERMEDIO (2) Desarrollo (2) Desarrollo .Net (21) Desarrollo avanzado de Windows Store Apps usando C# (1) Desarrollo basado en conceptos de Ingeniería de Software para Visual Studio (2) DESARROLLO DE APLICACIONES WINDOWS CON MICROSOFT .NET (37) DESARROLLO DE APLICACIONES WINDOWS CON MICROSOFT .NET (Autor: Luis Dueñas Huaroto) (29) Desarrollo en Microsoft Visual Studio (44) Desarrollo en Microsoft Visual Studio - AVANZADO (15) Desarrollo en Microsoft Visual Studio - BÁSICO (14) Desarrollo en Microsoft Visual Studio - INTERMEDIO (18) Desarrollo en Windows Phone 8 (13) Diagnostico (4) Diagrama (3) Diagramas de actividades (2) Diagramas de colaboraciones (2) Diagramas de secuencias (2) Digital (2) Diplomado (2) Disco (29) Disco Duro (4) Diseño de aplicaciones de Windows 8 en HTML 5 (7) Dispositivos Electrónicos (11) Doctorado (2) Ejemplos (3) Ejemplos de algoritmos (27) El camino hacia el CSS3 (3) El diseño web flexible (6) El elemento de diseño Canvas (3) El enfoque de los sistemas (3) El flujo de un programa (2) El gran libro de HTML5 - CSS3 y Javascript - Autor: Juan Diego Gauchat (55) El principio de organicidad (7) Electrónica (2) Elementos de un sistema (5) Empresas (2) Entrada y salida (4) Entropía y neguentropía (7) Estrategia (2) Estructura de un programa Java (12) Estructuras de almacenamiento (10) Estructuras de control (6) Estructuras de las tablas en SQL Server (2) Estructuras fundamentales de los datos (2) Ethernet (21) Evolución y Familias de los Microprocesadores (15) Exámen (23) Exploración de la red (23) Extensión de clases (4) Facebook (4) Familia Intel (15) Forefront (8) Función (3) Funciones de una red (12) Funciones de una red informática (1) Fundamentos de C# para absolutos principiantes (17) Fundamentos de programación en Java (50) Generaciones de la computadora (5) Gestión (3) Gestión de riesgos - Auditoría de Sistemas (1) GONZALO MARTÍNEZ (1) Grupos Facebook (1) Harvard (29) Historia de las computadoras (11) HTML5 y CSS3 - Autor: Christophe Aubry (99) HTML5 y CSS3 aplicadal texto (7) HTML5 y CSS3 para los formularios (15) Imágenes (2) Implementación de Windows 7 (11) Información (31) Informática (29) Ingeniería (4) Instalar (29) Inteligencia (2) Inteligencia de Negocios con SQL Server (3) Intermedio (23) Internet (29) Internet Explorer 9 (3) Introducción a ASP.NET 5 (8) Introducción a Java (7) Introducción a jQuery (8) Introducción a la Auditoría de Sistemas (2) Introducción a la teoría general de sistemas (Oscar Johansen Bertoglio) (39) Introducción a Networking (2) Introducción a Window Forms (5) Introducción al acceso a datos con ADO .NET (9) Investigación de Operaciones (12) Java (52) Jump Start de consultas en las bases de datos de Microsoft SQL Server 2012 (8) La definición de un Sistema (6) La evolución del HTML y del CSS (3) La nueva sintaxis HTML5 (12) LA QUINTA DISCIPLINA en la práctica (Autor : Peter Senge) (28) Las animaciones en CSS3 (5) Las transformaciones CSS3 (11) Las transiciones con CSS3 (8) Licenciamiento Microsoft (3) Local Area Network (LAN) - Red de Area Local (2) Lógico (2) Los elementos de la estructura en html5 (9) Los elementos multimedia: audio y vídeo (2) Los estilos de caja en CSS3 (13) Los nuevos selectores de CSS3 (6) Maestría (2) Mantenimiento de Mouse y Teclado (2) Manual de Microsoft SQL Server - Full Transact SQL (68) Manual de soporte técnico para escuelas sobre windows 7 (42) Marco Teorico de Investigación de Operaciones (6) Medios de Almacenamiento (11) Medios de Networking (2) Mejorando la Interface de las Aplicaciones Windows (26) Memoria Tipos y Clases (5) Método (2) Metodología (1) Microsoft (324) Microsoft Lync 2010 (7) Microsoft Silverlight 4.0 (2) Microsoft Virtual Academy (356) Modelo (2) Modelo OSI y TCP-IP (2) Modelos con poco grado de dificultad de Programación Lineal - Investigación de Operaciones (13) Modelos con razonable grado de dificultad de Programación Lineal - Investigación de Operaciones (10) Modelos de desafio de Programación Lineal - Investigación de Operaciones (5) Modelos difíciles de Programación Lineal - Investigación de Operaciones (5) Modelos Fáciles de Programación Lineal - Investigación de Operaciones (13) Modelos lineales con solver (3) Modulo (23) Movimiento (2) Mozilla (29) MS SQL Server (77) MS Virtualization para Profesionales VMware - Gestión (3) MS Virtualization para Profesionales VMware- Plataforma (4) MVA (263) Negocio (2) Nivel Avanzado Desarrollo .Net (6) Nivel Básico Desarrollo .Net (11) Nivel Intermedio Desarrollo .Net (8) Normas técnicas peruanas y su evolución - Auditoría de Sistemas (1) Nube Privada - Avanzado (6) Nube Privada - Básico (6) Nube Privada - Intermedio (6) Office 365 (3) Optimización de Escritorio (10) Optimización de Escritorio - Avanzado (4) Optimización de Escritorio - Básico (3) Optimización de Escritorio - Intermedio (3) ORACLE 10g - ADMINISTRACIÓN Y ANÁLISIS (3) Oracle 10g y el Grid Computing (3) Organización aleatoria y secuencial (1) Partes principales de la Mainboard (12) Perceptron (2) Perfil (2) Periféricos de Entrada / Salida (15) Pesi (2) PHP y MySQL - Manual de aprendizaje para crear un sitio web - Autor : Olivier ROLLET (79) Plan (2) Plataforma (29) PMBOK (24) PMBOK - Guía de los fundamentos para la dirección de proyectos (24) PMBOK - INFLUENCIA DE LA ORGANIZACIÓN Y CICLO DE VIDA DEL PROYECTO (6) PMBOK - Introducción (11) PMBOK - PROCESOS DE LA DIRECCIÓN DE PROYECTOS (5) Prevención - Herramientas e Instrumentos de Medida (9) Principios básicos de enrutamiento y switching (169) Proceso (2) Proceso de auditoría de sistemas informáticos (2) Programación en Android - Auor : Salvador Gómez Oliver (46) Programación paso a paso de C# - Autor : Nacho Cabanes (16) Protocolos y comunicaciones de red (17) Proyecto (2) Qué es un sistema (4) Red de Área Local Inalámbrica (WLAN) (4) Redes (30) Redes inalámbricas - WIRELESS - Conocimiento general (15) Redes neuronales (2) Redes y Comunicaciones (45) Reparación de Fuentes - UPS - Estabilizadores (10) Reparación de Impresoras (9) Reparación de Monitores (16) Router (29) Seguridad en la Nube (3) Seminario (23) Server (24) Sharepoint 2010 - Nivel Básico (6) Sharepoint 2010 - Niveles Avanzados (18) Sharepoint 2010 - Niveles Avanzados - Básico (8) Sharepoint 2010 - Niveles Avanzados - Intermedio (9) Sinergia y recursividad (4) Sistema (33) Sistema de Cableado Estructurado (9) Software (30) SOLUCIÓN GRÁFICA DE MODELOS DE PROGRAMACIÓN LINEALES - INVOPE (8) Soporte a Infraestructura (3) SQL (38) SQL Azure - Introducción (3) Subsistemas de control (4) Tablas (4) Tarjeta Principal del Sistema (10) Tarjetas de Interfaces (7) Tecnología (31) Tecnologías LAN (1) TEORÍA GENERAL DE SISTEMAS (1) Tic (2) Tipo (2) TML5 y CSS3 - Autor: Christophe Aubry (12) Trabajando con el Formulario (7) Un diseño HTML5/CSS3: dConstruct 2011 (3) Un diseño HTML5/CSS3: FlipThru (2) Un diseño HTML5/CSS3: The Cat Template (2) Usando Controles Windows Forms (12) Usando Herramientas de Datos de Visual Studio (6) Ventas (2) Virtualización Hyper - V Nivel Básico (5) Virtualización Hyper - V Nivel Intermedio (5) What’s New in Windows 8.1 Security (4) Window (29) Windows 7 Segunda Fase - AVANZADO (4) Windows 7 Segunda Fase - BÁSICO (6) Windows 7 Segunda Fase - INTERMEDIO (4) Windows 8 - Vista Previa (4) Windows 8.1 To Go (2) Windows Azure (3) Windows Phone 7 (2) Windows Server 2008 R2 (3) Windows Server 2012 - Gestión y Automatización (3) Windows Server 2012 R2 Essentials (7) Windows Server 2012: Almacenamiento (5) Windows Server 2012: Identidad y Acceso (4) Windows Server 2012: Revisión Técnica (7) Xamarin (1)

Páginas vistas en total según Google