SlideShare a Scribd company logo
1 of 264
Microsoft Visual Basic .NET
Gerson Aley
Centro de Educación
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.
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.
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.
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 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
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 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
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
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:
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
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.
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
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.
Módulo 1 – Conceptos y Fundamentos 1 5
5. Mencione una diferencia entre un Ensamblado y un Espacio de Nombres.
Centro de Educación
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
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
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.
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 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:
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 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.
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 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
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 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.
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 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
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 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.
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 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
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 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.
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 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
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 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
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 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
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 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:
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 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.
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos
Visual Basic .NET: Conceptos y Fundamentos

More Related Content

What's hot

What's hot (20)

Guia herramientas de bd
Guia herramientas de bdGuia herramientas de bd
Guia herramientas de bd
 
Fondo1 (2)
Fondo1 (2)Fondo1 (2)
Fondo1 (2)
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
Introduccion al Visual Basic subido JHS
Introduccion al Visual Basic subido JHSIntroduccion al Visual Basic subido JHS
Introduccion al Visual Basic subido JHS
 
Guia reportes
Guia reportesGuia reportes
Guia reportes
 
Unidad 1. Introducción. Conceptos fundamentales de la POO
Unidad 1. Introducción. Conceptos fundamentales de la POOUnidad 1. Introducción. Conceptos fundamentales de la POO
Unidad 1. Introducción. Conceptos fundamentales de la POO
 
Estructura basica de visual basic
Estructura basica de visual basicEstructura basica de visual basic
Estructura basica de visual basic
 
Programacion visual
Programacion visualProgramacion visual
Programacion visual
 
Programacion orientada a objetos de Felipe Tocora
Programacion orientada a objetos de Felipe TocoraProgramacion orientada a objetos de Felipe Tocora
Programacion orientada a objetos de Felipe Tocora
 
1 Paradigma Objetos
1 Paradigma Objetos1 Paradigma Objetos
1 Paradigma Objetos
 
Guía PHP Orientado a Objeto con MVC
Guía PHP Orientado a Objeto con MVC Guía PHP Orientado a Objeto con MVC
Guía PHP Orientado a Objeto con MVC
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
POO
POOPOO
POO
 
Guía Herencia PO_O
Guía Herencia PO_OGuía Herencia PO_O
Guía Herencia PO_O
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Visual basic
Visual basicVisual basic
Visual basic
 
Componentes en-poo
Componentes en-pooComponentes en-poo
Componentes en-poo
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
UML traducción código PHP
UML traducción código PHPUML traducción código PHP
UML traducción código PHP
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
 

Viewers also liked

Authentica for wine fr
Authentica for wine frAuthentica for wine fr
Authentica for wine frScratch&Screen
 
Los Chavez
Los ChavezLos Chavez
Los Chavezkal20
 
Apuntes primero celeste
Apuntes primero celesteApuntes primero celeste
Apuntes primero celesteJose Avendaño
 
La democracia
La democraciaLa democracia
La democraciaNicole
 
La Lupa Del Consumidor
La Lupa Del ConsumidorLa Lupa Del Consumidor
La Lupa Del Consumidorguestd90754
 
Institucional La Plata Valley
Institucional La Plata ValleyInstitucional La Plata Valley
Institucional La Plata Valleyguest89bb080
 
Anatomia
AnatomiaAnatomia
AnatomiaMartha
 
Ejercicio 4, Curso Power Point; RocíO Alferez Torres
Ejercicio 4, Curso Power Point; RocíO Alferez TorresEjercicio 4, Curso Power Point; RocíO Alferez Torres
Ejercicio 4, Curso Power Point; RocíO Alferez TorresRocio Alferez Torres
 
MaríA Quintero Entornos Virtuales. (1
MaríA Quintero Entornos Virtuales. (1MaríA Quintero Entornos Virtuales. (1
MaríA Quintero Entornos Virtuales. (1gueste63c00
 
Gacetilla Municipal 4 De Septiembre
Gacetilla Municipal 4 De SeptiembreGacetilla Municipal 4 De Septiembre
Gacetilla Municipal 4 De Septiembreguest927d854
 
Antoine CHOQUART - Master 2 Marketing et Communication
Antoine CHOQUART - Master 2 Marketing et CommunicationAntoine CHOQUART - Master 2 Marketing et Communication
Antoine CHOQUART - Master 2 Marketing et CommunicationAbra Racourcix
 
Prueba 03 de septiembre
Prueba 03 de septiembrePrueba 03 de septiembre
Prueba 03 de septiembreJose Avendaño
 
Ejercicio3 José Joaquín Ponferrada Cobos
Ejercicio3 José Joaquín Ponferrada CobosEjercicio3 José Joaquín Ponferrada Cobos
Ejercicio3 José Joaquín Ponferrada CobosJose_Cobos
 
Conférence Terra Nova – Le développement des relations extérieures : Quelles ...
Conférence Terra Nova – Le développement des relations extérieures : Quelles ...Conférence Terra Nova – Le développement des relations extérieures : Quelles ...
Conférence Terra Nova – Le développement des relations extérieures : Quelles ...Terra Nova Antenne Martinique
 

Viewers also liked (20)

Authentica for wine fr
Authentica for wine frAuthentica for wine fr
Authentica for wine fr
 
Los Chavez
Los ChavezLos Chavez
Los Chavez
 
Terremoto
TerremotoTerremoto
Terremoto
 
Apuntes primero celeste
Apuntes primero celesteApuntes primero celeste
Apuntes primero celeste
 
La democracia
La democraciaLa democracia
La democracia
 
La Lupa Del Consumidor
La Lupa Del ConsumidorLa Lupa Del Consumidor
La Lupa Del Consumidor
 
Institucional La Plata Valley
Institucional La Plata ValleyInstitucional La Plata Valley
Institucional La Plata Valley
 
Anatomia
AnatomiaAnatomia
Anatomia
 
TermodináMica
TermodináMicaTermodináMica
TermodináMica
 
Creando h..
Creando h..Creando h..
Creando h..
 
Calera
CaleraCalera
Calera
 
Ejercicio 4, Curso Power Point; RocíO Alferez Torres
Ejercicio 4, Curso Power Point; RocíO Alferez TorresEjercicio 4, Curso Power Point; RocíO Alferez Torres
Ejercicio 4, Curso Power Point; RocíO Alferez Torres
 
MaríA Quintero Entornos Virtuales. (1
MaríA Quintero Entornos Virtuales. (1MaríA Quintero Entornos Virtuales. (1
MaríA Quintero Entornos Virtuales. (1
 
Gacetilla Municipal 4 De Septiembre
Gacetilla Municipal 4 De SeptiembreGacetilla Municipal 4 De Septiembre
Gacetilla Municipal 4 De Septiembre
 
(427)el granodecafe
(427)el granodecafe(427)el granodecafe
(427)el granodecafe
 
Antoine CHOQUART - Master 2 Marketing et Communication
Antoine CHOQUART - Master 2 Marketing et CommunicationAntoine CHOQUART - Master 2 Marketing et Communication
Antoine CHOQUART - Master 2 Marketing et Communication
 
Prueba 03 de septiembre
Prueba 03 de septiembrePrueba 03 de septiembre
Prueba 03 de septiembre
 
Ejercicio3 José Joaquín Ponferrada Cobos
Ejercicio3 José Joaquín Ponferrada CobosEjercicio3 José Joaquín Ponferrada Cobos
Ejercicio3 José Joaquín Ponferrada Cobos
 
untitled-2a
untitled-2auntitled-2a
untitled-2a
 
Conférence Terra Nova – Le développement des relations extérieures : Quelles ...
Conférence Terra Nova – Le développement des relations extérieures : Quelles ...Conférence Terra Nova – Le développement des relations extérieures : Quelles ...
Conférence Terra Nova – Le développement des relations extérieures : Quelles ...
 

Similar to Visual Basic .NET: Conceptos y Fundamentos

Similar to Visual Basic .NET: Conceptos y Fundamentos (20)

_Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx
_Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx_Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx
_Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
 
Csharp
CsharpCsharp
Csharp
 
Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#
 
03. Curso .NET con C# autor Universidad de Alicante.pdf
03. Curso .NET con C# autor Universidad de Alicante.pdf03. Curso .NET con C# autor Universidad de Alicante.pdf
03. Curso .NET con C# autor Universidad de Alicante.pdf
 
Framework by Marcos Acosta
Framework by Marcos AcostaFramework by Marcos Acosta
Framework by Marcos Acosta
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
manual de C#
manual de C#manual de C#
manual de C#
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
 
Presentación1
Presentación1Presentación1
Presentación1
 
Programacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdfProgramacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdf
 
Trabajo de programacion
Trabajo de programacionTrabajo de programacion
Trabajo de programacion
 
Fr amework
Fr ameworkFr amework
Fr amework
 
Framework
FrameworkFramework
Framework
 
Curso de iniciacion a la programacion con visual basic net
Curso de iniciacion a la programacion con visual basic netCurso de iniciacion a la programacion con visual basic net
Curso de iniciacion a la programacion con visual basic net
 
Framework
FrameworkFramework
Framework
 
C sharp
C sharpC sharp
C sharp
 
Diseño o.o
Diseño o.oDiseño o.o
Diseño o.o
 
Diseño o.o
Diseño o.oDiseño o.o
Diseño o.o
 

Recently uploaded

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 

Recently uploaded (20)

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 

Visual Basic .NET: Conceptos y Fundamentos

  • 1. Microsoft Visual Basic .NET Gerson Aley Centro de Educación
  • 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.