Você está na página 1de 58

Tutorial para crear aplicaciones con C#

TUTORIAL PARA CREAR


APLICACIONES CON C#

SESION 1: Desarrollando La Interfaz Grfica De Usuario 3


SESION 2: Creando El Modelo De La Aplicacion 20
SESION 3: Creando La Base De Datos 25
SESION 4: Creando Las Clases De Acceso A Datos 32
SESION 5: Estableciendo El Control De La Aplicacion 41
SESION 6: Poniendo En Marcha La Aplicacion 47
SESION 7: Publicando La Aplicacin 53

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


Tutorial para crear aplicaciones con C#

TUTORIAL PARA CREA APLIACACIONES CON C#

INTRODUCCIN

El presente tutorial es una gua paso a paso sobre el desarrollo completo


de un caso de uso en el lenguaje de programacin c# de .NET.

El caso de uso que servir de fuente para el desarrollo de la aplicacin es


Administrar datos tratamientos, caso de uso del Sistema Gestin Citas
que se ha venido desarrollando:

2
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

SESION : 1

Recordemos que el caso de uso que se desarrollar en el presente tutorial


es Administrar datos Tratamientos:

SISTEMA GESTION CITAS

ADMINISTRAR
DATOS

ADMINISTRAR
MEDICO DATOS TRATAMIENTO

GESTIONAR CITAS

GENERAR REPORTES
EMPLEADO

3
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Para el desarrollo de la GUI, debemos tener en cuenta el diseo de la base


de datos, que en relacin con los tratamientos indica que un paciente
puede tener varios tratamientos:

Creamos un nuevo proyecto de tipo Aplicacin de Windows Forms y le


asignamos el nombre de Tratamientos:

4
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Al formulario que aparece por defecto, le modificaremos algunas propie-


dades para convertirlo en el formulario principal de la aplicacin:

PROPIEDADES VALOR
Name frmPrincipal
IsMdiContainer True
Text Gestin de Tratamientos

WindowState Maximized

Con las anteriores propiedades tendremos un formulario principal conte-


nedor de otros formularios secundarios con su respectivo ttulo y en
estado maximizado.

5
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Para crear el men principal, arrastramos desde el Cuadro de herramien-


tas un control de tipo MenuStrip sobre el formulario principal:

Creamos el men principal, con base en el siguiente diseo:

ARCHIVO TRATAMIENTOS
Salir Asignar Tratamientos
Consultar Tratamientos

6
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Ahora, debemos crear el formulario para la asignacin de tratamientos

Hacemos click derecho sobre el proyecto Tratamientos en la ventana de


Explorador de Soluciones y seleccionamos del men contextual la opcin
Agregar > Nuevo Elemento:

Seleccionamos un elemento de tipo Windows Forms y le ingresamos el


nombre frmAsignarTratamientos y hacemos click en el botn Agregar:

7
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Al nuevo formulario le asignamos las siguientes propiedades:

PROPIEDAD VALOR
FormBorderStyle FixedToolWindow
Text Asignar Tratamiento

Sobre este formulario agregamos los controles necesarios para el


siguiente diseo:

1 8

2 15
3 9
4

10
12 6
5 13

7
11

14

8
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

NUMERO TIPO CONTROL


1,2,3,4,5,6,7 Label
8,9,10,11 textBox
12,13 DateTimePicker
12,13 DateTimePicker
14 Button

15 Panel

Asignacin de propiedades a los controles:

# CONTROL PROPIEDAD VALOR


1 ForeColor Desktop
2 ForeColor Desktop
8 MaxLength Name 10txtIdentificacion
9 txtFechaAsignado
Name BorderStyle FixedSingle
10 NameMultiline ScrollBars txtDescripcion
trueVertical
12 Name Format dtpFechaInicioShort

13 Name Format dtpFechaFinShort


11 NameMultiline ScrollBars txtObservaciones
trueVertical
14 Name btnAsignar
Tratamiento
15 Name panTratamiento

9
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Introduccin al Lenguaje de Modelado Unificado (UML)

Luego de modificadas las propiedades iniciales de los controles, estos ya


poseen un nombre significativo para ser accedidos mediante cdigo y
una mejor apariencia:

1
8

2
3 15
9

4
10

5 6

12 13

7 11

14

10
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

A continuacin crearemos dos formularios complementarios al formulario


anterior, el primero es un formulario de confirmacin, donde se presenta-
rn los datos del paciente cuyo nmero de identificacin coincida con el
ingresado en el cuadro de texto 8. El segundo formulario servir para
ingresar la informacin de un nuevo paciente, en caso de no estar regis-
trado.

Agregamos un nuevo formulario, tal como lo hicimos con el formu-


lario anterior, este formulario lo llamaremos frmPacienteEncon-
trado y tendr el siguiente diseo:

4
Formular Paciente

11
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

ACasos
continuacin
de Uso crearemos dos formularios complementarios al formulario
anterior, el primero es un formulario de confirmacin, donde se presenta-
rn los datos del paciente cuyo nmero de identificacin coincida con el
ingresado en el cuadro de texto 8. El segundo formulario servir para
ingresar la informacin de un nuevo paciente, en caso de no estar regis-
trado.

Agregamos un nuevo formulario, tal como lo hicimos con el formu-


lario anterior, este formulario lo llamaremos frmPacienteEncon-
trado y tendr el siguiente diseo:

NUMERO TIPO CONTROL


1 Formulario
2,3,4,5,6 Lebel
7 Botton

12
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Asignacin de propiedades a los controles:.

# CONTROL PROPIEDAD VALOR


1 Name BackColor frmPacienteEncontrado
FormBorderStyle Text White FixedToolWindow
Paciente Encontrado

2 Name AutoSize Text lblIdentificacion true


identificacion
3 Name AutoSize Text lblNombres true nombres

4 Name AutoSize Text lblApellidos true apellidos

5 Name AutoSize Text lblFechaNacimiento


true fecha de nacimiento
6 Name AutoSize Text lblSexo true sexo

7 Name Text btnAceptar Aceptar

Creamos el siguiente formulario complementario, que servir para agregar


un nuevo paciente cuando este no se encuentre registrado. El diseo del
formulario es el siguiente:

1
2
3
4
5

6 7

13
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

NUMERO TIPO CONTROL


1 Formulario
2,3,4 TextBox
5 DateTimePicker

6,7 RadioButton

8 Button

Asignacin de propiedades a los controles:.

# CONTROL PROPIEDAD VALOR


1 frmRegistrarPaciente
Name BackColor
FormBorderStyle Text White FixedToolWindow
Registrar Paciente
2
Name txtIdentificacion
3
Name txtNombres
4
Name txtApellidos
5
NameFormat dtpFechaNacimiento
Short to
6
NameText Checked optMasculinoMTrue
7
Name Text optFemeninoF
8
Name Text btnAceptar Aceptar

14
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Para responder al men de Consultar Tratamientos, creamos un nuevo


formulario con el siguiente diseo:

1
2

NUMERO TIPO CONTROL


1 Formulario
2 TextBox

3 DataGridView

Asignacin de propiedades a los controles:.

PROPIEDAD VALOR
# CONTROL Name frmConsultarTratamientos
FormBorderStyle FixedToolWindow
1 Text Consultar Tratamientos
ar Paciente

2 Name txtIdentificacion

3 Name dtgTratamientos

15
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Despus de ser creados los formularios, vamos a escribir el cdigo


necesario en el formulario principal para que la aplicacin responda a los
eventos generados por las opciones del men.

Hacemos doble click sobre la opcin Salir del men Archivo para que nos
lleve al respectivo evento:

En el espacio asociado al evento click del men Salir, escribimos el


siguiente cdigo:

Hacemos doble click en el men Asignar Tratamientos y en el respectivo


evento escribimos el siguiente cdigo:

16
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Hacemos doble click en el men Consultar Tratamientos y en el respectivo


evento escribimos el siguiente cdigo:

Esto es todo lo que por el momento tendremos en la Interface Grfica del


prototipo, al ejecutar la aplicacin y hacer click en cada una de las
opciones del men, estas deben responder correctamente:

Generar Reportes

17
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Para finalizar, crearemos una carpeta llamada vista donde almacenaremos


todos los formularios creados, para ello hacemos click derecho sobre el
proyecto Tratamientos en la ventana del Explorador de Soluciones y
seleccionamos la opcin del men contextual Agregar > Nueva Carpeta:

Le asignamos el nombre vista:

18
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Seleccionamos los 5 formularios creados y los arrastramos hasta el


paquete vista:

De esta manera hemos finalizado la primera sesin del presente


tutorial

19
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

SESION 2 : CREANDO EL MODELO DE LA APLICACIN

Para identificar las clases que forman parte del modelo, es necesario
revisar el diagrama de clases realizado durante el anlisis y refinado
durante el diseo.

Las clases que forman parte del modelo de esta aplicacin son: Paciente,
Tratamiento y GestorTratamientos

Antes de crear las clases, debemos crear una nueva carpeta llamada
modelo sobre el proyecto y haciendo click derecho sobre esta carpeta
seleccionamos del men contextual la opcin Agregar > Nuevo elemento:

De la ventana emergente seleccionamos el elemento Clase y le asignamos


el nombre Paciente.cs y hacemos click en el botn Agregar:

20
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

21
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

El cdigo de la clase Paciente es sencillo, simplemente se definen sus


atributos, se adiciona su constructor y se crean las propiedades getter y
setter para cada atributo:

22
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

System

23
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

De manera similar creamos la clase Tratamiento dentro del paquete


modelo, teniendo en cuenta que sus atributos reflejan los campos de la
tabla TRATAMIENTOS en la base de datos.

El campo de la base de datos nmero de tratamiento no es tenido en


cuenta en la clase como atributo, ya que este campo se debe generar
automticamente en la base de datos para cada nuevo tratamiento.

24
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

SESION 3: CREANDO LA BASE DE DATOS

El motor de base de datos seleccionado para el desarrollo de la presente


aplicacin es SQL Server Compact 3.5 que es el que se instala por defecto
al instalar el visual C# 2010 Express.

Una base de datos SQLServer Compact Edition es una base de datos local,
que residir en el mismo directorio de la solucin y que se puede
empaquetar como parte integral del proyecto. A diferencia de una base
de datos SQLServer, la cual debe residir en un servidor de bases de datos.

Todos los elementos asociados a la base de datos y el acceso a la misma,


se crearn en una nueva carpeta dentro del proyecto llamada bd:

Hacer click derecho sobre el proyecto Tratamientos y del men contextual,


seleccionar la opcin Agregar Nueva carpeta y asignar el nombre de bd a
la carpeta recin creada:

25
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Sobre esta carpeta, hacemos click derecho y seleccionamos del men


contextual la opcin Agregar Nuevo elemento:

De la ventana emergente, seleccionamos el tipo de elemento Base de


datos local, le asignamos como nombre TratamientosBD y hacemos click
en el botn Agregar:

En la siguiente ventana, hacemos click en Cancelar, para que no se inicie


el asistente de orgenes de datos:

26
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Observamos que en el explorador de soluciones, dentro de la carpeta bd,


se muestra el archivo de bases de datos TratamientosBD.sdf:

27
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Para que los cambios sobre los datos de la base de datos se mantengan
entre las diferentes ejecuciones del programa, cambiamos el valor de la
propiedad de la base de datos Copiar en el directorio de resultados el valor
copiar siempre por el valor copiar si es posterior:

Hacemos doble click a este archivo y de esta manera, se abre la ventana


de Explorador de bases de datos, en ella observamos la base de datos
TratamientosBD.sdf

28
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Hacemos click derecho sobre la carpeta Tablas y seleccionamos la opcin


Crear tabla:

Creamos la tabla PACIENTES, definimos sus respectivos campos y


hacemos click en el botn Aceptar:

29
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

De manera similar creamos la tabla TRATAMIENTOS en esta tabla,


debemos poner mucha atencin en las propiedades del campo
tra_numero, ya que para lograr que sea autonumrico, debemos darle el
valor de true a la propiedad Identidad:

30
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Los campos de la tabla quedan de la siguiente manera:

Al expandir la carpeta Tablas en el Explorador de bases de datos, aparece


cada tabla con sus respectivos campos:

Si quisiramos crear la relacin


entre la tabla PACIENTES y
TRATAMIENTOS, lo podramos
hacer creando un pequeo
programa donde nos conectemos
con la base de datos y ejecutemos
la sentencia ALTER TABLE para
definir la restriccin foreign key
dentro de la tabla TRATAMIENTOS.
Para esta aplicacin no vamos a
realizar este procedimiento.

31
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

SESION 4 : CREANDO LAS CLASES DE ACCESO A DATOS

Despus de crear las respectivas tablas requeridas para la aplicacin,


pasamos a crear la clase Conexion dentro de la carpeta bd, esta clase ser-
vir para establecer y retornar una conexin con la base de datos Trata-
mientosBD.

Teniendo en cuenta que la base de datos que estamos empleando en esta


aplicacin es de tipo SQLServer Compact Edition, debemos agregar una
referencia para su respectivo acceso.

Hacemos click derecho sobre la carpeta References en el Explorador de


soluciones y seleccionamos del men contextual la opcin Agregar refe-
rencia:

Seleccionamos la referencia System.Data.SqlServerCe y hacemos click en


el botn Aceptar:

32
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Al expandir la carpeta References veremos la nueva referencia agregada:

33
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Luego de agregar la referencia necesaria, creamos una nueva clase dentro


de la carpeta bd llamada Conexion, el cdigo de esta clase es el siguiente:

34
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Explicacin del cdigo:

LINEA TIPO CONTROL


5 Importacin del namespace requerido para establecer
conexiones con bases de datos SQLServer Compact
Edition

15,16 Si ya existe una conexin abierta, esta es retornada


18 Se crea el objeto de tipo SqlCeConnection de tipo
esttico para que en la aplicacin solo exista una
conexin activa

19 Se establece la cadena de conexin de manera


dinmica

20...24 Apertura y retorno de la conexin

25...29 AperSi existe algn error al intentar abrir la conexin,


se gestiona la excepcin y se retorna null

31...35 Mtodo que se invoca cuando se desea cerrar


la conexin

Despus de creada la clase Conexin.cs, pasamos a crear la clase Gestor-


Tratamientos que tendr los mtodos requeridos con acceso a la base de
datos de acuerdo con las funcionalidades definidas en la vista de la aplica-
cin.

El cdigo de la clase GestorTratamientos es el siguiente:

35
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

36
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Explicacin del cdigo:

LINEA TIPO CONTROL


5 Importacin del namespace requerido para establecer
conexiones con bases de datos SQLServer Compact
Edition

11 Declaracin del objeto de tipo SqlCeConnection que


es usado en todos los mtodos de acceso a la
base de datos

12,15 En el constructor de la clase se obtiene la conexin


con la base de datos a partir del mtodo getConexion
de la clase Conexion
El mtodo registrarPaciente recibe como parmetro
16 un objeto de tipo Paciente
(el paciente que se quiere registrar). Este mtodo
se ejecutar al hacer click sobre el botn Aceptar
del formulario Registrar Paciente

18 Mediante un objeto de tipo SqlCeCommand se define


la sentencia SQL que se desea ejecutar en la base
de datos
19 Asignacin de la conexin a ser utilizada por el
comando para el acceso a la base de datos
20 Definicin de la sentencia a ser ejecutada.
Los valores se establecen como parmetros con
@, para ser definidos ms adelante

21,25 Asignacin de los valores asociados a cada parmetro.


Estos valores son los atributos del objeto Paciente
que es recibido por parmetro

28 Ejecucin de la consulta, la cual devuelve el nmero


de filas afectadas que en el caso de ser 1, significa
que la insercin del paciente fue exitosa

37
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Explicacin del cdigo:

LINEA TIPO CONTROL


38,51 El mtodo getPacienteByID recibe la identificacin
de un paciente y lo busca dentro de la base de datos,
en caso de ser encontrado, ser retornado como un
objeto Paciente, en caso de no ser encontrado, el
mtodo retorna null. Este mtodo se ejecutar al
pulsar la tecla Enter en la caja de texto despus de
ingresar la identificacin del paciente

38
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Explicacin del cdigo:

LINEA
52,75 El mtodo asignarTratamiento recibe un objeto de
tipo Tratamiento, del cual se extraen sus atributos
y son insertados como un nuevo registro dentro de
la tabla TRATAMIENTOS de la base de datos. Este
mtodo se ejecuta al pulsar el botn Asignar
Tratamiento

Explicacin del cdigo:

LINEA TIPO CONTROL


76,84 El mtodo consultarTratamientos recibe la
identificacin de un Paciente y consulta en la base
de datos todos los tratamientos asociados al paciente
con la identificacin recibida como parmetro.
Finalmente, retorna un objeto de tipo
SqlCeDataReader con los resultados de la consulta
realizada. Este mtodo se ejecutar al pulsar la
tecla Enter en la caja de texto despus de ingresar
la identificacin del paciente en el formulario
Consultar tratamientos

39
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Como pudimos apreciar en esta sesin, los mtodos de acceso a datos


corresponden con las funcionalidades que se definieron en la vista de la
aplicacin.

En este momento, el explorador de soluciones debe reflejar los siguientes


archivos y directorios:

40
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

SESION 5: ESTABLECIENDO EL CONTROLADOR DE LA APLICACIN

El proyecto hasta ahora cuenta con las interfaces grficas a travs de las
cuales se comunicar con los usuarios y con los mtodos de acceso a la
base de datos, pero hace falta definir las clases que servirn de directores
de orquesta de nuestra aplicacin, es decir aquellas clases y mtodos que
en el momento de recibir una accin por parte del usuario establezcan
cual debe ser el mtodo de acceso a datos encargado de atender la solici-
tud. Estas clases son las clases controladoras de la aplicacin.

Debido a que las clases controladoras requieren tomar informacin de los


formularios y llevar informacin hacia estos, debemos hacer que los
campos de los formularios puedan ser accedidos desde otra clase, para
ello, se asigna el valor de Public a la propiedad Modifiers de cada control
al que se requiera acceder.

Seleccionamos todos los controles de ingreso de datos del formulario


Asignar Tratamiento y cambiamos el valor de la propiedad Modifiers de
Private a Public:

41
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

De igual manera hacemos con los controles del formulario Consultar Tra-
tamientos:

Por ltimo hacemos lo mismo con el formulario Registrar Paciente:

42
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

A continuacin, creamos la clase controladora de la aplicacin, esta se


crear dentro de un paquete llamado controlador.

Crear una nueva carpeta dentro del proyecto Tratamientos con el nombre
de controlador y dentro de ella, crear una nueva clase llamada Tratamien-
tosControl:

La clase TratamientosControl atender las solicitudes de la vista y las


enviar a la clase GestorTratamientos para su comunicacin con la base
de datos

El cdigo de la clase TratamientosControl es el siguiente:

43
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Explicacin del cdigo:

LINEA TIPO CONTROL


5 Importacin del namespace requerido para establecer
conexiones con bases de datos SQLServer
Compact Edition

13 Declaracin de un objeto de tipo GestorTratamientos


para llamarlo cuando se requiera hacer una
operacin con la base de datos

14,17 En el constructor de la clase se crea la instancia de


GestorTratamientos gt para ser empleada en
los respectivos mtodos

18,24 El mtodo asignarTratamiento recibe el formulario


donde se encuentran los datos del tratamiento
a ser asignado y con esos datos crea un objeto
annimo de tipo Tratamiento, el cual es enviado
como parmetro al mtodo asignarTratamiento
de la clase GestorTratamientos

44
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Explicacin del cdigo:

LINEA TIPO CONTROL


25,46 El mtodo consultarPaciente recibe como parmetro
el formulario donde se ha ingresado la identificacin
del paciente, con la cual obtiene un objeto Paciente
extrado de la base de datos, en caso de ser null se
presenta el mensaje indicando que el paciente no
existe y se consulta si se desea registrar. En caso
que el paciente exista, se presentan todos sus datos
en otro formulario para que el usuario los visualice
y proceda a la asignacin del tratamiento

45
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Explicacin del cdigo:

LINEA TIPO CONTROL


47..53 El mtodo consultarTratamientos recibe como
parmetro el formulario donde se ha ingresado la
identificacin del paciente del cual se desean
consultar los tratamientos asignados.
Esta identificacin se enva al mtodo
consultarTratamientos de la clase GestorTratamientos
quien devuelve un objeto de tipo SqlceDataReader
con los registros de Tratamientos asignados al
paciente que se encuentran en la base de datos,
los mismos que se visualizan en el DatagridView
del formulario Consultar Tratamientos

Explicacin del cdigo:

LINEA TIPO CONTROL


El mtodo registrarPaciente recibe como parmetro
54..64 el formulario donde se han ingresado todos los datos
del paciente que se desea registrar, con esos datos,
se crea un objeto de tipo Paciente, el cual es enviado
como parmetro al mtodo registrarPaciente de la
clase GestorTratamientos para que sea almacenado
en la base de datos

De esta forma, se ha finalizado el controlador de la aplicacin, estable-


ciendo un puente de comunicacin entre los formularios y las clases de
acceso a datos.

46
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

SESION 6: PONIENDO EN MARCHA LA APLICACIN

Para poder ejecutar la aplicacin, debemos ingresar algunos pequeos


cdigos en la vista, con el fin de gestionar adecuadamente los eventos
generados por el usuario de la aplicacin. En este punto, ya contamos con
un base de datos SqlServer Compact edition, una clase con mtodos de
acceso a la base de datos GestorTratamientos, una clase controladora Tra-
tamientosControl encargada de servir de puente entre los formularios y la
clase de acceso a datos. El propsito de la presente sesin es establecer
la comunicacin entre los formularios y la clase controladora.

Vamos al cdigo del formulario principal y este debe lucir de la siguiente


manera despus de agregar el cdigo de la lnea 20 en el cual se cierra la
conexin con la base de datos:

47
FAVA - Formacin en Ambientes Virtuales de Aprendizaje - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

LINEA TIPO CONTROL


14,20 Declaracin y creacin dentro del constructor del
objeto tc de tipo TratamientosControl que se
encargar de ejecutar los mtodos de control

19 Se asigna al cuadro de texto Fecha Asignado la fecha


actual por defecto
Cdigo correspondiente al evento click del botn
Asignar Tratamiento, en el cual se enva el formulario
23,26
actual al mtodo de la clase controladora
asignarTratamiento

48
FAVA - Formacin en Ambientes Virtuales de Aprendizaje - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

LINEA TIPO CONTROL


28 Cdigo correspondiente al evento keyPress del
cuadro de texto Identificacin del paciente

30 Se verifica si se puls la tecla Enter dentro del


cuadro de texto, con lo cual se enva la identificacin
presente en el cuadro de texto al mtodo de la clase
controladora consultarPaciente

El cdigo del formulario Consultar Tratamientos es el siguiente:

49
FAVA - Formacin en Ambientes Virtuales de Aprendizaje - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

LINEA TIPO CONTROL


12,19 Declaracin y creacin dentro del constructor del
objeto tc de tipo TratamientosControl que se
encargar de ejecutar los mtodos de control

20 Cdigo correspondiente al evento keyPress del


cuadro de texto Identificacin del paciente

22 Se verifica si se puls la tecla Enter dentro del cuadro


de texto, con lo cual se enva la identificacin
presente en el cuadro de texto al mtodo de la clase
controladora consultarTratamientos

El Cdigo correspondiente al formulario Paciente Encontrado solo incorpo-


ra lo necesario para que al hacer click en el botn Aceptar se cierre el for-
mulario:

50
FAVA - Formacin en Ambientes Virtuales de Aprendizaje - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

El cdigo correspondiente al formulario Registrar Paciente es el siguiente:

Explicacin del cdigo:

NUMERO TIPO CONTROL


14,18 Declaracin y creacin dentro del constructor del
objeto tc de tipo TratamientosControl que se encargar
de ejecutar los mtodos de control

20 Cdigo correspondiente al evento click del botn


Aceptar

Se enva el formulario actual al mtodo


22
registrarPaciente de la clase controladora

51
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Como podemos ver, el cdigo de los formularios es mnimo con el fin de


ser independientes de la lgica de la aplicacin. Despus de hacer estos
ajustes en el cdigo, se puede ejecutar la aplicacin para ver su funciona-
miento.

Es importante tener en cuenta que para asignar y consultar los tratamien-


tos, despus de ingresar la identificacin del paciente se debe pulsar la
tecla Enter

52
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

SESION 7: PUBLICANDO LA APLICACIN

Luego de ejecutar la aplicacin y comprobar su correcto funcionamiento,


pasaremos a crear su instalador.

Seleccionamos del men Proyecto la opcin Propiedades de Tratamien-


tos

Seleccionamos la ficha Publicar:

53
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Verificamos los archivos que sern incluidos haciendo click en el botn


Archivos de Aplicacin:

54
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Observamos que la base de datos TratamientosBD.sdf y la librera


SqlServerCe.dll han sido includas:

Si queremos conocer los requisitos necesarios para que la aplicacin se


ejecute correctamente, podemos hacer click en el botn Requisitos pre-
vios

55
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Despus de comprobar los archivos que se incluirn en la publicacin,


hacemos click en el botn Publicar ahora:

Como resultado de esta operacin, se crea una nueva carpeta dentro del
proyecto llamada Publish dentro de la cual aparecen los siguientes archi-
vos:

56
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Al hacer click en el archivo Setup.exe se instalar la aplicacin en el siste-


ma operativo del computador y podremos accederla por fuera del entorno
de desarrollo de Visual C#:

57
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

OBJETO DE Tutorial para crear


APRENDIZAJE aplicaciones con C#

Desarrollador de contenido
Experto temtico Andrs Julin Valencia Osorio

Asesor Pedaggico Claudia Milena Hernndez


Rafael Neftal Lizcano Reyes

Productor Multimedia Carlos Julin Ramrez Bentez


Victor Hugo Tabares Carreo

Programadores Daniel Eduardo Martnez Daz

Lder expertos temticos Ana Yaqueline Chavarro Parra

Lder lnea de produccin Santiago Lozada Garcs

Atribucin, no comercial, compartir igual

Este material puede ser distribuido, copiado


y exhibido por terceros si se muestra en los
crditos. No se puede obtener ningn ben-
eficio comercial y las obras derivadas tienen
que estar bajo los mismos trminos de
licencia que el trabajo original.

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