sábado, 8 de noviembre de 2008

Formularios MDI

En esta oportunidad, describiré lo fácil que es definir Formularios MDI "Padres" y Formularios "Hijos" con Visual Studio 2005, en este caso, con Visual Basic.
Para hacer la demostración, solo necesitaremos 2 formularios, uno que haga de Padre (Form1), y otro de Hijo (Form2).


Para definir a Form1, como un "padre", es decir, un contenedor de MDI (Interfaz de Documentos Múltiples), basta con ir a su propiedad "isMDIContainer", ponerla en valor "true", como en la siguiente imagen.


Al seleccionar el valor "true", el formulario se torna de un color oscuro...


Luego, para la demo, procedemos a agregar el formulario 2.


Una vez agregado el formulario, nos dirigimos al form1, y escribimos el código que instancia la clase form2, y al objeto instanciado, le definimos que sera contenido por form1, como en la siguiente imagen:

Y al ejecutarlo, podemos ver al form2, contenido en form1.



lunes, 3 de noviembre de 2008

Controles Contenedores en Visual Studio

En este post, trataremos con algunos de los controles contenedores de Visual Studio. empezamos con:

GroupBox
Es el equivalente al Frame en Visual Basic 6.0, solo muestra un marco alrededor de controles, y opcionalmente puede tener un titulo.


Panel
Solamente usado para agrupare colecciones de controles, es invisible, solo para mejor de diseño de interfaz.


SplitContainer
Control utilizado para dividir el formulario en dos áreas redimensionables, ambos pueden contener controles.


Asimismo, se puede acoplar a todo el formulario, como se puede ver en la figura siguiente:

sábado, 25 de octubre de 2008

Menús y Barras de Herramientas en Visual Studio (Parte II)

En esta segunda parte concluiremos con las herramientas faltantes de la semana pasada como StatusStrip, ToolStrip y ToolStripContainer.

StatusStrip
Herramienta que muestra una barra de estado, mostrando la información para el usuario acerca del objeto que esta viendo.

Primeramente ubicamos el control en nuestra barra de herramientas.

Luego lo arrastramos y soltamos en nuestro formulario.
Al soltarlo, se puede observar como aparece una barra de estado en la parte inferior del formulario; asimismo se aprecia una pequeña lista de opciones de pequeños controles a colocar en mi barra de estado, como un ProgressBar, un StatusLabel (etiqueta), DropDownButton y un SplitButton.



ToolStrip


Este control proporciona una barra de herramientas en la interfaz de usuario, lo arrastramos de la misma manera que el control anterior, al formulario; luego se puede observar como se aparece una barra de herramientas en la parte superior.

Al igual que el StatusStrip, en esta barra de herramientas, se puede colocar diversos objetos, como botones, barras de progreso, separadores, etc. Pudiendo quedar de la siguiente manera.



ToolStripContainer

Es la herramienta que proporciona paneles en los cuatro extremos del formulario, que pueden contener a ToolStrip, MenuStrip o StatusStrip.
Simplemente se arrastra el control al formulario, y se observa un recuadro con 4 paneles (en este caso solo esta visible el panel superior), quienes contendrán a los otros controles dichos anteriormente.


Estos paneles se pueden acoplar al tamaño del formulario; basta con hacer click en la opción "Acoplar Relleno en formulario", para que el control se acople al tamaño del formulario, quedando de la siguiente manera:



Hasta aquí, hemos concluido por describir cuan fácil es utilizar los controles de Menús y Barras de Herramientas en Visual Studio 2005.
Para el proximo post, describire un poco las herramientas contenedoras, y ya con eso, se tendria una base, de empezar a explicar aplicaciones mas complejas.


sábado, 18 de octubre de 2008

Menús y Barras de Herramientas en Visual Studio (Parte I)

Es esta oportunidad veremos cuan fácil es manejar los controles de Menús y Barra de Herramientas que provee el IDE de Visual Studio, en este caso con Visual Basic 2005 Express Edition. Para este ejemplo realizare aplicaciones sencillas por cada control en un formulario, y aunque no lo crean, sin ninguna linea de código (para estos ejemplos, aun no es necesario programar). Los controles son: ContextMenuStrip, MenuStrip, StatusStrip, ToolStrip y ToolStripContainer; en esta primera parte solo mencionare a los dos primeros.


ContextMenuStrip


Este control hace que se muestre un menú contextual, cuando se hace click con el botón derecho del mouse en cualquier control; ya se este un grid, un formulario, un textbox, etc.
Primeramente, lo ubicamos en la barra de herramientas.

Luego, simplemente lo arrastramos, e inmediatamente aparecen el menú, listo para ser editado en tiempo de diseño, y con opciones de submenus.


Seguidamente, escojo cual sera el control donde deseo que aparezca mi menú, en este caso el formulario mismo; me ubico en su propiedad ContextMenuStrip, y simplemente hago referencia al nombre del objeto "ContextMenuStrip", en este caso se llama "ContextMenuStrip1"; luego ejecuto, hago click derecho en el formulario, y aparece mi menú.



MenuStrip

Es la herramienta que permite hacer los clásicos menús de las ventanas de windows. como en el primer paso del control anterior, seleccionamos MenuStrip, arrastramos y soltamos en el formulario, quedando de la siguiente manera:

Se puede observar como aparece una barra de menús de color azul, y como el primer menú, aparece listo para ser llenado; del mismo modo los submenus, y demás menús, como a continuación se muestra:


Asimismo, puedo agregar elementos estándar, en tan solo "un click"; para ello nos vamos a la parte superior derecha del control donde aparece como un pequeño "triángulo negro"; ahí se desplegara una serie de opciones, entre ellas la de insertar elementos estándar.


Finalmente, podremos tener un menú con las opciones prediseñadas como cualquier ventana de windows.


Para el próximo post, terminare con los controles de Menús y Barras de Herramientas, y haremos una introducción con los Controles Contenedores.


sábado, 11 de octubre de 2008

HOLA MUNDO en Visual Basic 2005

En esta oportunidad, veremos el clásico ejemplo de "Hola Mundo".
Para esto he usado Microsoft Visual Basic 2005 Express Edition; asimismo, describiré algunas características del IDE.
Cuando uno inicia Visual Basic 2005, se puede ver un panel de bienvenida, donde se muestra algunas noticias y novedades referentes a Visual Studio (siempre y cuando exista una conexion a Internet); al lado izquierdo un panel de herramientas (aun vacío porque no se ha abierto un proyecto); y al lado derecho superior mi Explorador de Soluciones (donde se puede ver todos los formularios, y otros objeto9s presentes en mi proyecto), y al lado derecho inferior mi panel de Propiedades.



Primeramente nos dirigimos al menú Archivo y hacemos click en "Nuevo Proyecto".


Aparecerá un cuadro de dialogo para escoger el tipo de proyecto, y sobretodo darle nombre y la ubicación.


Una vez definido el nombre y la ubicación del proyecto; se nos mostrara nuestro formulario en la parte central de la pantalla; asimismo se puede observar como los paneles laterales ya aparece información referida a nuestro proyecto, y la barra de herramientas ya aparece llena, lo que sugiere que ya podemos empezar a arrastrar cualquier objeto al formulario.


Para este ejemplo solo usare al control "Button"; la idea es que al hacerle click, muestre un mensaje con el texto: "Hola Mundo".



En la parte inferior derecha, en el Panel de Propiedades, teniendo seleccionado al control Button, cambiamos el nombre del mismo, en este caso el botón se llama "Prueba"


Luego hacemos doble click en el control Button de nuestro formulario, e ingresaremos a la pantalla de codificacion. Por defecto se muestra la Clase Form1 (de nuestro formulario), y el metodo correspondiente al evento click de nuestro control Button. Como recordaran en mi primer post, todos los lenguajes de .NET, son orientados a objetos, es por esta estructura.
Seguidamente, ingreso una simple linea de código, equivalente al "msgbox" de VB 6.0, con el mensaje "Hola Mundo".


Finalmente ejecutamos nuestra aplicación presionando F5, y aparece el formulario, luego de darle click en el boton "Prueba", se puede observar como aparece una pequeña ventana de mensaje con nuestro "Hola Mundo"

Evidentemente esta es una aplicacion super sencilla, en cada post, se ira mostrando paso a paso aplicaciones mas complejas, con otros controles, y con conexiones a Base de Datos; pero en lineas generales, el desarrollo de aplicaciones Windows y Web ya sea en VB.NET o C# son muy sencillas de realizar.

lunes, 22 de septiembre de 2008

Versiones Express de Microsoft Visual Studio


En esta oportunidad tratare sobre la versiones gratuitas y de prueba de Visual Studio, es decir; la version Microsoft Visual Studio Express, que es el paquete sin costo del Entorno de Desarrollo Integrado de Microsoft, que contiene versiones ligeras, pero a la vez productivas en el tema de desarrollo de software, la ultima version es, Visual Studio Express 2008, aunque esta es solo de prueba; sin embargo existe la version, Visual Studio Express 2005, que esta operativa sin limite de tiempo.


Visual Studio Express contiene los siguientes productos:
  • Visual Basic .NET (2005 y 2008) Express Edition
  • Visual C# (2005 y 2008) Express Edition
  • Visual C++ (2005 y 2008) Express Edition
  • Visual Web Developer (2005 y 2008) Express Edition.
  • Visual J# 2005 Express Edition
Estas versiones incluyen:
  • Intellisense, coprriengiendo errores de sintaxis y sugiriendo alternativas en el instante que se codifica.
  • Soporte para Windows Presentation Foundation (solo version VB 2008).
  • Depuracion en tiempo de ejecucion.
  • Publicacion mediante ClickOnce.
No obstante, por ser una version gratuita evidentemente tiene limitaciones tales como:
  • La ausencia de Crystal Report.
  • Para VB.NET y C#, no se puede desarrollar en web con ASP.
  • No se puede desarrollar aplicaciones moviles

A continuacion comenzare por describir brevemente cada uno.


Visual Basic .NET Express Edition


Definitivamente es la version mas idonea para los que se inician, o no tienen tanta experiencia en el desarrollo de aplicaciones; ya que la facilidad de la sintaxis de Visual Basic permite que el usuario tenga una rapida familiarizacion con el lenguaje.


Visual C# Express Edition


Es el lenguaje "estrella" del .NET , ya que nacio con la primera version del framework. Es un lenguaje sencillo de aprender ( tiene una certa similitud en la sontaxis con Java y C++), y sobretodo muy potente para realizar aplicaciones para Windows.


Visual C++ Express Edition

La combinacion del entorno grafico de Visual Studio y la robustez de C++, hacen de esta version , la ideal para usuarios experimentados; en él se pueden realizar desde aplicaciones pequeñas, hasta juegos, nativas y administradas.

Visual Web Developer

Es el paquete para desarrollo de sitios web ASP.NET con Visual Basoc .NET, C# o J#, tiene las funciones de arrastrar y soltar elementos de la barra de herramientas en el diseñador, separacion de codigo del lado del cliente y del servidor, un limitado explorador de base de datos ; apoyo a otras tecnologías web (por ejemplo, CSS, JavaScript, XML); y la opcion de integrarse con AJAX, aunque para la version 2008, ajax ya viene incluido.


Visual J# Express Edition


Es el lenguaje creado para aquellos desarrolladores habituados a Java, y que depronto deseen crear aplicaciones en .NET y asi usar tambien los conocimientos y habilidades en ambas plataformas, ya que J# es compatible con la sintaxis Java.

En el proximo post, empezaremos a describir el IDE de Visual Studio y eventualmente, desarrollaremos una pequeña aplicacion.

lunes, 1 de septiembre de 2008

La Maravilla de ClickOnce

ClickOnce, es una tecnologia presente desde la primera version del .NET Framework, para ser usada mediante el IDE Visual Studio. ClickOnce, hace que la implementacion de aplicaciones Windows Forms sea tan fácil como una aplicacion Web.

Hasta hace unos años, el desarrollo de aplicaciones de escritorio, era tedioso, y costoso; ya que
había que instalar el software en cada cliente, y había  una estrecha dependencia con el Sistema Operativo. Es asi que surge como alternativa las aplicaciones web, y evidentemente tuvieron gran éxito, por todos los detalles negativos de las aplicaciones de escritorio; no obstante las aplicaciones web, no son tan ricas visualmente, o tienen un prolongado tiempo de procesamiento, ya que cualquier evento, tiene que ir al servidor y luego regresar la respuesta al cliente. Es asi que nace un nuevo concepto; el de Clientes Inteligentes; que no son mas que aquellas aplicaciones Windows Form, pero con un "Comportamiento Web"; para hacer esto posible, es necesaria la tecnologia de despliegue ClickOnce, para hacer la publicacion de la aplicacion en el servidor Web o de Archivos, y luego el cliente basta con que tenga acceso a esa dirección (de la publicacion), para descargar su aplicacion (que correrá en cache), y puede hacer su trabajo con total normalidad; asimismo, si es que hubiese otra version, basta con publicarla en el servidor nuevamente, y el cliente cuando acceda, tendrá la ultima versión de la aplicacion, desde cualquier parte del mundo (si es que es una conexion a Internet).

Como ejemplo, supongamos que tenemos el tipico programita "Hola Mundo":


                  (Código VB.NET)

Una vez compilada correctamente en vez de instalarla a mano seleccionamos con el botón derecho del ratón Propiedades del Proyecto y luego Publicar veremos una ventana como esta.


Esta ventana incluye opciones muy interesantes como actualizaciones automáticas o hacer disponible la aplicación sólo a mientras se tenga conexión al servidor , lo cual combinado con una politica de usuarios de IIS o Certificados Digitales  permite limitar o impedir el acceso a nuestra aplicación en cualquier momento.



Cualquier usuario que quiera ejecutar nuestro programa sólo tendrá que conectarse a la dirección web seleccionada y verá una pantalla como esta, donde podrá descargarse el aplicativo para su uso en local o ejecutarlo temporalmente, asi como comprobar las posibles actualizaciones.



Como no tengo un servidor web donde publicar, consegui este link,  donde han alojado pequeñas aplicaciones a manera de demostracion de ClickOnce, solo denle click, he instalen, veran como ClickOnce busca sus actualizaciones, y luego ejecuta la aplicacion: