Vous êtes sur la page 1sur 39

DESARROLLO APLICACIONES WINDOWS

EN C# USANDO VISUAL STUDIO .NET

Estructura de contenidos
INTRODUCCIN........................................................................3
1. INTRODUCCIN A VISUAL STUDIO .NET...................................3
1.2. Caractersticas principales....................................................4
1.3. Arquitectura Framework de .Net............................................5
2. PROGRAMACIN ORIENTADA A OBJETOS .................................8
2.1. Conceptos que maneja la POO..............................................8
2.2. Conceptos de programacin orientada a objetos con C# .........10
2.3. Ejemplo de declaracin 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 algortmicas en lenguaje c#.................................25
3.4. Conexin a base de datos usando ADO.NET............................26
4. Desarrollo de una aplicacin C# bajo una Arquitectura 3 capas....28
4.1. Arquitectura de la aplicacin.................................................30
4.2. Creacin de la Interfaz grfica de usuario (GUI).....................30
4.3. Creacin de la Vista lgica....................................................33
4.4. Creacin de la Vista de Datos...............................................35
GLOSARIO................................................................................37
BIBLIOGRAFA..........................................................................38

FAVA - Formacin 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 - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

INTRODUCCIN

Visual Studio .Net es un Entorno de Desarrollo Integrado (IDE) que permite


desarrollar mltiples aplicaciones, orientadas a utilizar el Paradigma
Orientado a Objetos usando lenguages de programacin como Visual.net,
C# y ASPX. Uno de los tipos de aplicaciones que se puede desarrollar son
las aplicaciones para escritorio, llamadas comnmente WindowsForms
(Formularios para Sistema Operativo Windows).

El paradigma orientado a objetos es una forma de programar ms


cercano a la realidad, de tal manera que utiliza conceptos tales como
objetos, mensajes, mtodos, herencia y polimorfismo. Todo lo anterior se
desarrolla dentro de este objeto de aprendizaje para que pueda crear una
aplicacin Windows Forms usando el lenguaje de programacin C# y que
utilice el concepto de programacin orientado a objetos.

1. INTRODUCCIN A VISUAL STUDIO .NET

Microsoft Visual Studio .NET es una plataforma que permite ejecutar


y desarrollar aplicaciones, soluciones informticas y/o sistemas de
informacin, 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 ejecucin aplicaciones, Runtime el cual es un


componente de software cuya funcin 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 programacin de alto nivel, junto con
sus compiladores y linkers, que permitirn el desarrollo de aplicaciones
sobre la plataforma .NET.
Conjunto de utilitarios y herramientas de desarrollo para simplificar
las tareas ms comunes del proceso de desarrollo de aplicaciones

3
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Documentacin y guas de arquitectura, que describen las mejores


prcticas de diseo, organizacin, desarrollo, prueba e instalacin de
aplicaciones .NET

1.2. Caractersticas principales

Es una plataforma de ejecucin intermedia, ya que las aplicaciones


de Visual Studio.NET no son ejecutadas directamente por el sistema
operativo, como ocurre en el modelo tradicional de desarrollo.

Las aplicaciones .NET estn diseadas para ser ejecutadas con un


componente de software llamado Entorno de Ejecucin (conocido como
Runtime, o Mquina Virtual). El cual es el encargado de manejar el
ciclo de vida de cualquier aplicacin de Visual Studio .NET, inicindola,
detenindola e interactuando con el sistema operativo y brindndole los
servicios y recursos en tiempo de ejecucin.

Visual Studio .NET est basada en el paradigma de Orientacin a


Objetos
Visual Studio .NET es multi-lenguaje: lo cual significa que para
codificar aplicaciones sobre esta plataforma no se necesita aprender
un nico lenguaje especfico de programacin de alto nivel, sino que se
puede elegir de una amplia lista de opciones.
Tanto como desarrolladores no profesionales, estudiantes y
entusiastas, utilizan esta herramienta, pero Visual Studio .Net esta
desarrollado para poder soportar las aplicaciones empresariales grandes
y complejas y de misin critica.
Visual Studio .Net es una plataforma desarrollada por Microsoft y
para poder desarrollar o comercializar aplicaciones empresariales debe
comprar la licencia, pero para fines acadmicos puede utilizarse siempre
y cuando las aplicaciones desarrolladas no se comercialicen.
Visual Studio Net est diseado de tal manera que en un nico
modelo de programacin, uniforme y consistente se desarrollen las
aplicaciones (ya sean de formularios Windows, de consola, aplicaciones
Web, aplicaciones mviles, etc.) y para cualquier dispositivo de hardware
(PCs, Pocket PCs, Telfonos Celulares Inteligentes, tambin llamados
SmartPhones, Tablet PCs, etc.).
Visual Studio .NET se integra fcilmente con aplicaciones
desarrolladas en otras plataformas Microsoft y tambin con aquellas
desarrolladas en otras plataformas de software, sistemas operativos o
lenguajes de programacin.

4
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

1.3. Arquitectura Framework de .Net

El Framework de .Net (Marco de Trabajo) es el componente fundamental


de la plataforma Microsoft Visual Studio.NET que permite ejecutar las
aplicaciones desarrolladas.

Se tienen tres componentes principales:

.NET Framework Redistributable Package: Mnimo componente de la


plataforma .NET necesario para poder ejecutar aplicaciones. Normalmente
se instala en los entornos productivos, una vez que el desarrollo y las
pruebas de la aplicacin han finalizado.

Est compuesto por:

El entorno de ejecucin de la plataforma .NET


Las bibliotecas de funcionalidad reutilizable

.NET Framework SDK: Contiene las herramientas de desarrollo de lnea


de comandos (compiladores, depuradores, etc.), documentacin de
referencia, ejemplos y manuales para desarrolladores de aplicaciones.
Se instala en los y es ms til a los programadores que para los usuarios
finales.

Para poder instalar la versin SDK (Software Development Kit) es necesario


instalar previamente el Redistributable Package.

.NET Compact Framework: Versin reducida .NET Framework


Redistributable, especialmente pensada para ser instalada en dispositivos
mviles como Pocket PCs y SmartPhones.

1.3.1. Componentes de la arquitectura

Los componentes de la arquitectura del framework de .Net se pueden


apreciar en la siguiente figura:

5
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

.NET Framework SDK

VB C++ C# J# ...

Common Lenguage Specification

}
ASP.NET Windows Forms

.NET Framework
.NET Framework

ADO.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 ejecucin de aplicaciones, y es el encargado de ejecutar las
aplicaciones y proveerles servicios en tiempo de ejecucin.

Class library (color azul): Es conocido como el conjunto de bibliotecas


que provee muchos tipos bsicos (clases e interfaces) orientados a
objetos, extensibles mediante herencia, independientes del lenguaje de
programacin de alto nivel que se est utilizando y que se encuentran
organizados en namespaces jerrquicos. En la siguiente figura se aprecian
los principales namespaces de la biblioteca de clases .NET:

System: raz de todos los otros namespaces, y dentro del cual se


pude encontrar la mayora de los namespaces correspondientes a la
Base Class Library
System.Data y System.Xml: Constituyen la tecnologa conocida
como ADO.NET, la cual se usa para acceso a datos.
System.Web: Se encuentran todos los tipos necesarios para
programar aplicaciones y servicios web ASP.NET
System.Windows.Forms: Se encuentran todos los tipos necesarios
para programar aplicaciones de escritorio basadas en formularios y
ventanas Windows.

6
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Dentro de este componentes se tienen 4 sub-componentes principales:

La Base Class Library (BCL - Biblioteca de Clases Base):


La cual contiene la funcionalidad que ms se utiliza para desarrollar
aplicaciones tales como el manejo de colecciones, cadenas de texto,
entrada/salida, threading, operaciones matemticas y dibujos 2D.
ADO.NET: Contiene el conjunto de clases que permiten interactuar
con bases de datos relacionales y documentos XML como repositorios
de informacin persistente.
ASP.NET: Es la tecnologa necesaria del .NET Framework para
construir aplicaciones con interfaz de usuario Web (es decir, aplicaciones
cuya lgica 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 estndares como HTTP y HTML).
Windows Forms (WinForms): Es la tecnologa necesaria.NET
Framewok que permite crear aplicaciones con interfaz de usuario basada
en formularios y ventanas Windows y que se ejecutan directamente en
los clientes.

Especificacin de Lenguaje Comn -CLS (color rojo): Uno de los


principales objetivos del diseo de la plataforma de Visual Studio .NET fue
el de que el lenguaje de programacin elegido fuera independiente.

Para esto se cre este componente que define y estandariza un subconjunto


de todas las caractersticas soportadas por el CLR y que son necesarias
en la mayora de las aplicaciones. Todos los componentes desarrollados y
compilados de acuerdo con la especificacin CLS pueden interactuar entre
s, independientemente del lenguaje de programacin de alto nivel en el
que fueron escritos.

El Framework de .Net provee implementaciones de 4 lenguajes compatibles


con CLS, junto con sus compiladores:

* Microsoft Visual Basic .NET


* Microsoft Visual C# .NET
* Microsoft Visual J#.NET
* Microsoft Visual C++.NET

Esto quiere decir que una aplicacin escrita, por ejemplo, en Visual Basic.
NET, puede incorporar sin problemas nuevas partes escritas en C# o C++
.NET.

7
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Todos los componentes mencionados anteriormente se montan por encima


de la familia de sistemas operativos Windows.

2. PROGRAMACIN ORIENTADA A OBJETOS

La programacin 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, a diferencia de otros tipos de programacin.

Segn Grady Booch, el autor del mtodo de diseo orientado a objetos,


define la POO como un mtodo de implementacin en el que los programas
se organizan como colecciones cooperativas de objetos, cada uno de los
cuales representan una instancia de alguna clase, y cuyas clases son
todas miembros de una jerarqua de clase unida mediante relaciones de
herencia.

2.1. Conceptos que maneja la POO

La programacin orientada a objetos incluye los conceptos de objetos,


clases, atributos, mtodos, herencia y polimorfismo. De tal manera que
todos ellos se incluyen para desarrollar un programa con este paradigma.

Existen tres partes importantes en la definicin de programacin orientada


a objetos:

Segn Booch, todos los objetos tienen 3 caractersticas principales que


son:

Todos los objetos tienen un Estado, Comportamiento e identidad.


Cada objeto es una instancia de una clase.
Las clases se relacionan unas con otras por medio de relaciones de
herencia.

Un programa puede parecer orientado a objetos, pero si cualquiera de


estos elementos no existe, no es un programa orientado a objetos. La
programacin sin herencia se denomina programacin por tipos abstractos
de datos.

Como se piensa en objetos

8
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Pensar en objetos incluye cuatro elementos fundamentales en el modelo


orientado a objetos, cada uno requiere una forma distinta de pensar en el
problema, los cuales son la abstraccin, encapsulamiento, polimorfismo,
modularidad y jerarqua.

ABSTRACCIN
ENCAPSULAMIENTO

MODULARIDAD JERARQUA

POLIMORFISMO OTRAS

MODULARIDAD: Fragmentar un programa en componentes individuales


reduce su complejidad en algn grado.

9
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

ABSTRACCIN: Representacin de las caractersticas esenciales de algo


sin incluir detalles irrelevantes.

ENCAPSULAMIENTO: Incluir en un objeto lo necesario de forma que


ningn otro objeto tenga que conocer su estructura interna.

JERARQUA: Mecanismo para compartir automticamente mtodos y


atributos entre clases y subclases.

POLIMORFISMO: Implementar mltiples formas un mismo mtodo.

OTRAS: Concurrencia, Persistencia, Genericidad, Manejo de excepciones.

2.2. Conceptos de programacin orientada a objetos con C#

A continuacin se explica cada uno de los conceptos que implementa la


programacin orientada a objetos en el lenguaje de programacin C#,
tales como clases, objetos, mensajes y mtodos, herencia y polimorfismo.

Se presenta a continuacin el

2.2.1. Declaracin de una Clase

En trminos de programacin una clase es una estructura que contiene


datos y procedimientos (funciones) que son capaces de operar sobre esos
datos, una clase consta de una declaracin de la clase, donde se listan los
atributos (datos) de una clase y una implementacin, donde se definen
las funciones (mtodos) de la clase.

Para construir un programa orientado a objetos se debe:

1. Identificar las clases que tendr el sistema a construir.

2. Para cada clase identificar los atributos.

3. Para cada clase identificar los mtodos.

4. Crear los objetos de cada clase para acceder a los mtodos y atributos.

10
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Una clase en lenguaje C#, debe ser declarada antes de ser utilizada, el
formato de declaracin de una clase contiene el nombre de la clase y el
cuerpo.

Class Nombre{
//cuerpo de la clase

Private:
//miembros privados

Public:
//miembro pblicos

Protected:
//miembros protegidos
}

Mensajes y Mtodos

En las clases se pueden identificar distintas categoras de mtodos:

Mtodos inicializadores: inicializan atributos.


Mtodos accesores: devuelven el contenido de los atributos (cada
accesor devuelve un atributo). Llamados tambin mtodos get.
Mtodos mutadores: establecen el contenido de los atributos,
llamados tambin mtodos set.
Mtodos visualizadores: muestran el objeto (valores de los
atributos o alguna representacin visual del objeto).
Mtodos computadores: realizan clculos y generan resultados.

11
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

2.2.2. Mtodos privados, pblicos 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 mtodos y atributos
en una clase:

Public: Indica que se puede tener acceso libre tanto a las variables
y funciones miembro de la clase.
Private: Juega un papel parecido al de una variable local en una
funcin, solo puede tener acceso a los atributos privados, las funciones
miembro de dicha clase, as mismo una variable local slo est disponible
en el interior de la funcin.
Protected: Permite a las clases derivadas acceder a los atributos
de su clase base. Por defecto todos los miembros de una clase son
privados, a menos que se especifique le contrario.

Class Nombre{

Private:
datos miembro

Public:
acceso a la clase
funciones miembro

Acceso del usuario


de la clase

A travs de los objetos de una clase se puede acceder (con el operador


) a lo que est declarado como pblico en la clase, lo privado slo puede
ser accedido directamente dentro de la clase. Los atributos deben estar
ocultos (ser privados) aunque (C# permite declarar atributos pblicos, lo
correcto es que los atributos sean privados), los mtodos se implementan
con funciones miembro.

12
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Reglas de visibilidad.

Seccin privada: solamente las funciones miembro de la clase pueden


acceder a los miembros privados. Las instancias de la clase no pueden
acceder a los miembros privados.

Seccin protegida: solamente la funcin miembro de la clase y sus clases


descendientes pueden acceder a miembros protegidos. Las instancias de
la clase no pueden acceder a miembros protegidos.

Seccin pblica: Los miembros especficos que son visibles a las funciones
miembro de la clase, instancias de la clase, funciones miembro de clases
descendientes y sus instancias.

2.3. Ejemplo de declaracin de una clase en c#

Es de recordar que el nombre de la clase debe ser representativo de lo


que se quiere modelar, es decir si se tiene la abstraccin de almacenar
un punto para luego dibujar una figura, la clase se debera llamar Punto.

Propiedades

En Visual Studio .Net se pueden crear propiedades para cada uno de los
atributos que se crean para la clase, de tal manera que se puede acceder
y modificar los valores de estos atributos; cabe anotar que cuando se
crea una clase con propiedades, los mtodos accesores y mutadores son
reemplazados, por ejemplo:

13
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

-class-punto
-{
-----private-float-Posy;
atributos
-----private-float-Posy;
-----public-void-inicializar(){
---------Posy-=-0;
inicializador
---------Posy-=-0;
-----}
-----public-float-X-{-
---------set{Posx=value;}
---------get{return-Posx;}
-----}-----
propiedades
-----public-float-Y-{-
---------set{Posy=value;}
---------get{return-Posy;}
-----}
lgica -----public-void-dibujar();
-}
-

En el ejemplo anterior las propiedades se realizan para los atributos Posx,


Posy y para cada uno de ellos se realiza su accesor (set), y modificador
(get). Ms adelante se revisa cmo utilizar las propiedades en una
aplicacin WindowsForms.

Objetos

Recordemos que, segn las definiciones formales de James Rumbaugh y


Grady Booch, un objeto es: Una abstraccin de la realidad que tiene un
significado concreto y claro para el problema que se est modelando.

Una vez creada la clase, junto con los mtodos y/o propiedades, atributos
se procede a crear y declarar los objetos. Un objeto se declara de la
siguiente forma:

Punto objpunto; // el objeto llamado objpunto es de la clase Punto

14
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Los objetos se pueden crear estticos, objetos que se declaran al principio


de un programa y permanecen hasta que el programa se termina; o
dinmicos, objetos que crean y destruyen en la medida que se necesitan.

Cuando el compilador encuentra la declaracin de un objeto, asigna una


ubicacin de memoria para almacenar los datos del punto tales como la
posicin en x y en Y.

Para crear un objeto en visual Studio .Net con lenguaje C# se hace de la


siguiente manera

Persona objpersonal;
Nombre de Nombre del
la clase objeto

Ejemplos

* Ejemplo Clase Estudiante1

En la siguiente porcin de cdigo puede observar cmo se crea la clase


Estudiante haciendo uso de los mtodos accesores y modificadores.

class Estudiante
{
#region Atributoss
private string nombre;
#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 - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

nombre=name;
}
///<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 porcin de cdigo puede observar cmo se crea la clase


Estudiante haciendo uso de propiedades.

class Estudiante {
#region Atributoss
/// <sumary>
/// Atributo nombre para almacenar los nombres
/// de los estudiantes.
/// </sumary>
private string nombre;
#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;}
// accesor
get{return nombre;}
}
#endregion
}

16
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

3. DESARROLLO DE APLICACIONES WINDOWS FORMS

Para construir una aplicacin que resuelva un problema o una necesidad


en una empresa u organizacin, no basta con la creacin de las clases
y aplicar los conceptos del paradigma orientado a objetos. Es necesario
crear la interfaz de usuario que permitir que el cliente finalmente pueda
utilizar la aplicacin desarrollada y la persistencia (acceso a los datos),
para el almacenamiento de los datos.

Las clases proporcionadas por el framework .NET incluyen una gran


cantidad para la creacin y administracin de aplicaciones Windows.
Todos los controles necesarios para desarrollar este tipo de aplicaciones
los provee el NameSpace System.Windows.Forms. Un namespace
es una estructura organizacional de funcionalidades tales como clases,
funciones, tipos de datos, etc. relacionados entre s y agrupados bajo una
denominacin comn.

Al crear un proyecto de aplicacin Windows, adems de generarse


automticamente un formulario por defecto, se crean una serie de archivos
y clases que complementan la aplicacin.

Entre ellos estn:

Program.cs (o .vb): Contiene una clase esttica (Program) con


un mtodo Main() que constituye el punto de entrada de la aplicacin.
AssemblyInfo.cs (o .vb): Es parte de cada proyecto y sirve para
personalizar datos importantes acerca del ensamblado (Assembly).
Settings.cs (o .vb): Es el encargado del acceso a la configuracin
de usuario de la aplicacin (se profundizar ms adelante en esta
presentacin).
References: Por defecto ya se incluyen algunas referencias a otros
assemblies de .NET. Desde esta carpeta se pueden agregar o quitar las
que se requieran para el caso particular.

3.1. Controles

Para poder crear las interfaces de usuario, Visual Studio .Net maneja
diferentes tipos de controles tales como:

Controles comunes, contenedores, mens y barras de herramientas,


datos, componentes, informe, todos necesarios para soportar la edicin

17
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

y generacin de eventos para construir una aplicacin Windows. Algunos


de los ms utilizados son:

3.1.1. Tipos de Controles


Controles comunes

Control Descripcin Representacin


RichTextBox Proporciona entrada de texto
de ediciones avanzadas
como es el formato de
prrafo.
TextBox Permite al usuario editar
texto.
Label Proporciona informacin de
texto descriptivo en tiempo
de ejecucin.
Button Desencadena un evento
cuando el usuario hace clic
sobre l.
CheckBox Permite al usuario
seleccionar o quitar una
opcin asociada.
ComboBox Muestra un cuadro de texto
editable con una lista
desplegable de los valores
permitidos.
PictureBox Muestra una imagen
RadioButton Permite al usuario
seleccionar una nica opcin
dentro de un grupo de
mltiples opciones.
Contenedores

Control Descripcin Representacin


Panel Permite agrupar colecciones
de controles.
GroupBox Muestra un marco de
alrededor de un grupo de
controles con un titulo
opcional.

Menus y Barras herramientas

Control Descripcin Representacin


MenuStrip Permite editar y mostrar un
men de opciones para la
aplicacin.

Datos

Control Descripcin Representacin


DataGridView Muestra filas y columnas de
datos en una cuadricula que
se puede personalizar,
DataSet Presenta un cache de datos
en memoria

18
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Para poder agregar un control a un formulario, se debe tener el formulario


abierto, ubicar el Cuadro de Herramientas (generalmente a la izquierda),
se puede hacer clic en el control que desea agregar y arrastrarlo hasta
el formulario o hacer doble clic sobre el control, de esta ltima forma
aparecer automticamente sobre el espacio del formulario.

3.1.2. Propiedades y eventos de un control

Todos los controles mencionados anteriormente tienen asociados


propiedades y eventos.

Propiedades: Son las caractersticas que tiene cada control, y dentro


del entorno de Visual Studio estn ubicadas en la barra de herramientas
llamada Propiedades o con acceso rpido seleccionando el control y
presionando F4.

Las propiedades ms utilizadas para cada control son:

Propiedad Descripcin
Name Nombre utilizado en el cdigo para
identificar el objeto.
Text Texto Asociado al Control
Para el ejemplo que se presenta a continuacin en el control Button su
propiedad Name ha sido fijada como BtnAceptar y la propiedad Text
ha sido fijada con el texto Aceptar.

19
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Eventos: Los eventos son las acciones que se quiere indicar al control que
debe realizar, cada control proporciona mltiples eventos, el ms utilizado
es el evento OnClic, el cual se dispara o se genera haciendo doble clic
sobre el control y all se escriben las instrucciones que debe ejecutar.

Ejemplo y uso de eventos propiedades

En este formulario se han


utilizado los controles

Groupbox (1),

Label (3),

Textbox (2)

Button (1)

Cada uno tiene fijados la


propiedad text con los textos
20 que se desean visualizar en el
formulario.
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

El evento clic sobre el botn Aceptar

Cuando la aplicacin se ejecute y se haga clic sobre el botn aceptar, se


visualiza:

Cdigo del evento clic:

Para lograr esto se incluira en el evento Onclick del botn el siguiente


fragmento de cdigo:

3.2. Identificadores, tipos y palabras reservadas

Variables

Recordemos que cuando se realiza el anlisis del problema se identifican los


datos iniciales, estos datos se estructuran o se definen como variables; en
ellas se pueden almacenar valores y son nombradas con identificadores.

21
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Tipo de dato y nombre de la


variable.

Asignacin de una variable.

Tipos de datos

En la tabla siguiente se proporciona la lista de tipos de datos de C# y sus


alias. Como puede ver, los primeros ocho de estos tipos corresponden a
los tipos primitivos disponibles en Java. Sin embargo, tenga en cuenta
que el tipo boolean de Java se denomina bool en C#.

Nombre corto Clase .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.147.483.648 a
2.147.483.647
uint UInt32 Entero sin signo 0 a 4294967295
short Int16 Entero con signo -32.768 a 32.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,402823e38 a
flotante de precisin 3,402823e38
simple
double Double Tipo de punto -1,79769313486232e308
flotante de precisin a 1,79769313486232e308
doble
char Char Un carcter Unicode Smbolos Unicode
utilizados en el texto

22
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

bool Boolean Tipo Boolean lgico True o false


object Object Tipo base de todos
los otros tipos
string String Una secuencia de
caracteres
decimal Decimal Tipo preciso 1.0 10e28 a 7.9
fraccionario o 10e28
integral, que
puede representar
nmeros decimales
con 29 dgitos
significativos

Ejemplos:

int edad;
string nombre;
float promedio;
bool asignado;

Casteo o conversin de tipos de datos

En muchas ocasiones es necesario hacer una conversin del tipo de dato,


ya que algunas propiedades establecidas por Visual Studio. Net ya tiene
predefinido el tipo de dato con el que necesitan operar.

Por ejemplo: la propiedad Text, que la tienen la mayora de los controles,


est definida para operar con tipos de datos String, por tal motivo siempre
que se necesite utilizar esta propiedad siempre se deben utilizar tipos de
datos string.

Conversin Ejemplo
ToString() (txtedad.Text).ToString()

Mtodo que permite convertir cualquier


tipo de dato a string
Int.Parse() int.Parse(txtedad.Text);

Mtodo que permite convertir cualquier


tipo de dato a entero.

23
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Float.Parse() float.Parse(txtedad.Text);

Mtodo que permite convertir cualquier


tipo de dato a flotante (real).

Comentarios

Es fundamental en la fase de codificacin la documentacin; la cual se


realiza por medio de comentarios, en .net estn permitidos los siguientes
tipos de comentarios:

Comentarios de Una sola lnea: // comentario en una sola linea


Comentarios de multiples lneas:
* /* comentario en una o mas
* lineas*/
Comentarios para documentacin Automtica: ///

Documentacin automatica ///

Palabras reservadas

Son conocidas como palabras Clave y son aquellos identificadores


reservados por .Net para un objetivo especfico. La tabla que se presenta
a continuacin relaciona algunas de las palabras reservadas.

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 - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

3.3. Estructuras algortmicas en lenguaje c#

Estructura de decisin

Esta estructura es utilizada para tomar decisiones basado en la evaluacin


lgica de una condicin y determina dos posibles rutas de accin en el
programa.

Representacin en diagrama flujo Cdigo lenguaje c#

25
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Estructura repetitiva (Ciclo para)

Representacin en diagrama flujo Cdigo lenguaje C#

Ejecucin del cdigo

3.4. Conexin a base de datos usando ADO.NET

ADO.NET es una evolucin de ADO (ActiveX Data Object), 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 tambin
a datos no estructurados. Es una parte de la biblioteca de clases base que
estn incluidas en el Microsoft .NET Framework.

26
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

La arquitectura de ADO. Net esta descrita en la siguiente grfica.

3.4.1. Componentes

ADO tiene dos componentes principales para el acceso a datos y la


manipulacin los cuales son los proveedores de datos de .Net
Framework y los DataSet.

Objetos principales del Proveedores de datos .Net Framework: Son


componentes diseados explcitamente para la manipulacin de datos y el
acceso rpido a datos.

Componentes Descripcin
Connection Este objeto permite definir las caractersticas de
conexin a una base de datos, tales como el tipo de
servidor, nombre de la base de datos, ubicacin, etc.
Command Este objeto permite ejecutar sentencias SQL sobre las
bases de datos, como lectura, insercin, actualizacin,
o borrado de datos relacionales
Data Reader Permite obtener un flujo de datos y realizar operaciones
sobre ellos uno a uno.

27
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

DataAdapter Permite alimentar un Dataset con datos a partir de


cuatro objetos command que posee, definidos para
realizar cada operacin
DataSet Objeto que simula una base de datos, contiene una
coleccin de uno o ms 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 rpidamente.
DataTable Representa la estructura de tabla de datos.

El namespace System.Data posee un conjunto de clases y elementos


definidos para la conexin con diferentes tipos de Origenes de datos, es
as como tiene SqlClient para acceder a bases de datos de SQLServer y
OracleClient para bases de datos Oracle, tambin tiene objetos compatibles
para conexin a travs de Odbc y el tipo Oledb para bases de datos como
Access.

SqlServer

Oracle

4. Desarrollo de una aplicacin 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), Vista
Logiga, Vista de Datos, todas se conectan entre si dentro del desarrollo

28
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

de un sistema de informacion para dar respuesta a las necesidades del


cliente como se puede visualizar en la siguiente imagen.

PRESENTACION NEGOCIO ACCESO A


DATOS

Intefaz de Lgico de
Usuario Procesos
Funciones de BBDD
Acceso a Datos
Utilidades
de IU
Lgico de
Procesos

Arquitectura 3 capas (Aplicacin Windows)

Para el siguiente caso de estudio se explica cmo realizar una aplicacin


Windows con arquitectura de 3 capas;

Caso estudio

Se necesita implementar un sistema de informacin que permita gestionar


el inventario de las partes de los computadores que existen en el ambiente
de clase para el tcnico en mantenimiento de hardware, este ambiente
contiene solamente computadores, donde cada computador tiene asociado
su teclado, torre y monitor, 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, marca, color,
descripcin).

29
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

4.1. Arquitectura de la aplicacin

La arquitectura de la aplicacin est diseada en 3 capas:

Interfaz de usuario: Se encuentra el formulario llamado


FrmGestionComputador.cs, el cual permite gestionar las operaciones
CRUD (Insertar, eliminar, buscar y actualizar) de un monitor, teclado y
torre.
Lgica: Se encuentran todas las clases necesarias para desarrollar
la lgica del programa, dentro de las cuales estn: (Monitor.cs, Teclado.
cs, Torre.cs, Registro.cs).
Acceso a Datos: Se encuentra la clase de persistencia que almacena
todas las funciones necesarias para conectarse a la base de datos.

Interfaz Logica ACCESO A


Windows DATOS
Forms

Monitor.cs
BBDD
FormGestionar Program.cs
BaseDatos.cs
Computador.cs Registro.cs
Teclado.cs
Torre.cs

Visual Studio .Net(Lenguaje C#) Sql Server

4.2. Creacin de la Interfaz grfica de usuario (GUI)

La interfaz de usuario que permite gestionar las partes del computador es


la mostrada en la siguiente imagen.

30
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

La interfaz es creada sobre un formulario Windows Form, y utiliza los


controles:

GroupBox: Para agrupar toda la informacin de los computadores


y para agrupar los datos de una Torre, Teclado y monitor). 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 informacin de
cada una de las partes del computador (torre, teclado y monitor),
identificado en la imagen con la letra M.
TextBox: control utilizado para almacenar los datos de serial,
color, marca y descripcin de una parte y estn identificados por la letra
A,B,C,D.
Grid View: control utilizado para visualizar los datos de las partes
del computador (torre, teclado y monitor). Identificado en la imagen
por la letra E.

31
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Eventos clic del Botn guardar


private void bregguardar_Click(object sender, EventArgs e){
try{
if (txtCodigo.Text == ||txtnombre.Text == || cboxserialmonitor.Text== || cboxserialteclado.Text== || cboxserialtorre.Text ==)
MessageBox.Show(this.MdiParent, Debe digitar Datos, Error, MessageBoxButtons.OK, MessageBoxIco.Error);
else{
if (objregistro.insertar(txtCodigo.Text,txtnombre.Text,cboxserialmonitor.text,cboxserialteclado.Text,cboxserialtorre.Text,txtdescregistro.Text))
{
MessageBox.Show(this.MdiParent, Computador Registrado exitosamente, Informacion, MessageBoxButtons.OK, MessageBoxIcon.Information);
cargadosregistro();
limpiadrodatosreg();
bloquearregistro();
deshabilitarreg();
cargarserialescombo();
}
}
}
catch{
MessageBox.Show(this.MdiParent,Datos NO registrado, Informacin, MessageBoxButton.OK, MessageBoxIcon.Information);
}
}

Evento clic del Botn Eliminar

Evento clic del Botn Buscar

32
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Evento clic del Botn Editar

4.3. Creacin de la Vista lgica

En la vista lgica se encuentran todas las clases identificadas para


poder implementar el sistema de informacin, se identificaron las clases
expresadas en la siguiente imagen.

Las cuales en lenguaje C# seria:

33
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Atributos y propiedades de la clase Torre

Funciones para manejar la comunicacin con la vista de


datos

Para manejar la conexin a la base de datos se han creado cuatro funciones


bsicas (insertar, eliminar, actualizar y buscar).

34
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

Nota: Teclado y Monitor se implementan similar a la clase Torre descrita


anteriormente.

4.4. Creacin de la Vista de Datos

Para la vista de datos, se tiene el siguiente modelo relacional de la base


de datos.

Clase para la lgica de la base de datos

35
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net

El mtodo EjecutarConsulta recibe una instruccin SQL y el nombre de la


tabla que va a contener los datos obtenidos en la consulta.

1. La cadena de conexin se almacena en una variable de tipo string, all


se establece el nombre del servidor SQLServer (sap-PC), la base de
datos (BDInv) y el tipo de seguridad a utilizar en la conexin

2. Se instancia un objeto llamado conexin que recibe como argumento


la cadena de conexin.

3. El adaptador se instancia recibiendo la conexin y la instruccin SQL


de la consulta. Posteriormente se ejecuta (mtodo .Fill) almacenando
los datos en el Dataset DataTable correspondiente. Luego retorna el
objeto con los datos.

4. El mtodo ejecutarDML permite ejecutar instrucciones como Insert,


Update o Delete, por tanto recibe como argumento una instruccin
SQL.

5. Se abre la conexin, esto es requisito cuando se utiliza el objeto


command.

6. Se instancia el comando pasando como argumentos los datos de la


conexin y la instruccin a ejecutar.

7. Cuando se ejecuta el objeto (se usa el mtodo ExecuteNonQuery)


retorna informacin indicando el nmero de registros afectados por
la sentencia sql. Si el nmero es mayor a 0 significa que se ejecut y
retorna true, indicando la ejecucin exitosa del comando.

36
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
GLOSARIO

CLR-Common Language Runtime: Entorno de ejecucin de aplicaciones,


encargado de ejecutar las aplicaciones y proveerles servicios en tiempo
de ejecucin.
Class library: Conjunto de bibliotecas que provee muchos tipos bsicos
(clases e interfaces) orientados a objetos, extensibles mediante herencia,
independientes del lenguaje de programacin de alto nivel que se est
utilizando y que se encuentran organizados en namespaces jerrquicos.
System: Raz de todos los namespaces, y dentro del cual se pude encontrar
la mayora de los namespaces correspondientes a la Base Class Library.
System.Data y System.Xml: Constituyen la tecnologa conocida como
ADO.NET.
System.Web: Se encuentran todos los tipos necesarios para programar
aplicaciones y servicios web ASP.NET.
System.Windows.Forms: Se encuentran todos los tipos necesarios para
programar aplicaciones de escritorio basadas en formularios y ventanas
Windows.

37
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
BIBLIOGRAFA

Microsoft. Programa de desarrollador cinco Estrellas, Desarrollador 5


estrellas.

Microsoft (2013). Microsoft Developer Network. Tutoriales de C#


disponibles en http://msdn.microsoft.com

38
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Control de documento
Construccin Objeto de Aprendizaje
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Desarrollador de contenido Leydy Carolina Muoz Pachajoa
Experto temtico
Asesor pedaggico Claudia Milena Hernndez Naranjo
Rafael Neftal Lizcano Reyes
Produccin Multimedia Luis Fernando Botero Mendoza
Victor Hugo Tabares Carreo
Programadores Daniel Eduardo Martnez
Lder expertos temticos Ana Yaqueline Chavarro Parra

Lder lnea de produccin Santiago Lozada Garcs

39
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Vous aimerez peut-être aussi