2. IIntroducciónntroducción
Este libro describe el entorno de programación de Visual Basic .NET, su filosofía de programación y
otros aspectos relevantes para el eficiente uso de esta poderosa herramienta, presentando sus
conceptos y características, para explicar cómo aplicarlos sistemáticamente, considerando su
finalidad y funcionamiento; además, el presente libro provee a los usuarios los conocimientos
básicos e intermedios, para que desarrollen sus propias aplicaciones, adoptando una metodología
de trabajo que permita que puedan convertirse en expertos en la utilización de esta innovadora
herramienta.
Este libro está dirigido a usuarios, estudiantes, técnicos, profesionales de la ingeniería, entre otros,
que deseen aprender a utilizar Visual Basic .NET, para desarrollar aplicaciones a nivel básico e
intermedio rápidamente. Los temas tratados están organizados considerando una secuencia lógica
que facilite el aprendizaje, siguiendo una metodología basada en la realización de laboratorios y
prácticas dirigidas.
Cada módulo incluye ejemplos y laboratorios que explican en detalle su contenido. Se recomienda
ejecutarlos en el computador para que el participante experimente por si mismo y se familiarice con
esta herramienta, para que obtenga la destreza y el dominio completo de la misma. Al finalizar la
lectura de esta guía, el usuario deberá estar familiarizado con los conceptos básicos para el
desarrollo de aplicaciones y programas.
3. ConvencionesConvenciones
A continuación se describen las notaciones empleadas en los formatos de los diferentes elementos
del presente libro:
Los controles y/o objetos, así como los términos a los que se hacen referencia en este libro, en los
puntos tratados, ejemplos y laboratorios, son presentados en estilo Negrita, con el propósito de
diferenciarlos de otros elementos a los que también se hace referencia en dicha guía. Tal es el
caso de TxtNombre, cmdBuscar, entre otros.
Los propiedades, eventos, métodos de objetos y/o controles, y códigos y/o sentencias de
programa, que aparecen en los temas tratados, ejemplos y laboratorios, son visualizados en estilo
Cursiva, permitiendo una mejor comprensión de los mismos en el presente libro, facilitando el
proceso de aprendizaje del participante. Tal es el caso de cmdBuscar_Click, Text, Dim a As
Integer, entre otros.
Las teclas que se deben pulsar simultáneamente, se escriben separadas del signo de suma (+),
aparecen en estilo Negrita, como por ejemplo, Ctrl+H, Ctrl+C.
Se utilizan los nombres del teclado en español:
Mayús = Shift
Suprimir = Delete
Retroceder = BackSpace
Las teclas utilizadas para moverse en el entorno de trabajo son denominadas Teclas de
Direccionamiento ó Desplazamiento, incluyen las teclas de flecha arriba, abajo, derecha e
izquierda; cuando se explica una función que puede realizarse pulsando un botón o seleccionando
un icono, junto al título del párrafo se colocará el dibujo de este símbolo.
4. Módulo 1Módulo 1
Conceptos y Fundamentos
Visual Studio .NET es un conjunto de programas destinado a la creación de aplicaciones de escritorio y
Web de empresa para trabajo en equipo. Además, ofrece una gama de herramientas de desarrollo que
está fundamentada en componentes y otras tecnologías de Visual Studio cuyo objeto es, simplificar el
diseño, desarrollo e implementación en equipo de soluciones para empresas.
Visual Studio .NET está conformado por los siguientes lenguajes de programación: Visual Basic .NET,
Visual C++ .NET y Visual C# .NET, que utilizan el mismo entorno de desarrollo integrado (IDE); esto les
permite compartir herramientas, facilitando la creación de soluciones en varios lenguajes, aprovechando
las funciones de .NET Framework, basada en tecnologías claves que simplifican el desarrollo de
aplicaciones Web ASP y servicios Web XML.
5. Módulo 1 – Conceptos y Fundamentos 5
VISUAL BASIC .NET
Visual Basic .NET usa una jerarquía de clases que están incluidas en el .NET Framework, por tanto,
conocer el .NET Framework ayudará a conocer al propio Visual Basic .NET, conociendo su forma de uso
y su manera de hacer las cosas, aunque en el fondo esto sea lo mismo, resaltando que el aspecto
sintáctico es diferente para cada uno de los lenguajes basados en .NET Framework.
Visual Basic .NET ofrece numerosas características nuevas y mejoradas, tales como la herencia,
interfaces y sobrecarga, miembros compartidos, constructores, delegados y varios tipos de datos nuevos,
que lo convierten en un eficaz lenguaje de programación orientado a objetos. Visual Basic, ahora permite
crear aplicaciones multiproceso y escalables utilizando subprocesamiento múltiple explícito (capacidad de
asignar tareas individuales a procesos independientes). Además, Visual Basic .NET incluye el control
estructurado de excepciones, atributos personalizados y compatibilidad con CLS (Common Language
Specification, Especificación de lenguajes comunes).
CLS es un conjunto de reglas que estandariza los tipos de datos y el modo en que se exponen e
interoperan los objetos. Visual Basic .NET agrega varias características que aprovechan las ventajas de
CLS. Cualquier lenguaje compatible con CLS puede utilizar las clases, los objetos y los componentes que
se crean en Visual Basic .NET, lo cual permite que se pueda tener acceso a las clases, los componentes
y los objetos desde otros lenguajes de programación compatibles con CLS sin tener en cuenta diferencias
específicas del lenguaje como los tipos de datos. Las características de CLS que utilizan los programas
de Visual Basic .NET son los ensamblados, espacios de nombres y atributos.
CARACTERÍSTICAS
A continuación se presentan las características básicas de Visual Basic .NET, siendo éstas las siguientes:
•Herencia.- Visual Basic .NET admite el concepto de herencia, puesto que permite definir clases que
sirven de base para las clases derivadas, que heredan, y pueden extender, las propiedades y los
métodos de la clase base. También pueden reemplazar métodos heredados con nuevas
implementaciones. Por defecto, todas las clases creadas con Visual Basic .NET son heredables. Los
formularios que se diseñan, son realmente clases, ya que pueden utilizar la herencia para definir nuevos
formularios basados en formularios existentes.
•Control de excepciones.- Visual Basic .NET permite el control estructurado de excepciones, utilizando
una versión mejorada de la sintaxis Try...Catch...Finally compatible con otros lenguajes como C++ y
Java. El control estructurado de excepciones combina una estructura de control moderna (similar a
Select Case o While) con excepciones, bloques de código protegidos y filtros. El control estructurado de
excepciones permite crear y mantener programas mediante controladores de errores sólidos y
exhaustivos.
•Sobrecarga.- La sobrecarga es la capacidad de definir propiedades, métodos o procedimientos que
tengan el mismo nombre pero utilicen diferentes tipos de datos. Los procedimientos sobrecargados
permiten proporcionar tantas implementaciones como sean necesarias para controlar diferentes tipos de
datos, a la vez que se da el aspecto de un único procedimiento versátil.
•Reemplazar propiedades y métodos.- La palabra clave Overrides permite que los objetos derivados
Centro de Educación
6. 6 Conceptos y Fundamentos
reemplacen características heredadas de objetos primarios. Los miembros reemplazados tienen los
mismos argumentos que los miembros heredados de la clase base, pero diferentes implementaciones.
Una nueva implementación de un miembro puede llamar a la implementación original de la clase
primaria colocando MyBase delante del nombre del miembro.
•Constructores y destructores.- Los constructores son procedimientos que controlan la inicialización
de instancias nuevas de una clase; mientras que los destructores son métodos que liberan recursos del
sistema cuando una clase deja el ámbito o se define como Nothing. Visual Basic .NET admite
constructores y destructores utilizando los procedimientos Sub New y Sub Finalize.
•Tipos de datos.- Visual Basic .NET incluye tres tipos de datos nuevos. El tipo de datos Char es una
cantidad de 16 bits sin signo utilizada para almacenar caracteres Unicode, que es equivalente al tipo de
datos System.Char de .NET Framework; el tipo de datos Short, un entero de 16 bits con signo, que ha
sido denominado Integer en versiones anteriores de Visual Basic; y el tipo de datos Decimal, que es un
entero de 96 bits con signo escalado con una potencia variable de 10, estando disponible únicamente
dentro de Variant, en versiones anteriores de Visual Basic.
•Interfaces.- Las interfaces describen las propiedades y los métodos de las clases, pero, a diferencia de
las clases, no proporcionan implementaciones. La instrucción Interface permite declarar interfaces,
mientras que la instrucción Implements permite escribir código que ponga en práctica los elementos
descritos en la interfaz.
•Delegados.- Los delegados son objetos que pueden llamar a los métodos de los objetos, y se describen
a veces como punteros de funciones orientados a objetos con seguridad de tipos. Se pueden utilizar
delegados para permitir que los procedimientos especifiquen un método de controlador de evento que
se ejecute cuando tenga lugar un evento. También puede utilizar delegados con aplicaciones
multiproceso.
•Miembros compartidos.- Los miembros compartidos son propiedades, procedimientos y campos que
comparten todas las instancias de una clase. Los miembros de datos compartidos son útiles cuando
varios objetos necesitan utilizar información que es común a todos. Los métodos de clase compartidos
se pueden utilizar sin crear primero un objeto a partir de una clase.
•Referencias.- Las referencias utilizan objetos definidos en otros ensamblados. En Visual Basic .NET,
las referencias apuntan a ensamblados en lugar de bibliotecas de tipos.
•Espacios de nombres.- Los espacios de nombres evitan los conflictos de nomenclatura mediante la
organización de clases, interfaces y métodos dentro de unas jerarquías.
•Ensamblados.- Los ensamblados reemplazan y extienden la capacidad de las bibliotecas de tipos
describiendo todos los archivos necesarios para un componente o una aplicación en particular. Un
ensamblado puede contener uno o varios espacios de nombres.
•Atributos.- Los atributos permiten proporcionar información adicional sobre elementos de un programa,
como por ejemplo, especificar los métodos de una clase que se deben exponer cuando se utiliza la
clase como un servicio Web XML.
•Subprocesamiento múltiple.- Visual Basic .NET permite escribir aplicaciones que pueden realizar
7. Módulo 1 – Conceptos y Fundamentos 7
varias tareas de manera independiente. Una tarea que tenga la capacidad de albergar otras tareas que
se pueden ejecutar en un subproceso aparte, es conocida como subprocesamiento múltiple. La ventaja
del subprocesamiento múltiple radica en que las tareas complicadas puedan ejecutarse en subprocesos
separados de la interfaz de usuario, lo cual logra que las aplicaciones respondan mejor a las entradas
del usuario.
NET FRAMEWORK
.NET Framework es un entorno multilenguaje para construir, instalar y
ejecutar servicios Web y otras aplicaciones, lo cual lo convierte en una
plataforma diseñada para simplificar el desarrollo de aplicaciones en el
entorno distribuido de Internet; está estructurado por tres
componentes principales: Common Language Runtime (CLR ), las
clases de programación unificadas o clases Framework y ASP.NET .
A través de .NET Framework , cualquier aplicación que se desee
hacer en cualquier lenguaje .NET, deberá pasar por el filtro de
cualquiera de las partes que integran el .NET Framework .
COMMON LANGUAGE RUNTIME
Common Language Runtime (motor de tiempo de ejecución) desempeña una función importante tanto
durante la ejecución como durante el desarrollo de los componentes, es decir, cuando el componente se
está ejecutando, el CLR administra la asignación de memoria, inicia y detiene subprocesos y procesos, y
hace cumplir la directiva de seguridad, satisfaciendo las posibles dependencias del componente sobre
otros componentes. Durante el desarrollo, el CLR cambia ligeramente; esto es motivado a la gran
automatización que permite, simplificando el trabajo del programador, especialmente al compararlo con la
situación actual de la tecnología COM. En pocas palabras, funciones tales como la reflexión reducen de
forma espectacular la cantidad de código que debe escribir el programador para convertir la lógica de
empresa en componentes reutilizables.
También puede definirse el Common Language Runtime (CLR) como una serie de librerías dinámicas
(DLLs), también llamadas assemblies, que hacen las veces de las DLLs del API de Windows así como
las librerías runtime de Visual Basic o C++. Es útil recordar que cualquier ejecutable depende de una
forma u otra de una serie de librerías, ya sea en tiempo de ejecución como a la hora de la compilación;
entonces se puede mencionar que el CLR es una serie de librerías usadas en tiempo de ejecución para
que los ejecutables o cualquiera basado en .NET puedan funcionar.
En las versiones anteriores de Visual Basic existían dos tipos de ejecutables: los que son autosuficientes
y no dependen de librerías externas o los que necesitan de librerías en tiempo de ejecución para poder
funcionar; en esta versión eso no es así, debido a que la librería de clases de .NET Framework
proporcionan una jerarquía de clases orientadas a objeto disponibles para cualquiera de los lenguajes
basados en .NET, incluido el Visual Basic. Esto quiere decir que a partir de ahora Visual Basic tendrá a su
disposición todas las clases disponibles para el resto de los lenguajes basados en .NET, (o casi en su
totalidad), lo cual redunda en hacer las cosas más sencillas de implementar.
CLASES DE PROGRAMACIÓN UNIFICADAS
Centro de Educación
8. 8 Conceptos y Fundamentos
El entorno de trabajo ofrece a los programadores un conjunto unificado, orientado a objetos, jerárquico y
extensible de bibliotecas de clases (API). Actualmente, los programadores de C++ emplean las Microsoft
Foundation Classes y los programadores de Java utilizan las Windows Foundation Classes.
El entorno de trabajo unifica estos diferentes modelos, ofreciendo a los programadores de Visual Basic y
JavaScript la posibilidad de tener también acceso a las bibliotecas. Con la creación de un conjunto de API
comunes para todos los lenguajes de programación, Common Language Runtime permite la herencia,
el control de errores y la depuración entre lenguajes.
Todos los lenguajes de programación, desde JavaScript a C++, pueden tener acceso al entorno de
trabajo de forma parecida y los programadores pueden elegir libremente el lenguaje que desean utilizar.
ASP .NET
ASP.NET está construida sobre las clases de programación de .NET Framework, proporcionando un
modelo para aplicaciones Web con un conjunto de controles y una infraestructura que simplifican la
creación de aplicaciones Web ASP. ASP.NET incluye un conjunto de controles que encapsulan los
elementos comunes de la interfaz de usuario de HTML, como cuadros de texto y menús desplegables.
Sin embargo, dichos controles se ejecutan en el servidor Web, y envían al explorador Web su interfaz de
usuario en forma de HTML. En el servidor, los controles exponen un modelo de programación orientado a
objetos que ofrece al programador de Web la riqueza de la programación orientada a objetos.
ASP.NET proporciona también servicios de infraestructura, como administración de estado de sesión y
reciclado de procesos, que reducen aún más la cantidad de código que debe escribir el programador, e
incrementan la fiabilidad de las aplicaciones. ASP.NET utiliza estos mismos conceptos para permitir a los
programadores la entrega de software en forma de servicio. Mediante las funciones de servicios Web
XML, los programadores de ASP.NET pueden escribir su lógica de empresa y utilizar la infraestructura de
ASP.NET para entregar el servicio a través de SOAP.
ESPACIO DE NOMBRES
Un espacio de nombres es un esquema lógico de nombres para tipos en el que un nombre de tipo simple,
aparece precedido por un nombre jerárquico separado por puntos. Un espacio de nombres (Namespace)
es una forma de agrupar clases, funciones, tipos de datos, entre otros aspectos, que están relacionadas
entre sí; entre los espacios de nombres que podemos encontrar en el .NET Framework, se ubica uno
con funciones relacionadas con Visual Basic: Microsoft.VisualBasic. Microsoft y VisualBasic están
separados por un punto, esto significa que Microsoft a su vez es un espacio de nombres que contiene
otros "espacios de nombres", tales como el mencionado VisualBasic, CSharp y Win32 (permite acceder a
eventos o manipular el registro del sistema).
Para conocer lo que contiene un espacio de nombres, solo basta con escribir el nombre con un punto y a
continuación se presentará una lista desplegable con los miembros que pertenecen a dicho espacio de
nombres.
Al agruparse en un espacio de nombres, un conjunto de funciones o clases relacionadas entre sí, es más
fácil saber que se está trabajando con funciones relacionadas entre sí; pero que distintos espacios de
nombres pertenezcan a un mismo espacio de nombre, no significa que todos estén dentro de la misma
librería o Assembly. Un espacio de nombres puede estar repartido en varios Assemblies o librerías. Por
9. Módulo 1 – Conceptos y Fundamentos 9
otra parte, un Assembly (Ensamblado) puede contener varios espacios de nombres. El IDE de Visual
Studio .Net se encarga de saber en cuál Assembly está el espacio de nombres que se necesita para una
aplicación en particular.
ASSEMBLY (ENSAMBLADO)
Un ensamblado es un bloque constructivo primario de una aplicación de .NET Framework, es decir, es
una recopilación de funcionalidad que se construye, versiona e instala como una única unidad de
implementación, como uno o más archivos. Un assembly es una librería dinámica (DLL) en la cual
pueden existir distintos espacios de nombres, pudiendo estar formado por varios archivos DLLs y EXEs,
pero lo más importante es que todos los ensamblados contienen un manifiesto (manifest), a través del
cual se pueden evitar muchos de los errores y/o dolores de cabeza a los que Windows nos tiene
acostumbrados, por lo menos en lo referente a las distintas versiones de librerías y ejecutables.
Supóngase que se tiene una librería DLL que en su primera versión contenía X funciones. Después de un
tiempo, se crea la segunda versión de dicha librería, en la que se cambian algunas funciones y se añaden
otras nuevas, esto es para mejorar el rendimiento de las funciones contenidas en esa librería, para lo cual
se usa otra DLL que es empleada por algunas de las funciones contenidas en esa segunda versión. Esa
otra librería puede ser una librería del sistema, que se actualiza con nueva funcionalidad, y puede que
esta funcionalidad dependa de una tercera librería.
Se instala un programa que utiliza las últimas versiones de dichas librerías. Todo funciona correctamente;
luego se debe instalar otra aplicación, pero resulta que ésta usa la primera versión de dicha librería; Si el
programa de instalación está bien hecho, no debe ocurrir nada malo, ya que al descubrir que se tiene una
versión más reciente de la librería, deja la que ya está instalada. La nueva aplicación es probada, y
también funciona correctamente, al igual que el programa anterior, que también funciona bien. Hasta el
momento no existe inconveniente alguno, pero si después se instala un programa que usa una de las
librerías del sistema u otra que también usa dicha librería, pero ese programa se ha instalado
incorrectamente, sin embargo, se ha instalado una librería anterior a la que las anteriores aplicaciones
usan, dándose el caso de que ninguno de los dos programas funcionen correctamente.
.NET impide que el caso mencionado pueda suceder, ya que cada Assembly contiene un manifiesto en
el que se indica: nombre y versión del Assembly, además indica si dicho Assembly depende de otros
ensamblados, verificándose la versión de dichos ensamblados, los tipos y clases expuestos por el
Assembly, los permisos de seguridad para los distintos tipos contenidos en el Assembly, e incluyéndose
en los Assemblies los datos del copyright, entre otros aspectos.
La ventaja de los ensamblados es que no necesitan de una instalación y un registro correcto en el registro
del sistema de Windows, ya que es el intérprete de .NET es el que se encarga de hacer las
comprobaciones cuando tiene que hacerlas. Por lo tanto, se podría distribuir una aplicación sin necesidad
de crear un programa de instalación, pero si la aplicación usa ensamblados compartidos, puede que sea
necesario usar una instalación. Los ensamblados compartidos pueden ser usados por varias aplicaciones
diferentes y deben estar debidamente instalados en el directorio asignado por el propio .NET Framework.
Un ejemplo típico de ensamblados compartidos, aquellos que definen las clases y/o tipos usados por el
propio .NET Framework.
PROGRAMACIÓN ORIENTADA A OBJETOS (POO)
Centro de Educación
10. 1 0 Conceptos y Fundamentos
.NET Framework está basado en clases y/u objetos. Por lo tanto, a diferencia de las versiones anteriores
de Visual Basic, esta versión .NET basa su funcionamiento casi exclusivamente en las clases contenidas
en .NET Framework, prácticamente sin ningún tipo de limitaciones. Debido a esta dependencia en las
clases del .NET Framework y sobre todo a la forma de usarlas, Visual Basic .NET ofrece esta
característica sin ningún tipo de restricciones. Por lo tanto, se hace conveniente que se vea todo lo
referente a la Programación Orientada a Objetos.
El concepto de programación orientada a objetos (POO) no es nuevo, lenguajes clásicos como SmallTalk
Pascal y C++, así como Visual Basic, Delphi y Visual FoxPro, se basan en ella. Dado que la POO, se basa
en la idea natural de la existencia de un mundo lleno de objetos y que la resolución del problema se
realiza en términos de objetos, un lenguaje se dice que está basado en objetos si soporta objetos como
una característica fundamental del mismo.
CONCEPTO DE OBJETO
El elemento fundamental de la POO es, como su nombre lo indica, el objeto. Se puede definir un objeto
como un conjunto complejo de datos y programas que poseen estructura y forman parte de una
organización. Esta definición especifica varias propiedades importantes de los objetos. En primer lugar, un
objeto no es un dato simple, sino que contiene en su interior cierto número de componentes bien
estructurados. En segundo lugar, cada objeto no es un ente aislado, sino que forma parte de una
organización jerárquica o de otro tipo.
ESTRUCTURA DE UN OBJETO
Un objeto puede considerarse como una especie de cápsula dividida en tres partes:
•Relaciones: permiten que el objeto se inserte en la organización y están formadas esencialmente por
punteros a otros objetos.
•Propiedades: distinguen un objeto determinado de los restantes que forman parte de la misma
organización y tiene valores que dependen de la propiedad de que se trate. Las propiedades de un
objeto pueden ser heredadas a sus descendientes en la organización.
•Métodos: son las operaciones que pueden realizarse sobre el objeto, que normalmente estarán
incorporados en forma de programas (código) que el objeto es capaz de ejecutar y que también pone a
disposición de sus descendientes a través de la herencia.
Nota: Cada uno de estos componentes desempeña un papel totalmente independiente.
ORGANIZACIÓN DE LOS OBJETOS
En principio, los objetos forman siempre una organización jerárquica, en el sentido de que ciertos objetos
son superiores a otros de cierto modo. Existen varios tipos de jerarquías: serán simples cuando su
estructura pueda ser representada por medio de un "árbol". En otros casos puede ser más compleja.
En cualquier caso, sea la estructura simple o compleja, podrán distinguirse en ella tres niveles de objetos:
11. Módulo 1 – Conceptos y Fundamentos 1 1
•La raíz de la jerarquía: se trata de un objeto único y especial. Este se caracteriza por estar en el nivel
más alto de la estructura y suele recibir un nombre muy genérico, que indica su categoría especial,
como por ejemplo objeto madre, Raíz o Entidad.
•Los objetos intermedios: son aquellos que descienden directamente de la raíz y que a su vez tienen
descendientes. Representan conjuntos o clases de objetos, que pueden ser muy generales o muy
especializados, según la aplicación. Normalmente reciben nombres genéricos que denotan al conjunto
de objetos que representan, por ejemplo, Ventana, Cuenta, Archivo. En un conjunto reciben el nombre
de clases o tipos si descienden de otra clase o subclase.
•Los objetos terminales: son todos aquellos que descienden de una clase o subclase y no tienen
descendientes. Suelen llamarse casos particulares, instancias o ítems porque representan los
elementos del conjunto representado por la clase o subclase a la que pertenecen.
RELACIONES
Las relaciones entre objetos son, precisamente, los enlaces que permiten a un objeto relacionarse con
aquellos que forman parte de la misma organización. Las hay de dos tipos fundamentales:
•Relaciones jerárquicas: son esenciales para la existencia misma de la aplicación porque la construyen;
son bidireccionales, es decir, un objeto es padre de otro cuando el primer objeto se encuentra situado
inmediatamente encima del segundo en la organización en la que ambos forman parte; asimismo, si un
objeto es padre de otro, el segundo es hijo del primero. Una organización jerárquica simple puede
definirse como aquella en la que un objeto puede tener un solo padre, mientras que en una organización
jerárquica compleja un hijo puede tener varios padres.
•Relaciones semánticas: se refieren a las relaciones que no tienen nada que ver con la organización de
la que forman parte los objetos que las establecen. Sus propiedades y consecuencia solo dependen de
los objetos en sí mismos (de su significado) y no de su posición en la organización. Se puede ver mejor
con un ejemplo: supongamos que vamos a construir un diccionario informatizado que permita al usuario
obtener la definición de una palabra cualquiera. Supongamos que, en dicho diccionario, las palabras son
objetos y que la organización jerárquica es la que proviene de forma natural de la estructura de nuestros
conocimientos sobre el mundo.
PROPIEDADES
Todo objeto puede tener cierto número de propiedades, cada una de las cuales tendrá, a su vez, uno o
varios valores. En POO, las propiedades corresponden a las clásicas "variables" de la programación
estructurada. Son, por lo tanto, datos encapsulados dentro del objeto, junto con los métodos (programas)
y las relaciones (punteros a otros objetos). Las propiedades de un objeto pueden tener un valor único o
pueden contener un conjunto de valores más o menos estructurados (matrices, vectores, listas, etc.).
Además, los valores pueden ser de cualquier tipo (numérico, alfabético, etc.) si el sistema de
programación lo permite.
Pero existe una diferencia con las "variables", y es que las propiedades se pueden heredar de unos
objetos a otros. En consecuencia, un objeto puede tener una propiedad de maneras diferentes:
•Propiedades propias: están formadas dentro de la cápsula del objeto.
Centro de Educación
12. 1 2 Conceptos y Fundamentos
•Propiedades heredadas: están definidas en un objeto diferente, antepasado de éste (padre,"abuelo",
etc.); a veces estas propiedades se llaman propiedades miembro porque el objeto las posee por el mero
hecho de ser miembro de una clase.
MÉTODOS
Es una operación que realiza acceso a los datos. Se puede definir método como un programa
procedimental o procedural escrito en cualquier lenguaje, que está asociado a un objeto determinado y
cuya ejecución sólo puede desencadenarse a través de un mensaje recibido por éste o por sus
descendientes.
Son sinónimos de 'método' todos aquellos términos que se han aplicado tradicionalmente a los
programas, como procedimiento, función, rutina, etc. Sin embargo, es conveniente utilizar el término
'método' para que se distingan claramente las propiedades especiales que adquiere un programa en el
entorno POO, que afectan fundamentalmente a la forma de invocarlo (únicamente a través de un
mensaje) y a su campo de acción, limitado a un objeto y a sus descendientes, aunque posiblemente no a
todos.
Si los métodos son programas, se deduce que podrían tener argumentos, o parámetros; puesto que los
métodos pueden heredarse de unos objetos a otros, un objeto puede disponer de un método de dos
maneras diferentes:
•Métodos propios: están incluidos dentro de la cápsula del objeto.
•Métodos heredados: están definidos en un objeto diferente, antepasado de éste (padre,"abuelo", etc.).
A veces estos métodos se llaman métodos miembro porque el objeto los posee por el mero hecho de
ser miembro de una clase.
HERENCIA
Una relación de herencia es una relación en la que un tipo, denominado tipo derivado, se deriva de otro,
llamado tipo base, de tal forma que el espacio de declaración del tipo derivado contiene implícitamente
todos los miembros de tipo no constructor del tipo base. En pocas palabras, la herencia es la capacidad
de una clase de obtener la interfaz y comportamiento de una clase existente, es decir, es una cualidad de
crear clases que estén basadas en otras clases. La nueva clase heredará todas las propiedades y
métodos de la clase de la que está derivada, además de poder modificar el comportamiento de los
procedimientos que ha heredado, así como agregar otros nuevos, permitiendo ampliar cualquier clase
existente.
Ejemplo:
Supóngase que se tiene una clase denominada Gato, derivada de otra clase, a la cual se le ha llamado
Animal. La clase Gato hereda de la clase Animal todas las características comunes a los animales,
además de añadirle algunas características particulares a su condición específica, es decir, a su género
felino.
Se puede decir que un Gato es un Animal, o lo que es lo mismo, un Perro es un Animal, es decir, ambos
están derivados ó han heredado de la clase Animal, pero cada uno de ellos es diferente, aunque en el
fondo los dos son animales.
13. Módulo 1 – Conceptos y Fundamentos 1 3
En este ejemplo puede observarse fácilmente la aplicabilidad del concepto de herencia, puesto que se
usa una clase base, animal, y ésta es ampliada sin perder nada de lo heredado, pudiendo ampliar la clase
de la que se ha derivado ó heredado.
ENCAPSULAMIENTO Y OCULTACIÓN
El encapsulamiento es la capacidad de contener y controlar el acceso a un grupo de elementos
asociados; las clases proporcionan una de las formas más comunes de encapsular elementos. El
encapsulamiento en pocas palabras, se puede definir como la capacidad de separar la implementación
de la interfaz de una clase del código que hace posible esa implementación. Esto es una ocultación y/o
abstracción, puesto que lo relevante es su funcionamiento más no la codificación del funcionamiento de
una clase.
La implementación de la interfaz de una clase se refiere a los miembros que pertenecen a esa clase, es
decir, sus métodos, propiedades, procedimientos y/o eventos, entre otros aspectos. Para ser más
explícitos, la implementación de la interfaz es lo que una clase puede hacer. Al emplearse una clase, ésta
posee un conjunto de características denominadas como los datos que ella manipula, así como un
conglomerado de comportamientos denominados como las acciones a realizar con dichos datos. El
encapsulamiento en una clase, es la capacidad de ocultar sus interioridades para que únicamente pueda
observarse lo que tiene que verse, sin preocuparse de la codificación de sus procedimientos (como lo
hace), puesto que simplemente solo debe importar que lo haga.
Ejemplo:
Considerando el ejemplo anterior, referente a la clase Gato, se sabe que un gato puede arañar, se
alimenta, puede moverse o desplazarse, etc., sin embargo, cómo lo hace no es algo que deba
interesarnos, sino que lo puede hacer.
Cada objeto es una estructura compleja en cuyo interior hay datos y programas, todos ellos relacionados
entre sí, como si estuvieran encerrados conjuntamente en una cápsula. Esta propiedad
(encapsulamiento), es una de las características fundamentales en la POO. Los objetos son
inaccesibles, e impiden que otros objetos, los usuarios, o incluso los programadores conozcan cómo está
distribuida la información o qué información hay disponible. Esta propiedad de los objetos se denomina
ocultación de la información.
Esto no quiere decir, sin embargo, que sea imposible conocer lo necesario respecto a un objeto y a lo que
contiene. Si así fuera no se podría hacer gran cosa con él. Lo que sucede es que las peticiones de
información a un objeto. Deben realizarse a través de mensajes dirigidos a él, con la orden de realizar la
operación pertinente. La respuesta a estas órdenes será la información requerida, siempre que el objeto
considere que quien envía el mensaje está autorizado para obtenerla. El hecho de que cada objeto sea
una cápsula facilita enormemente que un objeto determinado pueda ser transportado a otro punto de la
organización, o incluso a otra organización totalmente diferente que precise de él. Si el objeto ha sido bien
construido, sus métodos seguirán funcionando en el nuevo entorno sin problemas. Esta cualidad hace
que la POO sea muy apta para la reutilización de programas.
POLIMORFISMO
El polimorfismo es la posibilidad de definir múltiples clases con funcionalidad diferente, pero con métodos
Centro de Educación
14. 1 4 Conceptos y Fundamentos
o propiedades denominados de forma idéntica, que pueden utilizarse de manera intercambiable mediante
código cliente en tiempo de ejecución, es decir, el polimorfismo permite usar miembros de distintas clases
de forma genérica sin tener que preocuparnos si pertenece a una clase o a otra, en particular.
Ejemplo:
Retomando el ejemplo de los animales, si el Gato y el Perro pueden morder se podría tener un "animal"
que muerda sin importar que sea el Gato o el Perro, simplemente se podría usar el método Morder ya que
ambos animales tienen esa característica.
Esto hace ver que el polimorfismo es una de las características fundamentales de la POO, y que no es
otra cosa que la posibilidad de construir varios métodos con el mismo nombre, pero con relación a la
clase a la que pertenece cada uno, con comportamientos diferentes. Esto conlleva la habilidad de enviar
un mismo mensaje a objetos de clases diferentes; estos objetos recibirían el mismo mensaje global pero
responderían a él de formas diferentes; por ejemplo, un mensaje "+" a un objeto Entero significaría suma,
mientras que para un objeto String significaría concatenación ("pegar" strings uno seguido al otro).
RESUMEN
Visual Basic .NET es un lenguaje orientado a objetos; esta versión trata formalmente los conceptos de la
Programación Orientada a Objetos (POO), aspecto que no era tratado como tal, por las versiones
anteriores de esta poderosa herramienta. Visual Basic .NET forma parte de Visual Studio .NET,
conjuntamente con otros lenguajes de programación; sin embargo, existe un hecho relevante en esta
nueva versión, y es que ahora es manejado el concepto de .NET Framework, que es un entorno
multilenguaje que permite construir aplicaciones Web y de escritorio, permitiendo simplificar el trabajo y el
esfuerzo que muchas veces cuesta desarrollar este tipo de aplicaciones.
PREGUNTAS
1. ¿Visual Basic .NET maneja formalmente los conceptos de la Programación Orientada a Objetos?
2. ¿Es posible programar en varios lenguajes para construir una aplicación en el entorno de Visual
Studio .NET ?¿Por qué?
3. Enumere los componentes de .NET Framework.
4. Cite los elementos que forman parte de un objeto.
15. Módulo 1 – Conceptos y Fundamentos 1 5
5. Mencione una diferencia entre un Ensamblado y un Espacio de Nombres.
Centro de Educación
16. Módulo 2Módulo 2
Conociendo el Entorno de Trabajo
Los proyectos de Visual Studio .NET se utilizan como contenedores en una solución para
administrar, generar y depurar lógicamente los elementos que componen la aplicación. Su
resultado es un programa ejecutable (.exe), un archivo de biblioteca de vínculos dinámicos (.dll)
o un módulo. Un proyecto puede ser tan simple o tan complejo según sus requisitos. Un
proyecto simple podría consistir en un formulario o documento HTML, archivos de código fuente
y uno de proyecto.
Un proyecto más complejo podría componerse de estos mismos elementos más secuencias de
comandos de base de datos, procedimientos almacenados y una referencia a un servicio Web
existente. Sus productos ofrecen plantillas de proyecto predefinidas para crear el contenedor de
tipo proyecto básico y un conjunto de elementos previo para desarrollar la aplicación, clase,
control o biblioteca.
Los proyectos y las plantillas de proyecto nos permiten concentrarnos en la funcionalidad
específica que se desea implementar, ya que el proyecto controla por nosotros las tareas de
administración y generación.
Los elementos de un proyecto pueden ser archivos, referencias a bibliotecas, conexiones de
datos y carpetas que estén dentro del contenedor de tipo proyecto. Algunos elementos
representan elementos físicos que pueden localizarse en lugares de almacenamiento. Otros
elementos son vínculos y representan punteros a otros elementos que pueden residir dentro de
un servicio, módulo u otro componente.
Cada plantilla de proyecto crea y mantiene un archivo de proyecto para almacenar los
metadatos específicos del proyecto en cuestión. Mientras estamos trabajando en el entorno de
desarrollo integrado (IDE) la plantilla crea y mantiene dicho archivo de definición. La extensión y
el contenido real del archivo de definición son determinados por el tipo de proyecto al que
defina. El archivo de proyecto almacena los valores de configuración y generación que se
17. Módulo 2 – Conociendo el Entorno de Trabajo 1 7
especifiquen para el proyecto y para el conjunto de elementos del proyecto. Algunos proyectos
mantienen una lista de los archivos asociados al proyecto y la ubicación del archivo.
TIPOS DE PROYECTOS DE VISUAL BASIC .NET
Ahora se presentan los diferentes proyectos que pueden crearse en Microsoft Visual Basic
.NET, también aplicables para Microsoft Visual C#:
Tipo de Plantilla Utilidad
Aplicación para Windows
Aplicaciones autónomas tradicionales para Windows o una
interfaz rica para una aplicación Web distribuida. Esta plantilla
reemplaza las plantillas de proyecto EXE estándar de Visual
Basic 6.0.
Biblioteca de Clases
Clases o componentes reutilizables que puedan compartirse con
otros proyectos. Este tipo se considera que no tiene ventanas y
no contendrá una clase formulario de Windows Forms.
Biblioteca de Controles de
Windows
Controles personalizados para ser utilizados en formularios
Windows Forms.
Aplicación Web ASP .NET Aplicaciones Web ASP .NET programables.
Servicio Web ASP .NET
Servicios Web XML se crean con ASP.NET, cuya funcionalidad
puede publicarse y recibir llamadas de aplicaciones externas.
Biblioteca de Controles Web
Controles personalizados para utilizarlos en páginas de
formularios Web Forms. Este tipo de proyecto es análogo al
proyecto de controles ActiveX de Visual Basic 6.0.
Aplicación de Consola Aplicaciones de líneas de comandos.
Servicio de Windows
Aplicaciones de larga duración que no tienen una interfaz de
usuario. Las aplicaciones de servicios de Windows (antes
denominadas "servicios NT") pueden supervisar elementos tales
como el rendimiento del sistema.
Nuevo Proyecto en Carpeta
Existente
Proyectos en blanco dentro de una carpeta de aplicación
existente que sirven para utilizar archivos de un proyecto
preexistente. Puede utilizarse tanto con proyectos locales como
con proyectos Web.
Proyecto vacío
La plantilla crea la estructura de archivos necesaria para
almacenar la información de la aplicación; las referencias,
archivos o componentes deben agregarse manualmente.
Proyecto Web vacío
Para usuarios avanzados que desean empezar a programar en
un entorno vacío y agregar su propia funcionalidad basada en el
servidor.
Centro de Educación
18. 1 8 Conociendo el Entorno de Trabajo
EXTENSIÓN DE ARCHIVOS EN VB .NET
En Visual Basic .NET a diferencia de versiones anteriores, sólo existe un tipo de archivo de
código, el cual tiene la extensión .vb. En este tipo de archivo pueden coexistir distintos tipos de
elementos, tales como módulo de clase, formulario, módulo de código, control, etc.; en las
versiones anteriores de Visual Basic, cada uno de estos elementos tienen su propio tipo de
archivo con su respectiva extensión. Sin embargo, para un mejor conocimiento de las diferentes
extensiones de los elementos citados, y de otros, éstos serán presentados a continuación:
Elemento Ext. Finalidad
Formularios Windows Forms .vb Formulario de aplicaciones Windows.
Clase .vb Archivo de declaración de clases.
Módulo .vb
Archivo para el almacenamiento de
procedimientos y funciones.
Clase de componentes .vb
Clase para crear componentes a través del
diseñador visual.
Control de Usuario .vb
Clase para crear un control de formulario
Windows Forms mediante el diseñador visual.
Asistente para formularios de datos .vb
Formulario de datos para crear aplicaciones
Windows.
DataSet .xsd
Archivo para crear un esquema XML con clases
DataSet.
Archivo XML .xml Archivo XML en blanco.
Esquema XML .xsd
Archivo para crear esquemas para documentos
XML.
Control personalizado .vb
Clase para crear un control de formularios
Windows Forms orientado al usuario.
Página HTML .htm
Página HTML que puede incluir códigos del lado
del cliente.
Archivo de código .vb Archivo de código en blanco.
Servicio de Windows .vb Clase para crear servicios Windows.
Formulario heredado .vb
Nuevo formulario basado en un formulario
Windows Forms existente.
Control Web personalizado .vb
Clase para crear un control de servidores
ASP.NET.
Control de usuario heredado .vb
Nuevo control basado en un control de formulario
Windows Forms existente.
Clase COM .vb Clase expuesta a COM.
19. Módulo 2 – Conociendo el Entorno de Trabajo 1 9
Componente Transaccional .vb
Clase que se utiliza con los componentes
transaccionales.
Archivo de texto .txt Archivo de texto vacío.
Conjunto de marcos .htm Archivo HTML que alberga varias páginas HTML.
Archivo XSLT .xslt
Archivo utilizado para transformar documentos
XML.
Hoja de estilos .css
Hoja de estilos en cascada utilizada para
definiciones de estilo HTML enriquecido.
Clase del instalador .vb
Clase que se va a invocar durante la
configuración.
Crystal Report .rpt
Archivo de Crystal Report que publica datos en
un formulario de Windows.
Archivo de mapa de bits .bmp
Archivo de imagen de mapa de bits en blanco,
que puede utilizarse para crear imágenes
simples.
Archivo de cursor .cur Archivo para crear cursores personalizados.
Archivo de icono .ico
Archivo de imagen para crear un icono
personalizado.
Archivo de recursos de
ensamblado
.resx
Archivo utilizado para editar y definir recursos de
aplicaciones.
Archivo de información sobre el
ensamblado
.vb
Archivo que contiene información general acerca
del ensamblado.
Archivo de configuración de la
aplicación
.config
Archivo utilizado para configurar los valores de la
aplicación.
Archivo JScript .js
Archivo de comandos que contiene código
JScript.
Archivo VBScript .vbs
Archivo de comandos que contiene código
VBScript.
Windows Script Host .wsf
Archivo de secuencia de comandos que se
ejecuta como un programa de Windows.
DESARROLLANDO UNA APLICACIÓN DE CONSOLA
Para ir conociendo el Entorno de Trabajo de Microsoft Visual Basic .NET, lo mejor es empezar
creando una pequeña aplicación, para que luego se vayan aclarando los diversos conceptos y
términos usados y vistos en el capítulo anterior. Lo primero que se debe hacer es iniciar
Microsoft Visual Studio .NET; por defecto, mostrará la página de inicio desde la cual pueden
crearse nuevos proyectos, o bien, abrir alguno de los más recientemente abiertos y/o creados.
La siguiente figura muestra la página de inicio de Microsoft Visual Studio .NET:
Centro de Educación
20. 20 Conociendo el Entorno de Trabajo
Página de Inicio de Microsoft Visual Studio .NET
Como se va a crear un nuevo proyecto, se debe pulsar en Nuevo proyecto. Luego se
presentará una pantalla, la cual puede observarse en la siguiente figura, que mostrará los
diferentes tipos de proyectos que se pueden crear; en el panel izquierdo de dicha pantalla, se
seleccionará Proyectos de Visual Basic, y luego, en el panel de la derecha, se seleccionará
Aplicación de Consola.
Cuadro de Diálogo de Nuevo Proyecto
Se deberá especificar el directorio en el que se guardará el proyecto, su nombre (en este caso,
se creará un directorio con el nombre del proyecto que se indique); por lo tanto, se dejará el
nombre que muestra por defecto, en este caso, se llamará ConsoleApplication1. Luego, se
deberá hacer click en Aceptar y se creará el proyecto. Después de haber seleccionado el
Proyecto de Tipo Aplicación de Consola, se mostrará una pantalla que puede ser observada en
la siguiente Figura:
21. Módulo 2 – Conociendo el Entorno de Trabajo 2 1
Ventana de Código
Se creará un archivo llamado Module1.vb, el cual es mostrado en el Explorador de Soluciones,
con el código necesario para empezar a escribir. Además del procedimiento Sub Main, el cual
se usará como punto de entrada de nuestro ejecutable, también se ha creado una definición
llamada Module Module1 con su respectivo End Module, éste indica donde termina la definición
del módulo. Esto es así, porque en un mismo archivo .vb pueden existir distintos tipos de
elementos.
En una aplicación tipo consola no se creará ninguna ventana gráfica, sino que el ejecutable que
se creará, funciona desde una ventana de MS-DOS.
En esta aplicación, solo se desea mostrar un mensaje y/o texto en la consola, tal como “Hola
Visual Basic .NET. Para mostrar un texto en la consola, se usará una función, método o
instrucción que no es nativa de Visual Basic .NET, pero la usaremos como si lo fuese, puesto
que esto es posible gracias a los assemblies o a las clases incluidas en el .NET Framework. La
función es Console.Write, y será usada de la siguiente forma:
Console.Write ("Hola Visual Basic .NET")
Dentro de los paréntesis se incluirá el texto que se desea mostrar en la consola, el cual debe
ser incluido dentro de comillas dobles. Dicha función debe ser escrita entre el Sub Main () y el
End Sub. Se puede comprobar que cuando se escriba Console seguido de punto, se mostrarán
las funciones que Console pone a disposición, así como una pequeña ayuda en línea.
Posteriormente se le indicará al Entorno Integrado (IDE) que compile el proyecto y lo ejecute, y
después de compilarse el proyecto, se deberá mostrar el texto en una ventana de MS-DOS o
consola. La compilación y/o ejecución del proyecto se puede realizar al pulsar F5, o en su
defecto, hacer clic en la flecha azul o botón con figura de play de la Barra de Herramientas. En
dado caso que no aparezca la ventana de MS-DOS que presente dicho mensaje, sería
apropiado entonces agregar la siguiente función:
Console.Read ( )
Esta sentencia mostrará el mensaje hasta que se pulse la tecla Enter, lo cual hará que se cierre
la ventana MS-DOS o consola. Al incluir esta línea, el programa quedará tal y como se presenta
en la siguiente Figura:
Centro de Educación
22. 22 Conociendo el Entorno de Trabajo
Código de la Aplicación
Se debe considerar que el entorno de desarrollo de Visual Studio .NET, es el que se usa con
Visual Basic .NET, para que podamos configurar algunos aspectos, por ejemplo para indicar
cómo se comportará el compilador e intérprete sobre el código que se escriba o para configurar
las librerías (assemblies) que se usarán en las aplicaciones. Visual Basic .NET usa una serie
de librerías (de clases) con las funciones que se necesiten.
En el caso de la aplicación que se acaba de desarrollar, para mostrar un texto en la consola, se
necesita tener disponible la librería en la cual está declarada la clase Console, para que se
pueda acceder a las funciones que dicha clase pone a nuestra disposición, Write o Read; en
este caso, la librería en la que está la clase Console es: System. System es un Namespace o
espacio de nombres, no es una librería o assembly.
ELEMENTOS DEL ENTORNO DE DESARROLLO INTEGRADO (IDE)
El Entorno de Desarrollo Integrado (IDE) de Microsoft Visual Studio .NET está formado
básicamente por los siguientes elementos:
• Explorador de Soluciones
• Ventana de Propiedades
• Ventana de Resultados
• Cuadro de Herramientas
• Explorador de Servidores
Los elementos anteriores serán explicados más adelante en este módulo. Sin embargo, de
acuerdo a las funciones que el usuario desee ejecutar o seguir en el desarrollo de la aplicación,
también puede contar con los siguientes elementos:
•Vista de Clases: permite examinar y explorar entre símbolos en una solución. Los símbolos,
organizados por proyectos, son mostrados en una vista de árbol jerárquica, que indica las
relaciones de contención entre ellos.
CON EL TECLADO
Para abrir la ventana Vista de clases, se debe presionar Ctrl+Mayús+C o elegir Vista de
clases en el menú Ver.
23. Módulo 2 – Conociendo el Entorno de Trabajo 23
•Vista de Recursos: permite ver recursos gráficos sin necesidad de abrirlos. Debido a que los
identificadores de recursos cambian a números, esta vista también resulta muy útil para
archivos ejecutables ya compilados; dichos identificadores numéricos no suelen suministrar
suficiente información, por lo que la vista previa de los recursos ayuda a identificarlos con
rapidez. Es posible obtener una vista previa del diseño visual de los siguientes tipos de
recursos: Mapa de bits, Cuadros de diálogo, Icono, Menú, Cursor, Barra de herramientas.
•Protecciones Pendientes: muestra todos los archivos desprotegidos de la solución actual.
CON EL RATÓN
Esta ventana es utilizada para proteger todos los archivos desprotegidos de una solución
haciendo click en un botón. Para mostrar esta ventana, se debe hacer click en Protecciones
pendientes en el menú Ver. Esta ventana se puede acoplar en el lado derecho de la ventana
de Visual Studio.
•Ventana de Comandos: se utiliza para ejecutar comandos o alias directamente en el entorno
de Visual Studio .NET omitiendo el sistema de menús, o para ejecutar comandos que no
aparecen en ningún menú.
CON EL TECLADO
Para abrir esta ventana en el modo Comando presione Ctrl+Alt+A, o se elige Ventana de
comandos en el submenú Otras ventanas del menú Ver.
Cuando la Ventana de comandos está en el modo Comando, la barra de título muestra el texto
Ventana de comandos y el símbolo mayor que (>) aparece en la ventana para solicitar
nuevas líneas. Los comandos escritos en el modo Comando no llevan delante el signo mayor
que (>) porque es el símbolo del sistema en dicho modo. Sin embargo, se debe escribir el signo
mayor que (>) cuando vaya a generar comandos de Visual Studio .NET en el modo Inmediato.
•Listas de Tareas: ayuda a organizar y administrar la generación de aplicaciones.
CON EL RATÓN
Para mostrar esta ventana, se selecciona haciendo clic en Mostrar tareas en el menú Ver, y se
elige la categoría de mensajes que desea mostrar, o bien seleccionar Otras ventanas en el
menú Ver, y elija Lista de tareas.
La ventana Lista de tareas ayuda a identificar y localizar problemas que se detectan
automáticamente al editar o compilar código; identificar y localizar problemas detectados al
aplicar las directivas de Enterprise Templates; filtrar las entradas de la Lista de tareas
mostradas utilizando alguna de las vistas predefinidas; ordenar las entradas de la Lista de
tareas por las columnas Prioridad, Categoría, Completadas, Descripción, Archivo o Línea; entre
otros aspectos.
Centro de Educación
24. 24 Conociendo el Entorno de Trabajo
•Explorador Web: permite abrir el explorador Web predeterminado, para lo cual debe
establecer sus opciones para el explorador Web interno y para Internet Explorer, accesando a
este cuadro de diálogo, a través de Opciones en el menú Herramientas y, a continuación, se
elige Explorador Web en la carpeta Entorno.
•Explorador de Macros: muestra todas las macros disponibles de la solución actual. Las
macros se muestran en forma de vista de árbol. Para ver una lista de los módulos de cada
macro, se expande el nombre del módulo.
CON EL RATÓN
Para abrir un módulo, se debe hacer doble click en su nombre o hacer click con el botón
secundario del ratón en su nombre y luego se elige Editar.
CON EL TECLADO
Si desea obtener acceso a la ventana Explorador de macros, se debe presionar Alt+F8 o elegir
Explorador de macros en el comando Otras ventanas del menú Ver.
•Examinador de Objetos: permite examinar y encontrar objetos (espacios de nombres, clases,
estructuras, interfaces, tipos, enumeraciones, etc.) y los miembros (propiedades, métodos,
eventos, variables, constantes, elementos de enumeración, etc.) de varios componentes.
Estos componentes pueden ser proyectos de la solución, componentes a los que se hace
referencia en esos proyectos y componentes externos. Se puede determinar qué
componentes aparecen en cualquier momento eligiendo y personalizando el ámbito de
exploración.
CON EL TECLADO
Para abrir el Examinador de objetos, se presiona Ctrl+Alt+J.
CON EL RATÓN
También se puede realizar la anterior acción haciendo click en Examinador de objetos en el
comando Otras ventanas del menú Ver.
•Esquema del documento: proporciona una vista anidada en esquema de los elementos y
secuencias de comandos del documento actual. Tanto en la vista Diseño como en la vista
HTML, se puede abrir la ventana Esquema del documento desde el menú Otras ventanas en
el menú Ver. Esta ventana proporciona una forma fácil de buscar y seleccionar elementos en
la página, así como una mejor comprensión de la estructura lógica del documento.
CON EL RATÓN
Es posible expandir y contraer entradas a medida que el usuario se desplaza por el esquema, y
hacer doble click en cualquier elemento listado para buscarlo y seleccionarlo en el editor.
EXPLORADOR DE SOLUCIONES
25. Módulo 2 – Conociendo el Entorno de Trabajo 25
El Explorador de soluciones proporciona una vista organizada de los proyectos y sus archivos,
así como acceso rápido a los comandos relativos a ellos. Normalmente, una barra de
herramientas asociada a esta ventana ofrece los comandos que se utilizan con más frecuencia
con el elemento resaltado en la lista. Para tener acceso al Explorador de soluciones, seleccione
Explorador de soluciones en el menú Ver. El Explorador de Soluciones es presentado en la
siguiente Figura:
Explorador de Soluciones
El Explorador de soluciones permite visualizar elementos y realizar tareas de administración
de elementos en una solución o en un proyecto, además permite utilizar los editores de Visual
Studio .NET, para trabajar en archivos fuera del contexto de una solución o proyecto. Una única
solución y sus proyectos se muestran mediante una presentación jerárquica, que proporciona
información actualizada sobre el estado de la solución, los proyectos y los elementos. Esto
permitirá trabajar en varios proyectos al mismo tiempo.
La administración de los elementos que se muestran en el Explorador de soluciones se basa
en la relación del elemento con los contenedores del proyecto y de la solución. Los elementos
pueden relacionarse de las siguientes formas:
•Como elementos del proyecto, que aparecen debajo de una carpeta de proyecto en el
Explorador de soluciones; por ejemplo, formularios, archivos de código fuente y clases.
•Como elementos de la solución, que aparecen en la carpeta Elementos de la solución en el
Explorador de soluciones.
•Como archivos varios, es decir, archivos que no están asociados a ningún proyecto ni a
ninguna solución y que se muestran en la carpeta Archivos varios.
El Explorador de soluciones es flexible en el sentido de que permite trabajar
independientemente de un proyecto, en otras palabras, pueden modificarse y crearse archivos
sin un proyecto. El Explorador de soluciones muestra este tipo de archivos en la carpeta
Archivos varios. También es posible trabajar con archivos asociados únicamente a la solución.
Estos elementos se mostrarán en la carpeta Elementos de la solución.
Centro de Educación
26. 26 Conociendo el Entorno de Trabajo
VISTA DE ÁRBOL
Esta vista muestra una lista de los elementos del proyecto, permitiendo abrirlos para
modificarlos o realizar otras tareas de administración. En esta vista, una única solución sirve
como contenedor de uno o varios proyectos y de los elementos asociados a esos proyectos. Si
desea asociar los archivos a la solución pero no a un proyecto específico, puede agregar los
elementos directamente a la solución; después, los elementos aparecen en la carpeta
Elementos de la solución.
Además, el Explorador de Soluciones puede mostrar en la carpeta Archivos varios los
archivos que no están asociados a ninguna solución o proyecto. Normalmente, se trata de
archivos generales que han sido abiertos o creados.
Si se desea que los archivos varios aparezcan en la vista de árbol, se debe activar la opción
Mostrar archivos varios en el Explorador de Soluciones, disponible en la página
Documentos de las opciones Entorno. De forma predeterminada, los archivos sólo aparecen
como documentos en el entorno de desarrollo integrado (IDE) mientras están abiertos.
La página Documentos de las opciones de Entorno es visualizada en la siguiente Figura:
Página Documentos de Opciones
La vista de árbol muestra la relación lógica entre la solución y los proyectos o elementos de
proyecto. La vista no representa necesariamente una relación de almacenamiento físico.
PROYECTO EN NEGRITA
El proyecto que se muestra en negrita está seleccionado como Proyecto de inicio; esto es con
propósitos de ejecución y depuración. Si existe más de un proyecto de inicio, entonces se
muestra en negrita el nodo de la solución en la vista de árbol. Los proyectos de inicio se
ejecutan automáticamente al iniciar el depurador de Visual Studio .NET. Por defecto, el primer
proyecto que se crea en la solución, es designado como proyecto de inicio. Sin embargo, se
puede cambiar el proyecto que se inicia al utilizar el depurador de Visual Studio .NET.
27. Módulo 2 – Conociendo el Entorno de Trabajo 2 7
Se debe considerar que un proyecto no se ejecuta automáticamente si sólo se selecciona en el
Explorador de soluciones y, después, se inicia el depurador.
SOLUCIÓN EN NEGRITA
Cuando una solución se muestra en negrita, indica que la opción para ejecutar varios proyectos
al iniciar el depurador está habilitada. Aunque la opción está habilitada, no significa que se
hayan seleccionado proyectos para ejecutarse; de forma predeterminada, están configurados
para que no se ejecuten.
COMANDOS
Desde el Explorador de soluciones se pueden abrir archivos, agregar y quitar elementos y
realizar otras tareas de administración. Cada plantilla de proyecto dispone de sus propias
carpetas e iconos para indicar la naturaleza de los elementos del proyecto. Además, también se
pueden agregar carpetas y elementos que se ajusten a las necesidades de un proyecto en
específico.
Los iconos indican diferente información acerca de un elemento. Como por ejemplo, según el
proyecto, se podría ver un icono que indique que el elemento es un archivo HTML o que un
archivo está bajo el control del código fuente. Además, cada plantilla de proyecto determina qué
herramientas y diseñadores están asociados a un tipo de archivo, así como los comandos
disponibles para la administración de elementos. Al seleccionar una solución, proyecto o
elemento en la lista, automáticamente se actualizan los comandos disponibles. Por ejemplo, el
comando Copiar Web sólo está disponible en la barra de herramientas del Explorador de
soluciones si hay una aplicación Web seleccionada en la lista.
CON EL RATÓN
Se puede hacer doble click en un archivo para mostrarlo en el diseñador, herramienta o editor
asociado al tipo de archivo. Para cambiar el editor predeterminado de algunos tipos de archivo,
se debe hacer click con el botón derecho en el archivo y, después, se elige Abrir con… en el
menú contextual.
También es posible seleccionar varios elementos de un solo proyecto o varios elementos que
abarquen varios proyectos. Se seleccionan varios elementos cuando se desea llevar a cabo
operaciones por lotes, como por ejemplo, abrir simultáneamente varios archivos para editar, o
cuando se desee determinar o editar las propiedades que comparten dos o más elementos de
solución. Al seleccionar varios elementos, los comandos disponibles representan la intersección
de los comandos comunes a todos los elementos seleccionados.
ICONOS DE BARRA DE HERRAMIENTAS DEL EXPLORADOR DE SOLUCIONES
En la barra de herramientas del Explorador de soluciones sólo aparecen los botones
específicos del elemento seleccionado en la lista, es decir, si se selecciona un archivo
específico, aparece un conjunto de botones en la barra de herramientas, según el tipo de
archivo seleccionado. Debido a que el proyecto seleccionado determina los iconos de la barra
de herramientas, la siguiente Tabla presenta una representación parcial de los que se podrían
Centro de Educación
28. 28 Conociendo el Entorno de Trabajo
encontrar al trabajar en el Explorador de soluciones.
Icono Comando Descripción
Mostrar todos los
archivos
Muestra todos los elementos de proyecto, incluso los
excluidos y los que normalmente están ocultos. Inicialmente,
el proyecto determina qué elementos están ocultos.
Copiar proyecto
Abre el cuadro de diálogo Copiar proyecto para copiar un
proyecto Web completo o un conjunto de proyectos Web de
un servidor Web a otro. También puede duplicar un proyecto
Web en el mismo servidor con un nombre nuevo. Este
comando sólo está disponible cuando hay un proyecto Web
seleccionado.
Abrir
Abre el elemento seleccionado en el editor predeterminado
para ese elemento.
Ver código
Abre el archivo seleccionado para editarlo en el Editor de
código.
Actualizar
Actualiza el estado de los elementos seleccionados en la
vista activa de un proyecto Web.
Propiedades
Muestra la interfaz de usuario de propiedades
correspondiente al elemento seleccionado en la vista de
árbol.
La siguiente tabla presenta los iconos de señal que muestran información sobre el estado de los
archivos:
Icono Comando Descripción
Elemento no encontrado Elemento no encontrado.
Protegido
Elemento incluido en una base de datos de
control de código fuente.
VENTANA DE PROPIEDADES
Esta ventana es utilizada para visualizar y cambiar las propiedades y eventos en tiempo de
diseño de los objetos seleccionados que están localizados en editores y diseñadores, e
igualmente, se puede utilizar dicha ventana para editar y ver las propiedades de los archivos,
proyectos y soluciones. La ventana Propiedades está disponible desde el menú Ver, y también
desde el menú contextual de cada elemento seleccionado. La ventana Propiedades muestra
distintos tipos de campos de edición, según las necesidades de una propiedad determinada.
Entre estos campos de edición se incluyen cuadros de edición, listas desplegables y vínculos a
cuadros de diálogo de editor personalizado. Las propiedades que se muestran en gris son de
29. Módulo 2 – Conociendo el Entorno de Trabajo 29
sólo lectura.
Ventana de Propiedades
La siguiente Tabla muestra los iconos y paneles de esta Ventana:
Elemento y/o Gráfico Descripción
Nombre de objeto
Lista el (los) objeto(s) actualmente seleccionado(s). Sólo son
visibles los objetos del diseñador activos. Cuando se
seleccionan varios objetos, sólo aparecen sus propiedades
comunes.
Por categorías
Presenta por categorías todas las propiedades y sus valores
para el objeto seleccionado, en forma alfabética. Puede
contraerse una categoría y reducir el número de propiedades
visibles; al Cuando se expande o contrae una categoría, se
ve un signo más (+) o menos (-) a su izquierda.
Alfabética Ordena alfabéticamente las propiedades y eventos en tiempo
de diseño de los objetos seleccionados.
Propiedades Presenta las propiedades de un objeto. Existen muchos
objetos que también tienen eventos, los cuales pueden ser
vistos en la ventana Propiedades.
Página de Propiedades
Presenta el cuadro de diálogo Páginas de propiedades del
objeto seleccionado, que muestra subconjunto, conjunto o
súper conjunto de propiedades disponibles en ventana
Propiedades, siendo usada para ver y editar propiedades
relacionadas con la configuración activa del proyecto.
Panel de descripción
Muestra una breve descripción de la propiedad seleccionada
del objeto activo. Esta opción puede ser activada y
desactivada utilizando el comando Descripción del menú
contextual.
CUADRO DE HERRAMIENTAS
Centro de Educación
30. 30 Conociendo el Entorno de Trabajo
El Cuadro de herramientas presenta varios elementos que pueden ser usados en proyectos
de Visual Studio; las fichas y elementos disponibles en el cuadro de herramientas pueden variar
de acuerdo al diseñador o editor activo. Entre estos elementos, pueden mencionarse
componentes .NET, componentes .COM, objetos HTML, fragmentos de código y texto. También
se puede tener acceso al Cuadro de herramientas desde el menú título Ver.
El Cuadro de herramientas presenta siempre dos fichas, una ficha General y una ficha Anillo
del portapapeles; al abrir un editor o un diseñador, se agregan otras fichas y herramientas.
También se pueden agregar otras fichas y herramientas personalizadas al Cuadro de
herramientas.
Se pueden seleccionar y arrastrar elementos, textos y controles desde el Cuadro de
Herramientas a formularios, páginas y diseñadores, y arrastrar nuevamente dichos elementos
desde estos orígenes al Cuadro de herramientas, para así volver a utilizarlos posteriormente.
FICHA GENERAL
La Ficha General es la que aparece por defecto cada vez que se abre el Cuadro de
herramientas. Es utilizada para almacenar controles predeterminados para los proyectos,
incluidos los controles personalizados. Inicialmente, la ficha General del Cuadro de
herramientas sólo contiene la herramienta Puntero.
FICHA ANILLO DEL PORTAPAPELES
La Ficha Anillo del Portapapeles almacena los últimos doce elementos agregados al Anillo
del Portapapeles del sistema mediante los comandos Cortar o Copiar. Estos elementos
pueden arrastrarse desde dicha ficha y colocarse en la superficie activa de edición o diseño.
CON EL TECLADO
Para recorrer el contenido de esta ficha mientras se trabaja en un editor o un diseñador, se
presiona Ctrl+Mayús+V repetidamente, esto permite pegar los sucesivos elementos en el
archivo activo, sustituyendo el último elemento insertado con el siguiente seleccionado. Cuando
aparece el elemento deseado, se puede presionar Ctrl+V (pegar) repetidamente para pegar
varias veces el elemento seleccionado actualmente.
FICHA COMPONENTES
La Ficha Componentes presenta los componentes que pueden agregarse a los diseñadores
de Visual Basic (también es aplicable para Visual C#). Además de los componentes de .NET
Framework suministrados con Visual Studio, tales como MessageQueue y EventLog, también
se pueden agregar componentes de terceros. La Tabla siguiente presenta una breve
descripción de los componentes predeterminados de la Ficha Componentes:
Componente Descripción
FileSystemWatcher
Crea una instancia que permite supervisar cambios en cualquier
directorio o archivo al que se puede tener acceso.
31. Módulo 2 – Conociendo el Entorno de Trabajo 3 1
EventLog
Crea una instancia que permite interactuar con registros de
eventos, tanto de sistema como personalizados, incluida la
anotación de eventos en un registro y la lectura de datos de un
registro.
DirectoryEntry
Crea una instancia que encapsula un nodo o un objeto de la
jerarquía Active Directory y que se puede utilizar para
interactuar con proveedores de servicios de Active Directory.
DirectorySearcher
Crea una instancia que se utiliza para realizar consultas en
Active Directory.
MessageQueue
Crea una instancia utilizada para interactuar con colas de
mensajes, permite leer mensajes de colas y escribir mensajes en
colas, procesar transacciones y realizar tareas de administración
de colas.
PerformanceCounter
Crea una instancia empleada para interactuar con contadores de
rendimiento de Windows, y también se pueden crear nuevas
categorías e instancias, leer valores de contadores y realizar
cálculos con datos del contador.
Process Crea una instancia que permite finalizar, iniciar y manipular los
datos asociados con procesos del sistema. Para obtener más
detalles, vea Supervisar y administrar procesos de Windows.
ServiceController Crea una instancia que permite manipular servicios existentes,
así se pueden iniciar y detener servicios y enviar comandos a los
mismos.
Timer
Crea una instancia que permite agregar a las aplicaciones
basadas en Web o en servidor, una funcionalidad basada en el
tiempo.
ReportDocument
Crea un objeto ReportDocument que representa una instancia de
un informe de Crystal Report.
FICHA WINDOWS FORMS
La Ficha Windows Forms muestra una lista de los Controles de formularios Windows Forms y
cuadros de diálogo que pueden usarse con las aplicaciones Windows. Los controles y
componentes de la ficha Windows Forms están ordenados según una estimación de su
frecuencia de uso.
CON EL RATÓN
Para establecer que el orden sea alfabético, basta con hacer clic con el botón secundario del
ratón en la ficha Cuadro de herramientas y elegir Ordenar elementos alfabéticamente. La
mayoría de estos controles serán tratados en capítulos posteriores.
FICHA DATOS
Centro de Educación
32. 32 Conociendo el Entorno de Trabajo
La Ficha Datos muestra objetos de datos que se pueden agregar a formularios y componentes
de Visual Basic (aplicable a C#). Esta ficha aparece al crearse proyectos que tienen asociados
un diseñador.
CON EL TECLADO
Para ver directamente el tema de referencia de .NET Framework sobre un componente, se
debe presionar F1 en el elemento del Cuadro de herramientas o en el elemento del
componente en la bandeja del diseñador. Los componentes de esta ficha son descritos en la
Tabla que se muestra a continuación:
Componente Descripción
DataSet
Cuando se coloca este objeto en un diseñador, aparece un cuadro
de diálogo que permite seleccionar una clase de conjunto de datos
con tipo existente o especificar que se desea crear un conjunto de
datos nuevo, en blanco y sin tipo. Este objeto no se usa para crear
el esquema y la clase de un nuevo conjunto de datos con tipo.
OleDbDataAdapter
Permite ejecutar instrucciones SQL o procedimientos almacenados
con un origen de datos compatible con OLEDB. Cuando se coloca
este objeto en un diseñador, se inicia el Data Adapter
Configuration Wizard, que facilita la creación de una conexión y la
configuración de instrucciones SQL o procedimientos almacenados
destinados a operaciones con el origen de datos.
OleDbConnection
Permite comunicarse con un origen de datos compatible con
OLEDB. Después de agregar una conexión al formulario o
componente, se puede usar la ventana Propiedades para
determinar la información de la cadena de conexión.
OleDbCommand
Permite configurar una única instrucción SQL o procedimiento
almacenado que se puede ejecutar directamente. Los objetos de
comandos de datos requieren que además exista un objeto de
conexión disponible.
SqlDataAdapter
Es similar al objeto OleDbDataAdapter, pero optimizado para SQL
Server 7.0 o versiones posteriores.
SQLConnection
Crea un objeto de conexión que permite comunicarse con SQL
Server 7.0 o versiones posteriores.
SQLCommand
Es similar al objeto OleDbCommand (vea más arriba), pero
optimizado para SQL Server 7.0 o versiones posteriores.
DataView
Crea una vista de datos, que permite especificar opciones de filtro
y de ordenación en un objeto al que se pueden enlazar controles.
FICHA WEB FORMS
La Ficha Web Forms muestra una lista de controles de servidor Web y controles de validación
33. Módulo 2 – Conociendo el Entorno de Trabajo 33
que pueden agregarse a los formularios Web Forms. Esta ficha sólo está disponible cuando se
trabaja en la vista Diseño del diseñador de formularios Web Forms.
Para crear controles de servidor HTML en páginas de formularios Web Forms, también puede
agregar elementos desde la ficha HTML del Cuadro de herramientas y, a continuación,
convertirlos en controles. Los controles de validación permiten al usuario validar cualquier
control Web o control HTML de la página de formularios Web Forms.
Por defecto, una página de formularios Web Forms utiliza el modo de diseño de cuadrícula, es
decir, los elementos se disponen utilizando coordenadas x e y. También puede utilizar el modo
de diseño de flujo, en el que los elementos se colocan como en una página HTML tradicional, es
decir, de arriba a abajo. La Tabla siguiente muestra los controles que aparecen en forma
predeterminada en dicha ficha:
Componente Descripción
AdRotator Muestra una secuencia (predefinida o aleatoria) de
imágenes.
Button Envía la página de formularios Web Forms a un servidor
para su procesamiento.
Calendar Muestra un calendario que permite que los usuarios
seleccionen una fecha.
CheckBox Muestra un cuadro en el que los usuarios pueden hacer
clic para activarlo o desactivarlo.
CheckBoxList Crea un grupo de casillas de verificación. Facilita la
creación de casillas de verificación mediante el enlace a
datos.
CompareValidator Compara el valor de un control de entrada asociado con
otro control de entrada o con un valor constante.
CrystalReportViewer Aloja un informe creado con Crystal Reports en una
página Web.
CustomValidator Permite que código personalizado ejecute validación
sobre el cliente o el servidor.
DataGrid Muestra información, habitualmente enlazada a datos, en
formato de tabla con columnas. Proporciona mecanismos
para permitir la edición y ordenación.
DataList Similar al control Repeater, pero con más opciones de
formato y diseño, incluida la capacidad de mostrar
información en una tabla. Este control permite especificar
el comportamiento de la edición.
DropDownList Permite seleccionar de una lista o escribir texto.
HyperLink Crea vínculos de desplazamiento Web.
Centro de Educación
34. 34 Conociendo el Entorno de Trabajo
Image Muestra una imagen.
ImageButton Similar a un control Button, pero incorpora una imagen en
lugar de texto.
Label Muestra texto que los usuarios no pueden modificar
directamente.
LinkButton Similar a un control Button, pero tiene la apariencia de un
hipervínculo.
ListBox Muestra una lista de opciones.
Literal Se muestra como texto literal (sin etiquetas HTML),
proporciona una forma sencilla de poner texto en una
página a partir de código de servidor.
Panel Crea una división sin bordes en el formulario que sirve
como contenedor para otros controles.
PlaceHolder Proporciona un contenedor para almacenar controles de
servidor agregados dinámicamente a la página Web. No
produce ningún resultado visible y sólo se utiliza como
contenedor para otros controles de la página Web.
RadioButton Muestra un botón único que puede activarse o
desactivarse.
RadioButtonList Crea un grupo de botones de opción. Dentro del grupo,
sólo se puede seleccionar un botón.
RangeValidator Comprueba si el valor de un control de entrada se
encuentra dentro de un intervalo especificado de valores.
RegularExpressionValidator Valida si el valor de un control de entrada asociado
coincide con el modelo especificado por una expresión
regulada.
Repeater Muestra o presenta información procedente de un
conjunto de datos mediante un conjunto de elementos y
controles HTML especificados y repite los elementos una
vez por cada registro del conjunto.
RequiredFieldValidator Convierte el control de entrada asociado en un campo
requerido.
Table Crea una tabla. Puede agregar filas y columnas en el
código del servidor.
TextBox Muestra texto escrito en tiempo de diseño que puede ser
editado por los usuarios en tiempo de ejecución o ser
modificado mediante programación.
ValidationSummary Muestra un resumen de todos los errores de validación en
línea en una página Web, en un cuadro de mensaje o en
ambos.
35. Módulo 2 – Conociendo el Entorno de Trabajo 35
XML Muestra información de un archivo o secuencia XML y
opcionalmente permite aplicar transformaciones XSLT.
FICHA HTML
La Ficha HTML proporciona componentes útiles para las páginas y los formularios Web. Para
ver esta ficha, se debe abrir primero un documento para editarlo en el diseñador de HTML.
Luego, en el Cuadro de seleccione la ficha HTML.
CON EL RATÓN
Para crear una instancia de una herramienta en la ficha HTML, se debe hacer doble click en la
herramienta para agregarla al documento en el punto de inserción actual o, seleccionar la
herramienta y arrastrarla a la posición que se desee de la superficie de edición.
La Tabla siguiente presenta las herramientas disponibles por defecto, de la ficha HTML:
Componente Descripción
Herramienta seleccionada por defecto al abrir cualquier ficha del Cuadro de
herramientas. No se puede eliminar. Permite arrastrar objetos a la superficie de
la vista Diseño, cambiar su tamaño y cambiar su ubicación en la página o
formulario.
Inserta un elemento <DIV> que incluye un atributo
ms_positioning="FlowLayout". Excepto por WIDTH y HEIGHT,
este elemento es idéntico a un control Flow Layout Panel. Para dar formato al
texto contenido en un elemento <DIV>, agregue un atributo
CLASS="stylename" a la etiqueta de apertura. Cuando se arrastra y se
coloca en la superficie de la vista Diseño, en el documento se inserta el
siguiente código HTML:
<div ms_positioning="FlowLayout" style="WIDTH: 70px; POSITION: relative;
HEIGHT: 15px">Label</div>
Inserta un elemento <INPUT> de type="button". Para cambiar el texto que se
muestra, se modifica la propiedad name.
Por defecto, id="Button1" para el primer control Button que se inserta, y
así sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista
Diseño, en el documento se inserta el código HTML siguiente:
<input id="Button1" type="button" value="Button" name="Button1">
Inserta un elemento <INPUT> de type="reset". Para cambiar el texto que se
muestra, se modifica la propiedad name.
Por defecto, id="Reset1" para el primer control Reset que se inserta, y así
sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista
Centro de Educación
36. 36 Conociendo el Entorno de Trabajo
Diseño, en el documento se inserta el código HTML siguiente:
<input id="Reset1" type="reset" value="Reset" name="Reset1">
Inserta un elemento <INPUT> de type="submit". Para cambiar el texto que se
muestra, se modifica la propiedad name.
Por defecto, id="Submit1" para el primer control Submit que se inserta, y así
sucesivamente.
Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el
documento se inserta el código HTML siguiente:
<input id="Submit1" type="submit" value="Submit" name="Submit1">
Inserta un elemento <INPUT> de type="text" en el documento. Para cambiar el
texto predeterminado que se muestra, se modifica la propiedad value.
Por defecto, id="Text1" para el primer control Button que se inserta, y así
sucesivamente. Cuando se arrastra y se coloca el icono Text Field en la
superficie de la vista Diseño, en el documento se inserta el siguiente código
HTML:
<input id="Text1" TYPE="text" value="Text Field" name="Text1">
Inserta un elemento <TEXTAREA>. Puede cambiar el tamaño del control Text
Area o utilizar sus barras de desplazamiento para ver texto que se extienda más
allá de su área de presentación. Para cambiar el texto predeterminado que se
muestra, se modifica la propiedad value. Por defecto, id="TEXTAREA1"
para el primer control Text Area que se inserta, y así sucesivamente. Cuando se
arrastra y se coloca en la superficie de la vista Diseño, en el documento se
inserta el siguiente código HTML:
<textarea id="TEXTAREA1 name="TEXTAREA1" rows=2 cols=20></textarea>
Inserta un elemento <INPUT> de type="file" en el documento. Por
defecto, id="File1" para el primer control File Field que se inserta, y así
sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista
Diseño, en el documento se inserta el código HTML siguiente:
<input id="File1" type="file" name="File1">
Inserta un elemento <INPUT> de type="password". Por defecto,
id="Password1" para el primer control File Field que se inserta, y así
sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista
Diseño, en el documento se inserta el código HTML siguiente:
<input id="Password1" type="password" name="Password1">
Inserta un elemento <INPUT> de type="checkbox". Para cambiar el
texto que se muestra, se modifica la propiedad name. Por defecto,
id="Checkbox1" para el primer control Checkbox que se inserta, y así
sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista
37. Módulo 2 – Conociendo el Entorno de Trabajo 3 7
Diseño, en el documento se inserta el siguiente código HTML:
<input id="Checkbox1" type="checkbox" name="Checkbox1">
Inserta un elemento <INPUT> de type="radio". Para cambiar el texto
que se muestra, se modifica la propiedad name. Por defecto,
id="Radio1" para el primer control Button que se inserta,
id="Radio1" para el segundo y así sucesivamente. Cuando se arrastra y
se coloca en la vista Diseño, en el documento se inserta el siguiente código:
<input id="Radio1" type="radio" name="Radio1">
Inserta un elemento <INPUT> de type="hidden". Por defecto, id="Hidden1" para
el primer control File Field que se inserta, y así sucesivamente.
Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el
documento se inserta código HTML similar al siguiente:
<input id="Hidden1" type="hidden" name="Hidden1">
Inserta un elemento <TABLE>.
Cuando se arrastra y se coloca este icono en la vista Diseño, en el documento
se inserta código HTML similar al siguiente:
<table cellspacing="1" width="75%" border=1> <tr><td></td></tr></table>
Inserta un elemento <DIV> que incluye un atributo
ms_positioning="FlowLayout" preestablecido. Es utilizado para
implementar un modelo de edición 1D/2D. Cuando se establece la propiedad
pageLayout de un documento HTML o un formulario Web en FlowLayout y,
luego, se arrastra y se coloca el icono Flow Layout Panel en vista Diseño, en el
documento se inserta el código HTML:
<DIV style="WIDTH: 100px; HEIGHT: 100px"
ms_positioning="FlowLayout"></DIV>
Inserta un elemento <DIV> que incluye un atributo ms_positioning="GridLayout"
preestablecido. Es utilizado para implementar un modelo de edición 1D/2D.
Cuando se establece la propiedad pageLayout de un documento HTML o
un formulario Web en GridLayout y, luego, se arrastra y se coloca el icono Grid
Layout Panel en la vista Diseño, en el documento se inserta este código:
<DIV style="Z-INDEX: 102; LEFT: 332px; WIDTH: 100px; POSITION: absolute;
TOP: 123px; HEIGHT: 100px" ms_positioning="GridLayout"></DIV>
Inserta un elemento <img>. Modifique este elemento para especificar su src
y su texto alt. Cuando se arrastra y se coloca el icono Image en la vista
Diseño, en el documento se inserta el código HTML siguiente:
<img alt="" src="">
Centro de Educación
38. 38 Conociendo el Entorno de Trabajo
Inserta un elemento <select> multilínea con size=2. Para mostrar una lista más
larga, modifique el atributo size.
Cuando se arrastra y se coloca en la vista Diseño, en el documento se inserta el
código HTML siguiente:
<select id="SELECT1" size=2 name="SELECT1"><option></option></select>
Inserta un elemento <select> desplegable (sin atributo size). Por defecto,
id="SELECT1" para el primer control que se inserta, y así sucesivamente.
Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el
documento se inserta el código HTML siguiente:
<select id="SELECT1" name="SELECT1"><option selected></option></select>
Inserta un elemento <HR>. Para aumentar el grosor de la línea, modifique el
atributo size. Cuando se arrastra y se coloca en la superficie de la vista
Diseño, en el documento se inserta el código HTML siguiente:
<hr width="100%" size=1>
Inserta un fragmento de código HTML previamente guardado en la ficha HTML.
Cuando se arrastra y se coloca el icono HTML Fragment en la superficie de la
vista Diseño, en el documento se inserta código HTML previamente copiado.
Inserta un fragmento de texto previamente guardado en la ficha HTML. Cuando
se arrastra y se coloca el icono Text Fragment en la superficie de la vista
Diseño, en el documento se inserta el texto previamente copiado.
FICHA ESQUEMA XML
XML desempeña un papel fundamental en la manera de controlar los datos en Visual
Studio .NET. XML se utiliza de las siguientes formas:
•Los conjuntos de datos pueden serializar sus datos como XML. El esquema de un conjunto de
datos, es decir, las tablas, columnas, tipos de datos y restricciones que se encuentran en el
conjunto de datos, se define mediante un esquema XML (archivo .xsd).
•Se pueden inferir esquemas XML de conjuntos de datos existentes y crear conjuntos de datos
de esquemas XML existentes.
Esta ficha muestra los elementos que se pueden agregar a los esquemas XML y a los
conjuntos de datos ADO.NET cuando el Diseñador XML se encuentra en la vista de esquema.
La ficha Esquema XML está disponible siempre que se trabaja con archivos .xsd, ya
pertenezcan éstos a conjuntos de datos ADO.NET o a esquemas XML. En los esquemas
XML, los atributos, grupos de atributos, tipos complejos, etc. se consideran todos como
elementos. La Tabla que se presenta a continuación, permite observar los elementos y/o
componentes que forman parte de esta ficha:
Elemento Descripción
39. Módulo 2 – Conociendo el Entorno de Trabajo 39
Element Crea un elemento que puede ser global, agregado a otros elementos,
agregado a grupos o usado para generar elementos complexType.
Atributte Crea un atributo que puede ser global, agregado a elementos o agregado a
grupos.
attributeGroup Crea un elemento attributeGroup que puede ser global, agregado a
elementos o utilizado en la creación de elementos complexType.
complexType Crea elementos complexType a los que pueden agregarse elementos,
atributos, attributeGroups, anys y anyAttributes.
simpleType Crea un elemento simpleType al que se pueden agregar aspectos.
group Crea grupos que pueden ser globales, agregados a otros grupos,
elementos o tipos complejos.
any Crea un elemento any que puede agregarse a elementos, tipos complejos
o grupos.
anyAttribute Crea un elemento anyAttribute que puede agregarse a elementos, grupos
de atributos o tipos complejos.
facet Crea un aspecto que puede agregarse a un tipo simple. Los aspectos
pueden usarse para restringir aún más la definición de los tipos simples.
key Abre el cuadro de diálogo Editar clave que se usa para crear claves
cuando se agregan columnas a un elemento. Las claves son los campos
primarios que establecen las relaciones.
Relation Abre el cuadro de diálogo Editar relación que se usa para definir las
relaciones entre los elementos.
Visual Studio trabaja con archivos XML, esquemas XML y conjuntos de datos ADO.NET
fácilmente para proporcionar una herramienta visual, en este caso, el Diseñador XML, que es
utilizado para crear y editar archivos de esquemas XML, conjuntos de datos ADO.NET,
archivos de datos XML y código fuente XML. El Diseñador XML tiene tres vistas:
•Vista Esquema, que permite editar de forma visual esquemas XML y conjuntos de datos
ADO.NET.
•Vista de datos, que permite editar de forma visual archivos de datos XML mediante una
cuadrícula de datos estructurada.
•Vista XML, que permite trabajar directamente con código fuente XML mediante codificación de
color, IntelliSense y finalización de instrucciones.
EXPLORADOR DE SERVIDORES
El Explorador de servidores es empleador para ver y manipular vínculos con datos,
conexiones a bases de datos y recursos del sistema en cualquier servidor de la red al que tenga
acceso. Sus funciones son resumidas a continuación:
Centro de Educación
40. 40 Conociendo el Entorno de Trabajo
•Abrir conexiones a datos.
•Iniciar la sesión en servidores y mostrar sus bases de datos y servicios del sistema, como
registros de eventos, colas de mensajes, contadores de rendimiento, servicios del sistema y
bases de datos SQL.
•Ver información acerca de los servicios Web disponibles y los métodos y esquemas que
ofrecen.
•Establecer conexiones de datos con SQL Server u otras bases de datos.
•Guardar proyectos y referencias de bases de datos.
•Arrastrar nodos a los proyectos de Visual Studio .NET, creando componentes de datos que
hagan referencia al recurso de datos o supervisen su actividad.
•Interactuar con los recursos de datos mediante la programación de los componentes de datos
creados en los proyectos de Visual Studio .NET.
En la siguiente Tabla se enumeran los tipos de nodo disponibles en el Explorador de
servidores:
Nodo Descripción
Conexiones de datos
Nodo de nivel superior que muestra conexiones de datos agregadas por
usuarios al servidor. Establece conexiones de datos con muchos tipos de
bases de datos, como bases de datos que se ejecuten en los sistemas
operativos UNIX ó Microsoft Windows.
Nodos secundarios
Nodos situados bajo cada conexión, y enumeran diagramas, tablas,
vistas, procedimientos almacenados y funciones de base de datos. En
algunas versiones sólo se admiten ciertos tipos de conexión.
Servidores
Nodo de nivel superior que muestra los servidores disponibles para su
utilización. Bajo cada nodo de servidor se muestran las bases de datos
y los recursos de servidor que puede utilizar en las aplicaciones. El
nodo Servidores del Explorador de servidores no está disponible en
Visual Basic .NET Standard.
Servicios Crystal
Nodo secundario del nodo Servidores. Muestra las opciones disponibles
de generación de informes en Crystal Reports.
Registros de eventos
Nodo secundario del nodo Servidores. Muestra los registros de
aplicación, seguridad y sistema del servidor Microsoft Windows 2000 o
Windows NT 4.0 seleccionado y los registros personalizados presentes
en el servidor.
Colas de mensajes Nodo secundario del nodo Servidores. Muestra las colas de mensajes
disponibles en el servidor seleccionado, junto con los mensajes que
41. Módulo 2 – Conociendo el Entorno de Trabajo 4 1
contiene cada cola.
Contadores de
rendimiento
Nodo secundario del nodo Servidores. Muestra los contadores de
rendimiento del servidor Windows 2000 o Windows NT 4.0
seleccionado.
Servicios
Nodo secundario del nodo Servidores. Muestra los servicios existentes
en el servidor Windows 2000 o Windows NT 4.0 seleccionado, así como
el estado actual de cada servicio.
Servidores SQL
Server
Nodo secundario del nodo Servidores. Muestra las bases de datos de
SQL Server disponibles en el servidor seleccionado, permite acceso a
ellas desde los componentes de datos de Visual Studio .NET.
Componentes
adicionales
Algunos proveedores ofrecen más componentes para. Algunas
versiones de Visual Studio .NET no admiten componentes adicionales.
VENTANA DE RESULTADOS
La ventana Resultados muestra mensajes de estado de diversas funciones del entorno de
desarrollo integrado (IDE). Entre ellos se encuentran los errores de generación que tienen lugar
al compilar un proyecto, y los resultados de verificar la sintaxis de TSQL de un procedimiento
almacenado con una base de datos de destino.
Algunas funciones del IDE, como las funciones de las herramientas externas o los comandos
invocados en la Ventana de comandos, generan resultados en paneles especiales de la
ventana Resultados.
También están disponibles los resultados de las herramientas externas como los archivos .bat o
.com, mostrados normalmente en la ventana DOS. Para accesar la ventana Resultados, se
selecciona Otras ventanas en el menú Ver y se elige Resultados.
DESARROLLANDO UNA APLICACIÓN WINDOWS
En la pantalla de inicio, se selecciona un nuevo proyecto. Pero en esta ocasión se elegirá una
aplicación de Windows, tal como se presenta en la Figura siguiente:
Centro de Educación
42. 42 Conociendo el Entorno de Trabajo
Cuadro de Diálogo de Nuevo Proyecto
Este proyecto tomará el nombre que se le ha asignado por defecto, WindowsApplication1. En
este proyecto se creará un formulario, que seguramente aparecerá de forma automática. En
caso contrario, en el lado derecho del entorno de trabajo, se ubica el Explorador de
Soluciones en la que se indica el proyecto actual y se muestran los archivos que lo componen,
entre estos elementos, se encuentra el formulario denominado Form1 por defecto, y se debe
hacer doble click en él para mostrarlo. El formulario es presentado en la Figura siguiente:
Formulario Form1
A continuación, se cambiará la separación de los puntos que se muestran en el formulario, con
el objeto de ajustar los controles que se añadan a dicho formulario; de forma predeterminada, la
separación es de 8x8 puntos o píxeles; se colocarán en 4x4.
En el panel de la derecha, debajo del Explorador de Soluciones, se encuentra la ventana de
Propiedades del elemento que actualmente esté seleccionado; en nuestro caso, son las
propiedades de Form1. Se procederá a buscar la propiedad GridSize para poder cambiar el
tamaño de separación. Se observa que se muestran dos valores separados por una coma, pero
también hay una cruz a la izquierda de la palabra GridSize, si se hace click en ella, se deberán
mostrar los tamaños a lo que se refieren esos valores separados por coma, tal como se
visualiza en la Figura que se presenta a continuación:
43. Módulo 2 – Conociendo el Entorno de Trabajo 43
Ventana de Propiedades de Form1
Se debe posicionar en ellos y asignarle el valor 4, así se tendrá un formulario con una
cuadrícula más pequeña, en la que será más fácil posicionar los controles que se agreguen al
formulario. Luego de haber cambiado dichos valores, éstos son mostrados en negrita, lo cual
indica que son valores que el usuario ha asignado y/o modificado, y no los que tiene en forma
predeterminada. Ahora el formulario (grid) tiene los puntos más contiguos, tal como se muestran
en la siguiente Figura:
Formulario Form1 de 4x4
Para añadir controles al formulario, se debe usar la Barra de herramientas, situada en la parte
izquierda del IDE de Visual Studio .NET, por ejemplo, para colocar una Etiqueta (Label) y una
Caja de texto (TextBox), se podrá hacer doble click sobre dichos elementos y se añadirán
automáticamente al formulario, luego se podrán situar donde mejor nos parezca, pulsando en
ellos y manteniendo el ratón pulsado.
Luego se agregará un Botón de Comando (Button) y se colocará debajo de la Caja de texto.
Para cambiar el texto que muestra el Botón de Comando, que por defecto es el nombre que el
IDE le ha asignado, Button1, se deberá usar la Ventana de propiedades; en este caso, la
propiedad de interés es Text, nos posicionamos a la derecha de ésta y escribimos Mostrar y
presionamos Enter, y se observará que el texto del botón ha cambiado.
Nota: En versiones anteriores de Microsoft Visual Basic, esta propiedad se
denominaba Caption, y a partir de esta versión la propiedad Caption no existe
en ningún control, puesto que ahora es llamada Text.
Centro de Educación
44. 44 Conociendo el Entorno de Trabajo
En la Tabla siguiente se resumen los controles, propiedades y valores para el proyecto
presentado en esta sección.
Control Propiedad Valor
Form Name Form1
Text Formulario de Bienvenida
Label Name Label1
Text Nombre
Autosize True
Textbox Name Textbox1
Button Name Button1
Text &Mostrar
Ahora se escribirá código para que se ejecute cada vez que se haga click en el botón que se ha
añadido, para ello, se selecciona el botón Mostrar y se hace doble click en él, se mostrará una
nueva ventana, denominada ventana de Código, asociada con el formulario de nuestro
proyecto, presentando el siguiente código:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
End Sub
Lo que se hará es escribir el código que se ejecutará cuando se haga click en dicho botón, lo
cual producirá el evento Click asociado con el botón; este evento se producirá si se hace un
click, si se ha presionado Enter o la barra espaciadora cuando el botón tenga el enfoque.
La nomenclatura para los eventos de Visual Basic sigue el siguiente esquema:
[Nombre del control] [Guión bajo] [Nombre del evento]
El anterior esquema es sólo una sugerencia que Visual Basic nos propone, sin embargo, en
versiones anteriores era una imposición, es decir, se puede dejar el nombre que Visual Basic
nos sugiere o asignar el nombre que se desee. Lo que es interesante es la parte final de la línea
de declaración del procedimiento de evento: Handles Button1.Click, puesto que con esto es con
lo que el compilador/intérprete determina que este procedimiento es un evento y que
dicho evento es el evento Click del objeto Button1.
Para los nombres de los controles que se usen en Visual Basic se deben seguir las siguientes
reglas ó normas:
- El nombre debe empezar por una letra o un guión bajo.
- El nombre sólo puede contener letras, números y el guión bajo.