You are on page 1of 39

DESARROLLO APLICACIONES WINDOWS

EN C# USANDO VISUAL STUDIO .NET

Estructura de contenidos
INTRODUCCIÓN........................................................................3
1. INTRODUCCIÓN A VISUAL STUDIO .NET...................................3
1.2. Características principales....................................................4
1.3. Arquitectura Framework de .Net............................................5
2. PROGRAMACIÓN ORIENTADA A OBJETOS .................................8
2.1. Conceptos que maneja la POO..............................................8
2.2. Conceptos de programación orientada a objetos con C# .........10
2.3. Ejemplo de declaración de una clase en c#.............................13
3. DESARROLLO DE APLICACIONES WINDOWS FORMS...................17
3.1. Controles...........................................................................17
3.2. Identificadores, tipos y palabras reservadas............................21
3.3. Estructuras algorítmicas en lenguaje c#.................................25
3.4. Conexión a base de datos usando ADO.NET............................26
4. Desarrollo de una aplicación C# bajo una Arquitectura 3 capas....28
4.1. Arquitectura de la aplicación.................................................30
4.2. Creación de la Interfaz gráfica de usuario (GUI).....................30
4.3. Creación de la Vista lógica....................................................33
4.4. Creación de la Vista de Datos...............................................35
GLOSARIO................................................................................37
BIBLIOGRAFÍA..........................................................................38

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Desarrollo de aplicaciones Windows con C# Visual Studio .Net

DESARROLLO APLICACIONES WINDOWS EN C# USANDO
VISUAL STUDIO .NET
Mapa conceptual

2
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Desarrollo de aplicaciones Windows con C# Visual Studio .Net

INTRODUCCIÓN

Visual Studio .Net es un Entorno de Desarrollo Integrado (IDE) que permite
desarrollar múltiples aplicaciones, orientadas a utilizar el Paradigma
Orientado a Objetos usando lenguages de programación como Visual.net,
C# y ASPX. Uno de los tipos de aplicaciones que se puede desarrollar son
las aplicaciones para escritorio, llamadas comúnmente “WindowsForms”
(Formularios para Sistema Operativo Windows).

El paradigma orientado a objetos es una forma de programar más
cercano a la realidad, de tal manera que utiliza conceptos tales como
objetos, mensajes, métodos, herencia y polimorfismo. Todo lo anterior se
desarrolla dentro de este objeto de aprendizaje para que pueda crear una
aplicación Windows Forms usando el lenguaje de programación C# y que
utilice el concepto de programación orientado a objetos.

1. INTRODUCCIÓN A VISUAL STUDIO .NET

Microsoft Visual Studio .NET es una plataforma que permite ejecutar
y desarrollar aplicaciones, soluciones informáticas y/o sistemas de
información, brindando todas las herramientas y servicios necesarios para
desarrollar modernas aplicaciones empresariales.

1.1. Componentes

Microsoft Visual Studio .Net tiene los siguientes componentes principales:

• Entorno de ejecución aplicaciones, “Runtime” el cual es un
componente de software cuya función es la de ejecutar las aplicaciones
.NET e interactuar con el sistema operativo ofreciendo sus servicios y
recursos.
• Conjunto de bibliotecas de funcionalidades y controles reutilizables,
con una enorme cantidad de componentes ya programados listos para
ser consumidos por otras aplicaciones.
• Conjunto de lenguajes de programación de alto nivel, junto con
sus compiladores y linkers, que permitirán el desarrollo de aplicaciones
sobre la plataforma .NET.
• Conjunto de utilitarios y herramientas de desarrollo para simplificar
las tareas más comunes del proceso de desarrollo de aplicaciones

3
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

organización. desarrollo.NET es multi-lenguaje: lo cual significa que para codificar aplicaciones sobre esta plataforma no se necesita aprender un único lenguaje específico de programación de alto nivel. aplicaciones móviles.2. sistemas operativos o lenguajes de programación. • Visual Studio . que describen las mejores prácticas de diseño.Net es una plataforma desarrollada por Microsoft y para poder desarrollar o comercializar aplicaciones empresariales debe comprar la licencia. Características principales • Es una plataforma de ejecución intermedia. estudiantes y entusiastas.) y para cualquier dispositivo de hardware (PC’s.NET se integra fácilmente con aplicaciones desarrolladas en otras plataformas Microsoft y también con aquellas desarrolladas en otras plataformas de software. etc. también llamados “SmartPhones”. • Tanto como desarrolladores no profesionales. prueba e instalación de aplicaciones . como ocurre en el modelo tradicional de desarrollo.NET está basada en el paradigma de Orientación a Objetos • Visual Studio . Desarrollo de aplicaciones Windows con C# Visual Studio . deteniéndola e interactuando con el sistema operativo y brindándole los servicios y recursos en tiempo de ejecución. Tablet PC’s.NET no son ejecutadas directamente por el sistema operativo.Net • Documentación y guías de arquitectura. Pocket PC’s.Net esta desarrollado para poder soportar las aplicaciones empresariales grandes y complejas y de misión critica. iniciándola. ya que las aplicaciones de Visual Studio. El cual es el encargado de manejar el ciclo de vida de cualquier aplicación de Visual Studio . • Visual Studio Net está diseñado de tal manera que en un único modelo de programación.NET están diseñadas para ser ejecutadas con un componente de software llamado Entorno de Ejecución (conocido como “Runtime”. Teléfonos Celulares Inteligentes.NET 1.Formación en Ambientes Virtuales de Aprendizaje SENA . o “Máquina Virtual”). de consola. • Visual Studio .). pero Visual Studio . pero para fines académicos puede utilizarse siempre y cuando las aplicaciones desarrolladas no se comercialicen. • Visual Studio . Las aplicaciones . sino que se puede elegir de una amplia lista de opciones. uniforme y consistente se desarrollen las aplicaciones (ya sean de formularios Windows.Servicio Nacional de Aprendizaje .NET. utilizan esta herramienta. etc. aplicaciones Web. 4 FAVA .

NET Compact Framework: Versión reducida . Se tienen tres componentes principales: . Se instala en los y es más útil a los programadores que para los usuarios finales. una vez que el desarrollo y las pruebas de la aplicación han finalizado.Net (“Marco de Trabajo”) es el componente fundamental de la plataforma Microsoft Visual Studio. Normalmente se instala en los entornos productivos. Arquitectura Framework de .3.1. especialmente pensada para ser instalada en dispositivos móviles como Pocket PC’s y SmartPhones. etc. .NET Framework SDK: Contiene las herramientas de desarrollo de línea de comandos (compiladores. Está compuesto por: • El entorno de ejecución de la plataforma .NET Framework Redistributable Package: Mínimo componente de la plataforma . Desarrollo de aplicaciones Windows con C# Visual Studio . documentación de referencia.3. depuradores. Para poder instalar la versión SDK (Software Development Kit) es necesario instalar previamente el Redistributable Package.Net se pueden apreciar en la siguiente figura: 5 FAVA .NET que permite ejecutar las aplicaciones desarrolladas.Net El Framework de .NET Framework Redistributable.Net 1. 1.). Componentes de la arquitectura Los componentes de la arquitectura del framework de .Servicio Nacional de Aprendizaje .NET • Las bibliotecas de funcionalidad reutilizable .Formación en Ambientes Virtuales de Aprendizaje SENA .NET necesario para poder ejecutar aplicaciones. ejemplos y manuales para desarrolladores de aplicaciones.

Servicio Nacional de Aprendizaje .NET Framework SDK VB C++ C# J# . 6 FAVA .Forms: Se encuentran todos los tipos necesarios para programar aplicaciones de escritorio basadas en formularios y ventanas Windows.Xml: Constituyen la tecnología conocida como ADO.NET Windows Forms .. la cual se usa para acceso a datos.Windows. En la siguiente figura se aprecian los principales namespaces de la biblioteca de clases . • System. Class library (color azul): Es conocido como el conjunto de bibliotecas que provee muchos tipos básicos (clases e interfaces) orientados a objetos.NET • System. y es el encargado de ejecutar las aplicaciones y proveerles servicios en tiempo de ejecución.Web: Se encuentran todos los tipos necesarios para programar aplicaciones y servicios web ASP.NET Framework .NET Framework ADO..NET. y dentro del cual se pude encontrar la mayoría de los namespaces correspondientes a la Base Class Library • System.NET: • System: raíz de todos los otros namespaces. Desarrollo de aplicaciones Windows con C# Visual Studio .NET y XML Class Library Redistributable Base Class Library Common Lenguage Runtime Windows COM + Services CLR-Common Language Runtime (color verde): Es conocido como el entorno de ejecución de aplicaciones.Data y System.Net . Common Lenguage Specification } ASP. independientes del lenguaje de programación de alto nivel que se esté utilizando y que se encuentran organizados en namespaces jerárquicos. extensibles mediante herencia.Formación en Ambientes Virtuales de Aprendizaje SENA .

por ejemplo.NET * Microsoft Visual J#.Formación en Ambientes Virtuales de Aprendizaje SENA . junto con sus compiladores: * Microsoft Visual Basic . en Visual Basic.NET * Microsoft Visual C# .NET Framewok que permite crear aplicaciones con interfaz de usuario basada en formularios y ventanas Windows y que se ejecutan directamente en los clientes.NET Esto quiere decir que una aplicación escrita. El Framework de . Todos los componentes desarrollados y compilados de acuerdo con la especificación CLS pueden interactuar entre sí. aplicaciones cuya lógica se encuentra centralizada en uno o varios servidores y que los clientes pueden acceder usando un browser o navegador mediante una serie de protocolos y estándares como HTTP y HTML). Para esto se creó este componente que define y estandariza un subconjunto de todas las características soportadas por el CLR y que son necesarias en la mayoría de las aplicaciones. • ADO. operaciones matemáticas y dibujos 2D.NET: Contiene el conjunto de clases que permiten interactuar con bases de datos relacionales y documentos XML como repositorios de información persistente. Especificación de Lenguaje Común -CLS (color rojo): Uno de los principales objetivos del diseño de la plataforma de Visual Studio .NET: Es la tecnología necesaria del . • ASP. • Windows Forms (WinForms): Es la tecnología necesaria.NET Framework para construir aplicaciones con interfaz de usuario Web (es decir.NET * Microsoft Visual C++.Net provee implementaciones de 4 lenguajes compatibles con CLS.NET fue el de que el lenguaje de programación elegido fuera independiente.NET. Desarrollo de aplicaciones Windows con C# Visual Studio . cadenas de texto. entrada/salida.Net Dentro de este componentes se tienen 4 sub-componentes principales: • La Base Class Library (BCL . 7 FAVA . puede incorporar sin problemas nuevas partes escritas en C# o C++ . NET.Biblioteca de Clases Base): La cual contiene la funcionalidad que más se utiliza para desarrollar aplicaciones tales como el manejo de colecciones. independientemente del lenguaje de programación de alto nivel en el que fueron escritos. threading.Servicio Nacional de Aprendizaje .

2. PROGRAMACIÓN ORIENTADA A OBJETOS La programación orientada a objetos (POO) es una forma especial de programar muy cercana a la forma como se pueden expresar las cosas en la vida real. todos los objetos tienen 3 características principales que son: • Todos los objetos tienen un Estado. 2. clases. Un programa puede parecer orientado a objetos. atributos. La programación sin herencia se denomina programación por tipos abstractos de datos. Según Grady Booch. el autor del método de diseño orientado a objetos. no es un programa orientado a objetos. Conceptos que maneja la POO La programación orientada a objetos incluye los conceptos de objetos.Net Todos los componentes mencionados anteriormente se montan por encima de la familia de sistemas operativos Windows. De tal manera que todos ellos se incluyen para desarrollar un programa con este paradigma. y cuyas clases son todas miembros de una jerarquía de clase unida mediante relaciones de herencia”. pero si cualquiera de estos elementos no existe. • Las clases se relacionan unas con otras por medio de relaciones de herencia. Comportamiento e identidad. Desarrollo de aplicaciones Windows con C# Visual Studio . cada uno de los cuales representan una instancia de alguna clase.Formación en Ambientes Virtuales de Aprendizaje SENA . define la POO como “un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos. Como se piensa en objetos 8 FAVA .Servicio Nacional de Aprendizaje . Existen tres partes importantes en la definición de programación orientada a objetos: Según Booch. herencia y polimorfismo. a diferencia de otros tipos de programación. • Cada objeto es una instancia de una clase. métodos.1.

Desarrollo de aplicaciones Windows con C# Visual Studio . 9 FAVA . los cuales son la abstracción. cada uno requiere una forma distinta de pensar en el problema. ABSTRACCIÓN ENCAPSULAMIENTO MODULARIDAD JERARQUÍA POLIMORFISMO OTRAS MODULARIDAD: Fragmentar un programa en componentes individuales reduce su complejidad en algún grado.Servicio Nacional de Aprendizaje .Net Pensar en objetos incluye cuatro elementos fundamentales en el modelo orientado a objetos. modularidad y jerarquía. encapsulamiento. polimorfismo.Formación en Ambientes Virtuales de Aprendizaje SENA .

JERARQUÍA: Mecanismo para compartir automáticamente métodos y atributos entre clases y subclases. Declaración de una Clase En términos de programación una clase es una estructura que contiene datos y procedimientos (funciones) que son capaces de operar sobre esos datos. objetos. Se presenta a continuación el 2. Manejo de excepciones. una clase consta de una declaración de la clase. ENCAPSULAMIENTO: Incluir en un objeto lo necesario de forma que ningún otro objeto tenga que conocer su estructura interna. mensajes y métodos. 10 FAVA . Conceptos de programación orientada a objetos con C# A continuación se explica cada uno de los conceptos que implementa la programación orientada a objetos en el lenguaje de programación C#. POLIMORFISMO: Implementar múltiples formas un mismo método.2. 2. Identificar las clases que tendrá el sistema a construir. Para construir un programa orientado a objetos se debe: 1. Genericidad. Desarrollo de aplicaciones Windows con C# Visual Studio .Formación en Ambientes Virtuales de Aprendizaje SENA . Para cada clase identificar los atributos. donde se definen las funciones (métodos) de la clase. 3.2. tales como clases. Para cada clase identificar los métodos. Persistencia.Servicio Nacional de Aprendizaje . 2.1. OTRAS: Concurrencia. 4. herencia y polimorfismo. Crear los objetos de cada clase para acceder a los métodos y atributos. donde se listan los atributos (datos) de una clase y una implementación.Net ABSTRACCIÓN: Representación de las características esenciales de algo sin incluir detalles irrelevantes.

• Métodos visualizadores: muestran el objeto (valores de los atributos o alguna representación visual del objeto). debe ser declarada antes de ser utilizada.Servicio Nacional de Aprendizaje . el formato de declaración de una clase contiene el nombre de la clase y el cuerpo. Desarrollo de aplicaciones Windows con C# Visual Studio . • Métodos mutadores: establecen el contenido de los atributos. • Métodos computadores: realizan cálculos y generan resultados. • Métodos accesores: devuelven el contenido de los atributos (cada accesor devuelve un atributo). llamados también métodos set. Llamados también métodos get. 11 FAVA . Class Nombre{ //cuerpo de la clase Private: //miembros privados Public: //miembro públicos Protected: //miembros protegidos } Mensajes y Métodos En las clases se pueden identificar distintas categorías de métodos: • Métodos inicializadores: inicializan atributos.Formación en Ambientes Virtuales de Aprendizaje SENA .Net Una clase en lenguaje C#.

Los atributos deben estar ocultos (ser privados) aunque (C# permite declarar atributos públicos. Métodos privados.2. Desarrollo de aplicaciones Windows con C# Visual Studio . así mismo una variable local sólo está disponible en el interior de la función. solo puede tener acceso a los atributos privados. lo privado sólo puede ser accedido directamente dentro de la clase.Net 2. a menos que se especifique le contrario. Por defecto todos los miembros de una clase son privados. públicos y protegidos (niveles de acceso) En el lenguaje C# se definen las siguientes palabras reservadas para declarar la accesibilidad (o el nivel de acceso) de los métodos y atributos en una clase: • Public: Indica que se puede tener acceso libre tanto a las variables y funciones miembro de la clase. las funciones miembro de dicha clase. lo correcto es que los atributos sean privados). los métodos se implementan con funciones miembro. • Protected: Permite a las clases derivadas acceder a los atributos de su clase base.Formación en Ambientes Virtuales de Aprendizaje SENA .Servicio Nacional de Aprendizaje . 12 FAVA .2. Class Nombre{ Private: datos miembro Public: acceso a la clase funciones miembro Acceso del usuario de la clase A través de los objetos de una clase se puede acceder (con el operador •) a lo que esté declarado como público en la clase. • Private: Juega un papel parecido al de una variable local en una función.

Sección privada: solamente las funciones miembro de la clase pueden acceder a los miembros privados. Sección pública: Los miembros específicos que son visibles a las funciones miembro de la clase. Desarrollo de aplicaciones Windows con C# Visual Studio . Propiedades En Visual Studio . de tal manera que se puede acceder y modificar los valores de estos atributos. 2.Servicio Nacional de Aprendizaje .Formación en Ambientes Virtuales de Aprendizaje SENA .Net Reglas de visibilidad. es decir si se tiene la abstracción de almacenar un punto para luego dibujar una figura. Sección protegida: solamente la función miembro de la clase y sus clases descendientes pueden acceder a miembros protegidos. funciones miembro de clases descendientes y sus instancias. la clase se debería llamar Punto. cabe anotar que cuando se crea una clase con propiedades. instancias de la clase. Ejemplo de declaración de una clase en c# Es de recordar que el nombre de la clase debe ser representativo de lo que se quiere modelar. por ejemplo: 13 FAVA .Net se pueden crear propiedades para cada uno de los atributos que se crean para la clase. Las instancias de la clase no pueden acceder a los miembros privados. los métodos accesores y mutadores son reemplazados.3. Las instancias de la clase no pueden acceder a miembros protegidos.

según las definiciones formales de James Rumbaugh y Grady Booch. Objetos Recordemos que. -----public-void-inicializar(){ ---------Posy-=-0. Una vez creada la clase. atributos -----private-float-Posy. y modificador (get).Servicio Nacional de Aprendizaje . Un objeto se declara de la siguiente forma: Punto objpunto.Formación en Ambientes Virtuales de Aprendizaje SENA . atributos se procede a crear y declarar los objetos. inicializador ---------Posy-=-0. // el objeto llamado objpunto es de la clase Punto 14 FAVA . un objeto es: “Una abstracción de la realidad que tiene un significado concreto y claro para el problema que se está modelando”.} ---------get{return-Posy. junto con los métodos y/o propiedades. Más adelante se revisa cómo utilizar las propiedades en una aplicación WindowsForms.} -----}----- propiedades -----public-float-Y-{- ---------set{Posy=value. -----} -----public-float-X-{- ---------set{Posx=value.} ---------get{return-Posx. Desarrollo de aplicaciones Windows con C# Visual Studio .} -----} lógica -----public-void-dibujar().Net -class-punto -{ -----private-float-Posy. -} - En el ejemplo anterior las propiedades se realizan para los atributos Posx. Posy y para cada uno de ellos se realiza su accesor (set).

Net con lenguaje C# se hace de la siguiente manera Persona objpersonal. o dinámicos.Net Los objetos se pueden crear estáticos.Formación en Ambientes Virtuales de Aprendizaje SENA . class Estudiante { #region “Atributoss” private string nombre. Desarrollo de aplicaciones Windows con C# Visual Studio . Nombre de Nombre del la clase objeto Ejemplos * Ejemplo Clase Estudiante1 En la siguiente porción de código puede observar cómo se crea la clase Estudiante haciendo uso de los métodos accesores y modificadores. Para crear un objeto en visual Studio . #endregion #region “Metodos” ///<summary> ///Se asignara al atributo nombre un nombre ///enviado como parametro ///</sumary> ///<param name=”name”> parametro que establecera un dato de tipo ///string para asignacion al atributo nombre</param> public void asignarNombres(string name) { 15 FAVA . objetos que se declaran al principio de un programa y permanecen hasta que el programa se termina. asigna una ubicación de memoria para almacenar los datos del “punto” tales como la posición en x y en Y.Servicio Nacional de Aprendizaje . objetos que crean y destruyen en la medida que se necesitan. Cuando el compilador encuentra la declaración de un objeto.

#endregion #region “Propiedades” ///<summary> ///Propiedad para acceder al atributo nombre ///u obtener el nombre de un estudiante ///</sumary> public string Nombre{ // modificador set{nombre=value. } ///<summary> ///Metodo para obtener el nombre asignado ///al atributo nombre ///</summary> ///<returns>es el nobre (string) del atributo nombre </returns> public string obtenerNombre() { return nombre. } #endregion } * Ejemplos Clase Estudiante2 En la siguiente porción de código puede observar cómo se crea la clase Estudiante haciendo uso de propiedades.} // accesor get{return nombre.Formación en Ambientes Virtuales de Aprendizaje SENA .Servicio Nacional de Aprendizaje . Desarrollo de aplicaciones Windows con C# Visual Studio . class Estudiante { #region “Atributoss” /// <sumary> /// Atributo nombre para almacenar los nombres /// de los estudiantes.} } #endregion } 16 FAVA . /// </sumary> private string nombre.Net nombre=name.

relacionados entre sí y agrupados bajo una denominación común. DESARROLLO DE APLICACIONES WINDOWS FORMS Para construir una aplicación que resuelva un problema o una necesidad en una empresa u organización. menús y barras de herramientas. Es necesario crear la interfaz de usuario que permitirá que el cliente finalmente pueda utilizar la aplicación desarrollada y la persistencia (acceso a los datos). todos necesarios para soportar la edición 17 FAVA .cs (o .Net maneja diferentes tipos de controles tales como: Controles comunes. se crean una serie de archivos y clases que complementan la aplicación.Forms. tipos de datos.cs (o . Visual Studio . • References: Por defecto ya se incluyen algunas referencias a otros assemblies de . informe.Formación en Ambientes Virtuales de Aprendizaje SENA . Entre ellos están: • Program.Windows. Al crear un proyecto de aplicación Windows. funciones. etc.cs (o . • Settings. Un namespace es una estructura organizacional de funcionalidades tales como clases. componentes. para el almacenamiento de los datos.Servicio Nacional de Aprendizaje . Todos los controles necesarios para desarrollar este tipo de aplicaciones los provee el NameSpace System.NET incluyen una gran cantidad para la creación y administración de aplicaciones Windows. además de generarse automáticamente un formulario por defecto. Desarrollo de aplicaciones Windows con C# Visual Studio .Net 3.NET. Las clases proporcionadas por el framework . 3. • AssemblyInfo.vb): Es parte de cada proyecto y sirve para personalizar datos importantes acerca del ensamblado (Assembly). Desde esta carpeta se pueden agregar o quitar las que se requieran para el caso particular.vb): Es el encargado del acceso a la configuración de usuario de la aplicación (se profundizará más adelante en esta presentación). no basta con la creación de las clases y aplicar los conceptos del paradigma orientado a objetos.vb): Contiene una clase estática (Program) con un método Main() que constituye el punto de entrada de la aplicación. contenedores. datos. Controles Para poder crear las interfaces de usuario.1.

Net y generación de eventos para construir una aplicación Windows. Menus y Barras herramientas Control Descripción Representación MenuStrip Permite editar y mostrar un menú de opciones para la aplicación. Algunos de los más utilizados son: 3.1.1. Contenedores Control Descripción Representación Panel Permite agrupar colecciones de controles. Label Proporciona información de texto descriptivo en tiempo de ejecución. DataSet Presenta un cache de datos en memoria 18 FAVA . CheckBox Permite al usuario seleccionar o quitar una opción asociada. GroupBox Muestra un marco de alrededor de un grupo de controles con un titulo opcional.Servicio Nacional de Aprendizaje . TextBox Permite al usuario editar texto. Tipos de Controles Controles comunes Control Descripción Representación RichTextBox Proporciona entrada de texto de ediciones avanzadas como es el formato de párrafo. ComboBox Muestra un cuadro de texto editable con una lista desplegable de los valores permitidos. Datos Control Descripción Representación DataGridView Muestra filas y columnas de datos en una cuadricula que se puede personalizar. Button Desencadena un evento cuando el usuario hace clic sobre él. PictureBox Muestra una imagen RadioButton Permite al usuario seleccionar una única opción dentro de un grupo de múltiples opciones. Desarrollo de aplicaciones Windows con C# Visual Studio .Formación en Ambientes Virtuales de Aprendizaje SENA .

Formación en Ambientes Virtuales de Aprendizaje SENA .2. Desarrollo de aplicaciones Windows con C# Visual Studio .1. de esta última forma aparecerá automáticamente sobre el espacio del formulario. se debe tener el formulario abierto. Text Texto Asociado al Control Para el ejemplo que se presenta a continuación en el control Button su propiedad Name ha sido fijada como BtnAceptar y la propiedad Text ha sido fijada con el texto Aceptar. se puede hacer clic en el control que desea agregar y arrastrarlo hasta el formulario o hacer doble clic sobre el control. Propiedades y eventos de un control Todos los controles mencionados anteriormente tienen asociados propiedades y eventos. 3. Las propiedades más utilizadas para cada control son: Propiedad Descripción Name Nombre utilizado en el código para identificar el objeto.Servicio Nacional de Aprendizaje .Net Para poder agregar un control a un formulario. y dentro del entorno de Visual Studio están ubicadas en la barra de herramientas llamada Propiedades o con acceso rápido seleccionando el control y presionando F4. ubicar el Cuadro de Herramientas (generalmente a la izquierda). Propiedades: Son las características que tiene cada control. 19 FAVA .

Textbox (2) Button (1) Cada uno tiene fijados la propiedad text con los textos 20 que se desean visualizar en el formulario. Ejemplo y uso de eventos propiedades En este formulario se han utilizado los controles Groupbox (1).Servicio Nacional de Aprendizaje . el más utilizado es el evento OnClic.Net Eventos: Los eventos son las acciones que se quiere indicar al control que debe realizar. Label (3). cada control proporciona múltiples eventos.Formación en Ambientes Virtuales de Aprendizaje SENA . FAVA . el cual se dispara o se genera haciendo doble clic sobre el control y allí se escriben las instrucciones que debe ejecutar. Desarrollo de aplicaciones Windows con C# Visual Studio .

Identificadores. 21 FAVA . se visualiza: Código del evento clic: Para lograr esto se incluiría en el evento Onclick del botón el siguiente fragmento de código: 3. tipos y palabras reservadas Variables Recordemos que cuando se realiza el análisis del problema se identifican los datos iniciales. en ellas se pueden almacenar valores y son nombradas con identificadores.Formación en Ambientes Virtuales de Aprendizaje SENA . Desarrollo de aplicaciones Windows con C# Visual Studio .Net El evento clic sobre el botón Aceptar Cuando la aplicación se ejecute y se haga clic sobre el botón aceptar. estos datos se estructuran o se definen como variables.2.Servicio Nacional de Aprendizaje .

Sin embargo.147.79769313486232e308 flotante de precisión a 1.647 uint UInt32 Entero sin signo 0 a 4294967295 short Int16 Entero con signo -32.648 a 2. Tipos de datos En la tabla siguiente se proporciona la lista de tipos de datos de C# y sus alias.402823e38 a flotante de precisión 3.NET Tipo Intervalo (bits) byte Byte Entero sin signo 0 a 255 sbyte SByte Entero con signo -128 a 127 int Int32 Entero con signo -2.79769313486232e308 doble char Char Un carácter Unicode Símbolos Unicode utilizados en el texto 22 FAVA .483.767 ushort UInt16 Entero sin signo 0 a 65535 long Int64 Entero con signo -922337203685477508 a 922337203685477507 ulong UInt64 Entero sin signo 0a 18446744073709551615 float Single Tipo de punto -3.Net Tipo de dato y nombre de la variable.Formación en Ambientes Virtuales de Aprendizaje SENA . Asignación de una variable. Desarrollo de aplicaciones Windows con C# Visual Studio . los primeros ocho de estos tipos corresponden a los tipos primitivos disponibles en Java. Nombre corto Clase .147. tenga en cuenta que el tipo boolean de Java se denomina bool en C#.Servicio Nacional de Aprendizaje . Como puede ver.402823e38 simple double Double Tipo de punto -1.483.768 a 32.

Net ya tiene predefinido el tipo de dato con el que necesitan operar. está definida para operar con tipos de datos String. que la tienen la mayoría de los controles.Net bool Boolean Tipo Boolean lógico True o false object Object Tipo base de todos los otros tipos string String Una secuencia de caracteres decimal Decimal Tipo preciso ±1.9 × fraccionario o 10e28 integral.Formación en Ambientes Virtuales de Aprendizaje SENA . Casteo o conversión de tipos de datos En muchas ocasiones es necesario hacer una conversión del tipo de dato. Por ejemplo: la propiedad Text. bool asignado. Desarrollo de aplicaciones Windows con C# Visual Studio . 23 FAVA . que puede representar números decimales con 29 dígitos significativos Ejemplos: int edad.Servicio Nacional de Aprendizaje .Parse(txtedad.Text). por tal motivo siempre que se necesite utilizar esta propiedad siempre se deben utilizar tipos de datos string. Método que permite convertir cualquier tipo de dato a entero. float promedio. Conversión Ejemplo ToString() (txtedad.0 × 10e−28 a ±7.ToString() Método que permite convertir cualquier tipo de dato a string Int.Text). string nombre. ya que algunas propiedades establecidas por Visual Studio.Parse() int.

La tabla que se presenta a continuación relaciona algunas de las palabras reservadas. Comentarios Es fundamental en la fase de codificación la documentación.Net Float.Net para un objetivo específico. Desarrollo de aplicaciones Windows con C# Visual Studio .net están permitidos los siguientes tipos de comentarios: • Comentarios de Una sola línea: // comentario en una sola linea • Comentarios de multiples líneas: * /* comentario en una o mas * lineas*/ • Comentarios para documentación Automática: /// Documentación automatica /// Palabras reservadas Son conocidas como palabras Clave y son aquellos identificadores reservados por .Servicio Nacional de Aprendizaje . la cual se realiza por medio de comentarios.Parse() float.Text).Parse(txtedad.Formación en Ambientes Virtuales de Aprendizaje SENA . en . Método que permite convertir cualquier tipo de dato a flotante (real). Abstract Bool break string New Case cast catch class private Const continue default do short Else finally false final this Float for future generic try If implements import Inner double Int interface long native Null operator outer package Protected public return Static super switch syncroniced Throw throws true true Var void while while 24 FAVA .

Formación en Ambientes Virtuales de Aprendizaje SENA . Desarrollo de aplicaciones Windows con C# Visual Studio . Estructuras algorítmicas en lenguaje c# Estructura de decisión Esta estructura es utilizada para tomar decisiones basado en la evaluación lógica de una condición y determina dos posibles rutas de acción en el programa.3. Representación en diagrama flujo Código lenguaje c# 25 FAVA .Net 3.Servicio Nacional de Aprendizaje .

26 FAVA .NET es una evolución de ADO (ActiveX Data Object).Net • Estructura repetitiva (Ciclo para) Representación en diagrama flujo Código lenguaje C# Ejecución del código 3.NET ADO.NET Framework. Es una parte de la biblioteca de clases base que están incluidas en el Microsoft .4.Formación en Ambientes Virtuales de Aprendizaje SENA . Conexión a base de datos usando ADO. Desarrollo de aplicaciones Windows con C# Visual Studio .Servicio Nacional de Aprendizaje . es un conjunto de componentes del software que son utilizados para acceder a los datos que almacena un Sistema Gestor de Bases de Datos Relacionales y también a datos no estructurados.

nombre de la base de datos. Desarrollo de aplicaciones Windows con C# Visual Studio .Formación en Ambientes Virtuales de Aprendizaje SENA . tales como el tipo de servidor. Componentes Descripción Connection Este objeto permite definir las características de conexión a una base de datos.Servicio Nacional de Aprendizaje . inserción. Command Este objeto permite ejecutar sentencias SQL sobre las bases de datos. Objetos principales del Proveedores de datos . actualización.Net Framework y los DataSet.Net La arquitectura de ADO. 3. etc. ubicación.Net Framework: Son componentes diseñados explícitamente para la manipulación de datos y el acceso rápido a datos. como lectura. o borrado de datos relacionales Data Reader Permite obtener un flujo de datos y realizar operaciones sobre ellos uno a uno. Componentes ADO tiene dos componentes principales para el acceso a datos y la manipulación los cuales son los proveedores de datos de .1. 27 FAVA .4. Net esta descrita en la siguiente gráfica.

también tiene objetos compatibles para conexión a través de Odbc y el tipo Oledb para bases de datos como Access.Data posee un conjunto de clases y elementos definidos para la conexión con diferentes tipos de Origenes de datos. todas se conectan entre si dentro del desarrollo 28 FAVA . es así como tiene SqlClient para acceder a bases de datos de SQLServer y OracleClient para bases de datos Oracle. El namespace System. Desarrollo de aplicaciones Windows con C# Visual Studio . DataTable Representa la estructura de tabla de datos. Vista de Datos. Vista Logiga.Formación en Ambientes Virtuales de Aprendizaje SENA . SqlServer Oracle 4.Net DataAdapter Permite alimentar un Dataset con datos a partir de cuatro objetos command que posee. contiene una colección de uno o más objetos DataTable así como las relaciones y restricciones que se pueden tener en una base de datos utilizado como un contenedor auxiliar o temporal para hacer operaciones rápidamente. Desarrollo de una aplicación en C# bajo una Arquitectura 3 capas Recuerde que esta arquitectura tiene muy bien diferenciadas las tres vistas del sistema a construir las cuales son: Vista Interfaz (GUI). definidos para realizar cada operación DataSet Objeto que simula una base de datos.Servicio Nacional de Aprendizaje .

Net de un sistema de informacion para dar respuesta a las necesidades del cliente como se puede visualizar en la siguiente imagen. este ambiente contiene solamente computadores. descripción). 29 FAVA . torre y monitor. Desarrollo de aplicaciones Windows con C# Visual Studio . marca. donde cada computador tiene asociado su teclado. Caso estudio Se necesita implementar un sistema de información que permita gestionar el inventario de las partes de los computadores que existen en el ambiente de clase para el técnico en mantenimiento de hardware. PRESENTACION NEGOCIO ACCESO A DATOS Intefaz de Lógico de Usuario Procesos Funciones de BBDD Acceso a Datos Utilidades de IU Lógico de Procesos Arquitectura 3 capas (Aplicación Windows) Para el siguiente caso de estudio se explica cómo realizar una aplicación Windows con arquitectura de 3 capas. color.Servicio Nacional de Aprendizaje . todas la partes mencionadas anteriormente son utilizadas para las practicas de los aprendices de mantenimiento de equipos hardware. Es necesario un sistema que permita almacenar cada una de las partes de los computadores existentes en esta sala ya que cada trimestre se necesita un informe de todas las partes existentes (serial.Formación en Ambientes Virtuales de Aprendizaje SENA .

Servicio Nacional de Aprendizaje . cs.cs BBDD FormGestionar Program.cs Torre. Torre.cs. dentro de las cuales están: (Monitor.cs.cs Computador.cs.cs Teclado. buscar y actualizar) de un monitor. • Lógica: Se encuentran todas las clases necesarias para desarrollar la lógica del programa. teclado y torre. eliminar. • Acceso a Datos: Se encuentra la clase de persistencia que almacena todas las funciones necesarias para conectarse a la base de datos. 30 FAVA . el cual permite gestionar las operaciones CRUD (Insertar. Arquitectura de la aplicación La arquitectura de la aplicación está diseñada en 3 capas: • Interfaz de usuario: Se encuentra el formulario llamado FrmGestionComputador.Net(Lenguaje C#) Sql Server 4.cs).cs Visual Studio . Desarrollo de aplicaciones Windows con C# Visual Studio .cs Registro. Interfaz Logica ACCESO A Windows DATOS Forms Monitor.Formación en Ambientes Virtuales de Aprendizaje SENA .Net 4. Teclado. Registro.2.1. Creación de la Interfaz gráfica de usuario (GUI) La interfaz de usuario que permite gestionar las partes del computador es la mostrada en la siguiente imagen.cs BaseDatos.

31 FAVA . En la imagen los GroupBox utilizados para este fin son los identificados con letras J yK • Panel: Control utilizado para agrupar los bonotes es identificado en la imagen por la letra L • TabControl : Control utilizado para gestionar la información de cada una de las partes del computador (torre.D.Net La interfaz es creada sobre un formulario Windows Form. teclado y monitor). teclado y monitor). • Grid View: control utilizado para visualizar los datos de las partes del computador (torre.Servicio Nacional de Aprendizaje . color.B. Desarrollo de aplicaciones Windows con C# Visual Studio .Formación en Ambientes Virtuales de Aprendizaje SENA . Identificado en la imagen por la letra E. marca y descripción de una parte y están identificados por la letra A.C. • TextBox: control utilizado para almacenar los datos de serial. identificado en la imagen con la letra M. y utiliza los controles: • GroupBox: Para agrupar toda la información de los computadores y para agrupar los datos de una Torre. Teclado y monitor).

cargarserialescombo().Text. else{ if (objregistro.OK.Formación en Ambientes Virtuales de Aprendizaje SENA . MessageBoxIcon.Information).Text ==”” ||txtnombre.Text==”” || cboxserialteclado.insertar(txtCodigo.MdiParent.OK.cboxserialmonitor.”Datos NO registrado”.Text==”” || cboxserialtorre.Servicio Nacional de Aprendizaje . deshabilitarreg(). MessageBoxButtons.Show(this. EventArgs e){ try{ if (txtCodigo.Text)) { MessageBox.Net Eventos clic del Botón guardar private void bregguardar_Click(object sender. “Información”. MessageBoxIcon.txtdescregistro.cboxserialtorre.MdiParent.MdiParent. cargadosregistro().Text ==”” || cboxserialmonitor. MessageBoxIco.txtnombre.text.Show(this.cboxserialteclado.Error). MessageBoxButton.Information). “Error”.Text ==””) MessageBox. limpiadrodatosreg(). } } } catch{ MessageBox.Show(this.Text. MessageBoxButtons. “Debe digitar Datos”. “Computador Registrado exitosamente”. } } Evento clic del Botón Eliminar Evento clic del Botón Buscar 32 FAVA .OK. bloquearregistro(). Desarrollo de aplicaciones Windows con C# Visual Studio .Text. “Informacion”.Text.

Formación en Ambientes Virtuales de Aprendizaje SENA . se identificaron las clases expresadas en la siguiente imagen. Desarrollo de aplicaciones Windows con C# Visual Studio . Creación de la Vista lógica En la vista lógica se encuentran todas las clases identificadas para poder implementar el sistema de información.3.Servicio Nacional de Aprendizaje .Net Evento clic del Botón Editar 4. Las cuales en lenguaje C# seria: 33 FAVA .

Formación en Ambientes Virtuales de Aprendizaje SENA . actualizar y buscar). eliminar.Servicio Nacional de Aprendizaje . Desarrollo de aplicaciones Windows con C# Visual Studio .Net Atributos y propiedades de la clase Torre Funciones para manejar la comunicación con la vista de datos Para manejar la conexión a la base de datos se han creado cuatro funciones básicas (insertar. 34 FAVA .

4. Creación de la Vista de Datos Para la vista de datos.Servicio Nacional de Aprendizaje .4. Desarrollo de aplicaciones Windows con C# Visual Studio .Formación en Ambientes Virtuales de Aprendizaje SENA .Net Nota: Teclado y Monitor se implementan similar a la clase Torre descrita anteriormente. Clase para la lógica de la base de datos 35 FAVA . se tiene el siguiente modelo relacional de la base de datos.

Se instancia un objeto llamado conexión que recibe como argumento la cadena de conexión.Net El método EjecutarConsulta recibe una instrucción SQL y el nombre de la tabla que va a contener los datos obtenidos en la consulta. 36 FAVA . Si el número es mayor a 0 significa que se ejecutó y retorna true.Formación en Ambientes Virtuales de Aprendizaje SENA . Update o Delete. La cadena de conexión se almacena en una variable de tipo string. Se abre la conexión. Luego retorna el objeto con los datos. esto es requisito cuando se utiliza el objeto command. 5. 7. El método ejecutarDML permite ejecutar instrucciones como Insert. Desarrollo de aplicaciones Windows con C# Visual Studio .Servicio Nacional de Aprendizaje . Posteriormente se ejecuta (método . 1. indicando la ejecución exitosa del comando. 3. El adaptador se instancia recibiendo la conexión y la instrucción SQL de la consulta. 6. Cuando se ejecuta el objeto (se usa el método ExecuteNonQuery) retorna información indicando el número de registros afectados por la sentencia sql. la base de datos (BDInv) y el tipo de seguridad a utilizar en la conexión 2. 4. allí se establece el nombre del servidor SQLServer (sap-PC). por tanto recibe como argumento una instrucción SQL.Fill) almacenando los datos en el Dataset DataTable correspondiente. Se instancia el comando pasando como argumentos los datos de la conexión y la instrucción a ejecutar.

Web: Se encuentran todos los tipos necesarios para programar aplicaciones y servicios web ASP.Windows.Data y System.NET.Formación en Ambientes Virtuales de Aprendizaje SENA .Servicio Nacional de Aprendizaje . System.NET. System. y dentro del cual se pude encontrar la mayoría de los namespaces correspondientes a la Base Class Library. Class library: Conjunto de bibliotecas que provee muchos tipos básicos (clases e interfaces) orientados a objetos. System. extensibles mediante herencia. independientes del lenguaje de programación de alto nivel que se esté utilizando y que se encuentran organizados en namespaces jerárquicos.Xml: Constituyen la tecnología conocida como ADO. GLOSARIO CLR-Common Language Runtime: Entorno de ejecución de aplicaciones.Forms: Se encuentran todos los tipos necesarios para programar aplicaciones de escritorio basadas en formularios y ventanas Windows. encargado de ejecutar las aplicaciones y proveerles servicios en tiempo de ejecución. 37 FAVA . System: Raíz de todos los namespaces.

Formación en Ambientes Virtuales de Aprendizaje SENA . BIBLIOGRAFÍA Microsoft. Programa de desarrollador cinco Estrellas. Microsoft Developer Network.microsoft. Desarrollador 5 estrellas.Servicio Nacional de Aprendizaje .com 38 FAVA . Microsoft (2013). Tutoriales de C# disponibles en http://msdn.

Servicio Nacional de Aprendizaje . Control de documento Construcción Objeto de Aprendizaje Desarrollo de aplicaciones Windows con C# Visual Studio .Formación en Ambientes Virtuales de Aprendizaje SENA .Net Desarrollador de contenido Leydy Carolina Muñoz Pachajoa Experto temático Asesor pedagógico Claudia Milena Hernández Naranjo Rafael Neftalí Lizcano Reyes Producción Multimedia Luis Fernando Botero Mendoza Victor Hugo Tabares Carreño Programadores Daniel Eduardo Martínez Líder expertos temáticos Ana Yaqueline Chavarro Parra Líder línea de producción Santiago Lozada Garcés 39 FAVA .