Está en la página 1de 58

Tutorial para crear aplicaciones con C#

TUTORIAL PARA CREAR


APLICACIONES CON C#

SESION 1: Desarrollando La Interfaz Gráfica 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 Aplicación 53

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


Tutorial para crear aplicaciones con C#

TUTORIAL PARA CREA APLIACACIONES CON C#

INTRODUCCIÓN

El presente tutorial es una guía paso a paso sobre el desarrollo completo


de un caso de uso en el lenguaje de programación c# de .NET.

El caso de uso que servirá de fuente para el desarrollo de la aplicación es


“Administrar datos tratamientos”, caso de uso del Sistema Gestión Citas
que se ha venido desarrollando:

2
FAVA - Formación 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 - Formación 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 diseño de la base


de datos, que en relación con los tratamientos indica que un paciente
puede tener varios tratamientos:

Creamos un nuevo proyecto de tipo Aplicación de Windows Forms y le


asignamos el nombre de Tratamientos:

4
FAVA - Formación 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 aplicación:

PROPIEDADES VALOR
Name frmPrincipal
IsMdiContainer True
Text Gestión de Tratamientos

WindowState Maximized

Con las anteriores propiedades tendremos un formulario principal conte-


nedor de otros formularios secundarios con su respectivo título y en
estado maximizado.

5
FAVA - Formación 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 diseño:

ARCHIVO TRATAMIENTOS
Salir Asignar Tratamientos
Consultar Tratamientos

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

Ahora, debemos crear el formulario para la asignación de tratamientos

Hacemos click derecho sobre el proyecto Tratamientos en la ventana de


Explorador de Soluciones y seleccionamos del menú contextual la opción
Agregar > Nuevo Elemento:

Seleccionamos un elemento de tipo Windows Forms y le ingresamos el


nombre frmAsignarTratamientos y hacemos click en el botón Agregar:

7
FAVA - Formación 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 diseño:

1 8

2 15
3 9
4

10
12 6
5 13

7
11

14

8
FAVA - Formación 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

Asignación 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 - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Introducción 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 código y
una mejor apariencia:

1
8

2
3 15
9

4
10

5 6

12 13

7 11

14

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

A continuación crearemos dos formularios complementarios al formulario


anterior, el primero es un formulario de confirmación, donde se presenta-
rán los datos del paciente cuyo número de identificación coincida con el
ingresado en el cuadro de texto 8. El segundo formulario servirá para
ingresar la información 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 diseño:

4
Formular Paciente

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

ACasos
continuación
de Uso crearemos dos formularios complementarios al formulario
anterior, el primero es un formulario de confirmación, donde se presenta-
rán los datos del paciente cuyo número de identificación coincida con el
ingresado en el cuadro de texto 8. El segundo formulario servirá para
ingresar la información 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 diseño:

NUMERO TIPO CONTROL


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

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

Asignación 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 diseño del
formulario es el siguiente:

1
2
3
4
5

6 7

13
FAVA - Formación 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

Asignación 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 - Formación 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 diseño:

1
2

NUMERO TIPO CONTROL


1 Formulario
2 TextBox

3 DataGridView

Asignación 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 - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

Después de ser creados los formularios, vamos a escribir el código


necesario en el formulario principal para que la aplicación responda a los
eventos generados por las opciones del menú.

Hacemos doble click sobre la opción Salir del menú Archivo para que nos
lleve al respectivo evento:

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


siguiente código:

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


evento escribimos el siguiente código:

16
FAVA - Formación 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 código:

Esto es todo lo que por el momento tendremos en la Interface Gráfica del


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

Generar Reportes

17
FAVA - Formación 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 opción del menú contextual Agregar > Nueva Carpeta:

Le asignamos el nombre vista:

18
FAVA - Formación 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 sesión del presente


tutorial

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

SESION 2 : CREANDO EL MODELO DE LA APLICACIÓN

Para identificar las clases que forman parte del modelo, es necesario
revisar el diagrama de clases realizado durante el análisis y refinado
durante el diseño.

Las clases que forman parte del modelo de esta aplicación 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 opción Agregar > Nuevo elemento:

De la ventana emergente seleccionamos el elemento Clase y le asignamos


el nombre Paciente.cs y hacemos click en el botón Agregar:

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

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

El código 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 - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

System

23
FAVA - Formación 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 número de tratamiento no es tenido en


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

24
FAVA - Formación 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


aplicación 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 solución 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 crearán en una nueva carpeta dentro del proyecto llamada bd:

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


seleccionar la opción Agregar Nueva carpeta y asignar el nombre de bd a
la carpeta recién creada:

25
FAVA - Formación 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 opción 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 botón Agregar:

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


el asistente de orígenes de datos:

26
FAVA - Formación 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 - Formación 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 - Formación 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 opción


Crear tabla:

Creamos la tabla PACIENTES, definimos sus respectivos campos y


hacemos click en el botón Aceptar:

29
FAVA - Formación 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 atención en las propiedades del campo
tra_numero, ya que para lograr que sea autonumérico, debemos darle el
valor de true a la propiedad Identidad:

30
FAVA - Formación 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 quisiéramos crear la relación


entre la tabla PACIENTES y
TRATAMIENTOS, lo podríamos
hacer creando un pequeño
programa donde nos conectemos
con la base de datos y ejecutemos
la sentencia ALTER TABLE para
definir la restricción foreign key
dentro de la tabla TRATAMIENTOS.
Para esta aplicación no vamos a
realizar este procedimiento.

31
FAVA - Formación 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

Después de crear las respectivas tablas requeridas para la aplicación,


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

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


aplicación 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 opción Agregar refe-
rencia:

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


el botón Aceptar:

32
FAVA - Formación 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 - Formación 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 código de esta clase es el siguiente:

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

Explicación del código:

LINEA TIPO CONTROL


5 Importación del namespace requerido para establecer
conexiones con bases de datos SQLServer Compact
Edition

15,16 Si ya existe una conexión abierta, esta es retornada


18 Se crea el objeto de tipo SqlCeConnection de tipo
estático para que en la aplicación solo exista una
conexión activa

19 Se establece la cadena de conexión de manera


dinámica

20...24 Apertura y retorno de la conexión

25...29 AperSi existe algún error al intentar abrir la conexión,


se gestiona la excepción y se retorna null

31...35 Método que se invoca cuando se desea cerrar


la conexión

Después de creada la clase Conexión.cs, pasamos a crear la clase Gestor-


Tratamientos que tendrá los métodos requeridos con acceso a la base de
datos de acuerdo con las funcionalidades definidas en la vista de la aplica-
ción.

El código de la clase GestorTratamientos es el siguiente:

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

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

Explicación del código:

LINEA TIPO CONTROL


5 Importación del namespace requerido para establecer
conexiones con bases de datos SQLServer Compact
Edition

11 Declaración del objeto de tipo SqlCeConnection que


es usado en todos los métodos de acceso a la
base de datos

12,15 En el constructor de la clase se obtiene la conexión


con la base de datos a partir del método getConexion
de la clase Conexion
El método registrarPaciente recibe como parámetro
16 un objeto de tipo Paciente
(el paciente que se quiere registrar). Este método
se ejecutará al hacer click sobre el botón 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 Asignación de la conexión a ser utilizada por el
comando para el acceso a la base de datos
20 Definición de la sentencia a ser ejecutada.
Los valores se establecen como parámetros con
@, para ser definidos más adelante

21,25 Asignación de los valores asociados a cada parámetro.


Estos valores son los atributos del objeto Paciente
que es recibido por parámetro

28 Ejecución de la consulta, la cual devuelve el número


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

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

Explicación del código:

LINEA TIPO CONTROL


38,51 El método getPacienteByID recibe la identificación
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
método retorna null. Este método se ejecutará al
pulsar la tecla Enter en la caja de texto después de
ingresar la identificación del paciente

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

Explicación del código:

LINEA
52,75 El método 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
método se ejecuta al pulsar el botón Asignar
Tratamiento

Explicación del código:

LINEA TIPO CONTROL


76,84 El método consultarTratamientos recibe la
identificación de un Paciente y consulta en la base
de datos todos los tratamientos asociados al paciente
con la identificación recibida como parámetro.
Finalmente, retorna un objeto de tipo
SqlCeDataReader con los resultados de la consulta
realizada. Este método se ejecutará al pulsar la
tecla Enter en la caja de texto después de ingresar
la identificación del paciente en el formulario
Consultar tratamientos

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

Como pudimos apreciar en esta sesión, los métodos de acceso a datos


corresponden con las funcionalidades que se definieron en la vista de la
aplicación.

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


archivos y directorios:

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

SESION 5: ESTABLECIENDO EL CONTROLADOR DE LA APLICACIÓN

El proyecto hasta ahora cuenta con las interfaces gráficas a través de las
cuales se comunicará con los usuarios y con los métodos de acceso a la
base de datos, pero hace falta definir las clases que servirán de directores
de orquesta de nuestra aplicación, es decir aquellas clases y métodos que
en el momento de recibir una acción por parte del usuario establezcan
cual debe ser el método de acceso a datos encargado de atender la solici-
tud. Estas clases son las clases controladoras de la aplicación.

Debido a que las clases controladoras requieren tomar información de los


formularios y llevar información 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 - Formación 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 - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Tutorial para crear aplicaciones con C#

A continuación, creamos la clase controladora de la aplicación, 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 comunicación con la base
de datos

El código de la clase TratamientosControl es el siguiente:

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

Explicación del código:

LINEA TIPO CONTROL


5 Importación del namespace requerido para establecer
conexiones con bases de datos SQLServer
Compact Edition

13 Declaración de un objeto de tipo GestorTratamientos


para llamarlo cuando se requiera hacer una
operación 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 métodos

18,24 El método asignarTratamiento recibe el formulario


donde se encuentran los datos del tratamiento
a ser asignado y con esos datos crea un objeto
anónimo de tipo Tratamiento, el cual es enviado
como parámetro al método asignarTratamiento
de la clase GestorTratamientos

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

Explicación del código:

LINEA TIPO CONTROL


25,46 El método consultarPaciente recibe como parámetro
el formulario donde se ha ingresado la identificación
del paciente, con la cual obtiene un objeto Paciente
extraído 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 asignación del tratamiento

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

Explicación del código:

LINEA TIPO CONTROL


47..53 El método consultarTratamientos recibe como
parámetro el formulario donde se ha ingresado la
identificación del paciente del cual se desean
consultar los tratamientos asignados.
Esta identificación se envía al método
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

Explicación del código:

LINEA TIPO CONTROL


El método registrarPaciente recibe como parámetro
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 parámetro al método registrarPaciente de la
clase GestorTratamientos para que sea almacenado
en la base de datos

De esta forma, se ha finalizado el controlador de la aplicación, estable-


ciendo un puente de comunicación entre los formularios y las clases de
acceso a datos.

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

SESION 6: PONIENDO EN MARCHA LA APLICACIÓN

Para poder ejecutar la aplicación, debemos ingresar algunos pequeños


códigos en la vista, con el fin de gestionar adecuadamente los eventos
generados por el usuario de la aplicación. En este punto, ya contamos con
un base de datos SqlServer Compact edition, una clase con métodos 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 propósito de la presente sesión es establecer
la comunicación entre los formularios y la clase controladora.

Vamos al código del formulario principal y este debe lucir de la siguiente


manera después de agregar el código de la línea 20 en el cual se cierra la
conexión con la base de datos:

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

LINEA TIPO CONTROL


14,20 Declaración y creación dentro del constructor del
objeto tc de tipo TratamientosControl que se
encargará de ejecutar los métodos de control

19 Se asigna al cuadro de texto Fecha Asignado la fecha


actual por defecto
Código correspondiente al evento click del botón
Asignar Tratamiento, en el cual se envía el formulario
23,26
actual al método de la clase controladora
asignarTratamiento

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

LINEA TIPO CONTROL


28 Código correspondiente al evento keyPress del
cuadro de texto Identificación del paciente

30 Se verifica si se pulsó la tecla Enter dentro del


cuadro de texto, con lo cual se envía la identificación
presente en el cuadro de texto al método de la clase
controladora consultarPaciente

El código del formulario Consultar Tratamientos es el siguiente:

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

LINEA TIPO CONTROL


12,19 Declaración y creación dentro del constructor del
objeto tc de tipo TratamientosControl que se
encargará de ejecutar los métodos de control

20 Código correspondiente al evento keyPress del


cuadro de texto Identificación del paciente

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


de texto, con lo cual se envía la identificación
presente en el cuadro de texto al método de la clase
controladora consultarTratamientos

El Código correspondiente al formulario Paciente Encontrado solo incorpo-


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

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

El código correspondiente al formulario Registrar Paciente es el siguiente:

Explicación del código:

NUMERO TIPO CONTROL


14,18 Declaración y creación dentro del constructor del
objeto tc de tipo TratamientosControl que se encargará
de ejecutar los métodos de control

20 Código correspondiente al evento click del botón


Aceptar

Se envía el formulario actual al método


22
registrarPaciente de la clase controladora

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

Como podemos ver, el código de los formularios es mínimo con el fin de


ser independientes de la lógica de la aplicación. Después de hacer estos
ajustes en el código, se puede ejecutar la aplicación para ver su funciona-
miento.

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


tos, después de ingresar la identificación del paciente se debe pulsar la
tecla Enter

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

SESION 7: PUBLICANDO LA APLICACIÓN

Luego de ejecutar la aplicación y comprobar su correcto funcionamiento,


pasaremos a crear su instalador.

Seleccionamos del menú Proyecto la opción Propiedades de Tratamien-


tos…

Seleccionamos la ficha Publicar:

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

Verificamos los archivos que serán incluidos haciendo click en el botón


Archivos de Aplicación:

54
FAVA - Formación 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 librería


SqlServerCe.dll han sido incluídas:

Si queremos conocer los requisitos necesarios para que la aplicación se


ejecute correctamente, podemos hacer click en el botón Requisitos pre-
vios

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

Después de comprobar los archivos que se incluirán en la publicación,


hacemos click en el botón Publicar ahora:

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

56
FAVA - Formación 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 aplicación en el siste-


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

57
FAVA - Formación 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 temático Andrés Julián Valencia Osorio

Asesor Pedagógico Claudia Milena Hernández


Rafael Neftalí Lizcano Reyes

Productor Multimedia Carlos Julián Ramírez Benítez


Victor Hugo Tabares Carreño

Programadores Daniel Eduardo Martínez Díaz

Líder expertos temáticos Ana Yaqueline Chavarro Parra

Líder línea de producción Santiago Lozada Garcés

Atribución, no comercial, compartir igual

Este material puede ser distribuido, copiado


y exhibido por terceros si se muestra en los
créditos. No se puede obtener ningún ben-
eficio comercial y las obras derivadas tienen
que estar bajo los mismos términos de
licencia que el trabajo original.

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

También podría gustarte