Está en la página 1de 23

Exhectativns de L'ogro:

Utilizan adecuadamente el control ListBox y ComboBox.

Agrupan RadioButton en contenedores panel.


Usan correctamente los contenedores.
a
de datos.
Crean variables de matriz para controlar listas
Guardan configuración en el Setting del Proyecto.

Elementos deCompetencia
El estudiante es competente cuando:

Muestra información en forma de listas y listas


desplegables.
Usa correctamente los Contenedores.
Almacena listas de datos en una matriz.
Hace uso correcto del Setting.
Controles de Selección

ListBox
ListBox

r a en una caja de texto una lista de elementos, de esta lista de elementos el usuario puede seleccio
o más; si el número de elementos supera el número que puede mostrarse, se agregará automáti-

icamente una barra de desplazamiento al control ListBox.

ComboBox
ComboBox

Combina las características de un control TextBox y un control ListBox, permite a los usuarios introducir
información en la parte del cuadro de texto o seleccionar un elemento del cuadro de lista del control.

Un ComboBox, de manera predeterminada se muestra sin desplegarse y se despliega en el momento que


el usuario hace clic sobre la flecha que se presenta en su parte derecha del control ComboBox, mostrando

una lista con todos sus elementos.

Cuando dá clic sobre un elemento de la lista de un ComboBox, este pasa a la parte TextBox del combo y la
lista se repliega nuevamente.

Propiedades y Métodos de ListBox y ComboBox

El ListBox y ComboBox tienen lista de métodos particulares que sólo se pueden aplicar en tiempo de
ejecución.

Items: Contiene una colección de métodos que permiten manipular los datos contenidos en la lista del
ComboBoxy ListBox.

ListalombrsItems SemboNembcsItSMsAl
Add Add
AddRange AddRange
AsParallel AsParallel
AsQueryable AsQueryable
Cast Cast
Clear Clear
Contains Contains
CopyTo CopyTo
Count Count

Add: Agrega un elemento a la lista del control. Ejemplo: ListBox.Items.Add("Fares"), ComboBox.

Items.Add("Fares");
AGakange: Agrega una lista de elementos contenidos en una matriz a un ComboBox o ListBox.

Ejemplo:
String[1 rango = {"Juan". "Pedro", "María", "Alejandro"};
ListaNombre.Items.AddRange(rango);
ComboNombre. Items.AddRange(rango)
V
El resultado sería:

Juan
Pedro
María
Juan Aejandro
Pedro
María
Alejandro

ComboBox.
elementos de un TextBox o
todos los
Clear: Quita

Controles Contenedores

En Visual C# tenemos
dos tipos de controles:

controles que no pueden contener a otros dentro dal.


No Contenedores: Son aquellos
Ejemplo: Button, TextBox, etc.

Prueba
Pneba

regar Agregar

El Control Button se puede Al mover el botón el TextBox no


colocar sobre el control se mueve con él, se mantiene en
TextBox, pero no dentro de él. la misma posición.

Contenedores: Son controles que pueden


contener a otros dentro del mismo. Un conteneu
también puede contener a otro contenedor. Ejemplo: el formulario, GroupBox, Panel, etc.

Sobre un formulario dibujar primero un GroupBox, sobre este un Panel y sobre este uin
Botón.

Prueb
Pueba Si movemos de lugar el
gopBa1 GroupBox
control GroupBox1 todos
DUoni

Botón los demás controles


contenidos en él, se
Panel mueven con él,
Dafon
manteniéndose siempre
en la misma posición
dentro del control.

Cuando un control se
inserta dentro de un
contenedor, este control queda
ontenea
de tal forma que si movemos el alojado dentro
contenedor, estaremos moviendo
también el contenido
CUN
JNIDAD V
se pueden utilizar para:
Los contenedores

Agrupar controles RadioButton.

Mejorar la apariencia de la aplicación.

Optimizar el espacio dentro de un formulario.

Separar controles para manipulación masiva a través de código.

Smart Tags

Las Smart Tags, muestran trucos y consejos de Visual C# 2013 de forma rápida, ahorrándonos tiempoy

aportándonos productividad en nuestros desarrollos.

Las Smart Tags aparecen en Visual Studio 2013 al momento del diseño del formulario Windows como en

la parte correspondiente del código fuente escrito.

En el caso de los controles insertados en un formulario Windows, estas Smart Tags aparecerán por lo gen-
eral en el borde superior derecho del control y se representará con un fcono parecido a este-.

ícono, se muestra una ayuda gráfica con varias opciones que permite realizar las
Si damos clic sobre ese

sobre el control seleccionado, tal y como se observa en la siguiente imagen de


acciones más comunes

TabControl TabControl

Operaciones Matemaricas
**** *U*s*****s*************** Tareas de TabControl
aDPage1 TabFagez
--***
***
Agregar pestaña
Quitar pestaña

*********************
*****************w* ***U**********

del caso. Si
En el codigo, las Smart Tags poseen un comportamiento ligeramente diferente dependiendo
datos y al
declararamos una variable de un tipo incorrecto, de manera inmediata se subraya el tipo de

ícono similar a este y al dar clic sobre él, se


posicionar el puntero del mouse sobre él, se muestra un

muestra un menú emergente con una lista de sugerencias.

private void Formi_Load(object sender, Eventargs e)

Private void Formi_Load(object sender, EventArgs e) doble dato;


Lista de
doble dato;l Generar clase para 'doble' sugerencias
Generar nuevo tipo.
Se escribió doble en vez de Double
TabControl T a b C o n t r o l

las etiquetas
de una
ventana de opciones,
TabControl ayudan
los TabCor

u n a colección
relacions
a
agruuparq
Colección de fichas
similares a
muestra al u s u a r i o de pestañas
formulario, ya que
yoptimizar el
espacio del
componentes.

contener
controles y
pueden

Ejemplo:
Form1

TabFaget TobPage2

TabPage3 Tab Paged

TabControl puede estar contenido en el formularin


Como se puede observar en la imagen anterior un
ulario o
.

dentro de otro contenedor como: Panel, GroupBox, TabControl.

TabControl contiene páginas de fichas, representadas por objetos TabPage, que se agregan mediantel
propiedad TabPages. El orden de las páginas de fichas de esta colección refleja el orden en que las fchs
se muestran en el control.

El usuario puede cambiar el objeto TabPage actual, haciendo clic en una de las fichas del control o met
ante programación.

Propiedades y Métodos del TabControl


Elobjeto TabPage actual, utiliza una de las propiedades de TabControl siguientes para obtener o SE eccio
nar una página
específica:
Selectedindex: Obtiene o establece el índice de la
Ejemplo: página de fichas seleccionaa du
ctualment

Valorlndice =

tabControl1.Selectedlndex; //obtiene el índice


tabControl1.Selectedlndex Valorlndice;//Selecciona el TabPage
Valorlndice: Representa un
número
número cero (0) que
representa la primera correspondiente al índice de cada pagind, empezandopor pore

página.
U UNIDA V
TahCount: Se utiliza para obtener el numero de
påginas o fichas de la banda de fichas, Ejemplo:
int a =
tabControl1.TabCount;
TabPage también utiliza los métodos
de TabControl siguientes para obtener
una página específica: o seleccionar

SelectTab: Hace que la ficha con el nombre especificado sea la ficha


actual, Ejemplo:
tabControl1.SelectedTab = tabPage2;

lasfichas incluidas en TabControl forman parte deTabControl, pero no forman parte de los controles
TabPage individuales. Los miembros de la clase
TabPage, como la propiedad ForeColor, sólo afectan
al rectángulo cliente de la página de fichas, pero no a las fichas. Además, el método Hide de
noocultará la ficha. Para ocultar la TabPage
ficha, debe quitar el control
TabPage de la colección de TabControl.
TabPages.
Agregar o Eliminar Fichas del TabControl

Para agregar o eliminar fichas realizar cada de las


una
siguientes instrucciones:
1. Dar Clic en el Smart Tags del TabControl y a continuación en Agregar pestaña.

Tareas de TabControl
gregar pestaña
Quitar pestaña

2. Se muestra la nueva
pestaña.

X
Form1
tabPage1 tabPage2 tabPage3
************************** L
VisUAL C Ficha del
TabControl

Propiedades
de cada
Valor de las
Modificar el propiedades (Nombre c.

modificar las or, Text, Fo


TabControl se
le pueden
del realizar las
siguientes instruccionee.
S:
A cada ficha
modificar las propiedades
para
por separado,

TabPages.
1. Dar clic en la propiedad
Dar clic aquí

TabPages
Colección)
True
TabSton

seleccionar la ficha y modificar sus propiedad.


Colección TabPage,
2. En el panel Editor de la jemplo
Form1
tdd Page1 tabPagez a0
Editor de la colección TabPage

Propiedades de tabPagel:
Afiembros:

bPage Accesibilidad
tabPage2
tabPage3 AccessibleDescript
AccessibleName
AccessibleRole Default

Apariencia
U Transparent
Backcolo
Backgroundimage
(ninguno)
(ninguno
Backgroundimagel lne

BorderStyle None
Cursor Default
Font Microsoft Sans Serif, 8

ForeColor ControlTeat
RightToleft No

Agregar Quitar Text


tabel

LAceptar A
Propiedades
Fichas

Botones para
agregar o

eliminar fichas

Ejemplo:
1. Crear un proyecto y guardarlo con el nombre de
"AprovechandoEspacio" en la siguiente direu
"C:\MisProyectosFares".
2. Agregar un TabControl y modificar las
propiedades de cada ficha.
Agregar una ficha, dando clic en el
pestaña.
Smart Tags del TabControl y a continuacion en Agrega

***********************************iT
Tareas de TabControl
Agregar pestaña
Quitar pestaña
UNIDAD

Dar Clic en la propiedad TabPages TabPages ( y a continuación


modificar las siguientes propiedades:

Editor de la colección abPage ?

Miembros Propiedades de Lista:

Combo Accesibilidad
2 Seleccionar
AccessibleDescript
AccessibleName
Miembro Propiedad Valor AccessibleRole Defaut
Apariencia

Name Lista lackColor


Transparent
Text comboBo Backgroundimage (ninguno)
Backgroundlmagel Tile
Name LOmb0
orderStyle None
exE CneckeoX ursor Default
Font Microsoft Sans Serif, 8
ForeColor ControlText

RightToLeft No

Agregar 2uitar Text ListBox

Aceptar Cancelar

Una vez que se han modificado las propiedades dar clic en el botón Aceptar.

A cada ficha o pestaña del TabControl agregar el siguiente diseño y programar:

Ficha ListBox

En esta ficha se explicará el uso del control ListBox.

Aprovechando Espacio x
Lst Box ComboBax CheckBox TextBox1
Prueba del Control List Box

GroupBox1 Ingrese un producto Button1

Label1 Añadir
Button2

impiar
Label2
ListBox1 Dato Seleccionado

TextBox2
ISUAL

Propiedades

Valor
Propiedad
Objeto Prueba del Control ListBox
lext Ingrese un producto
GroupBox1
Text
ListaProductos
|Label1 | Name
TxtNombre
ListBox1
Name BtnAñadir
TextBox1
Name Añadir
Button1
Text
BtnLimpiar
Button2
Name
Text
Limpiar
Dato Seleccionado
Label2 Text
TxtSeleccion
TextBox2 Name

Programación
Botón Añadir

texto escrito en el TextBox1 al ListBox.


Al dar clic sobre el botón Añadir, se agregará el

private void BtnAñadir_Click(object sender, EventArgs e)

ListaProductos.Items.Add(TxtNombre.Text);
TxtNombre.Text e";

Botón Limpiar

Este botón será utilizado para limpiar el TextBox (TxtSeleccion) y el ListBox.

private void
BtnLimpiar_Click(object sender, EventArgs e)

ListaProductos.Items.Clear();
Txtseleccion.Text = *";

Mostrar o Borrar un Dato de la


Lista
De la lista de eventos que tiene el
ListBox se
una tecla) con el propósito que al programa el evento
presionar KeyDown (Se activa cud
seleccionado y evento
el
la tecla
Delete(Supr) se borre el Item(Nombre u
l e lp r o d u c t e

selectedindexChanged
cambia), esta la utilizaremos con el
(Se activa en el
momento que la Selectedin"

TxtSeleccion. propósito que al dar clic en un producto de la propiedadsemuest e


lista, este
UNIDAD
ate void ListaProductos_Keyuown (object sender, KeyEventArgs
e)
if (e.KeyCode ==
Keys.Delete)
ListaProductos.Items.Remove(ListaProductos.SelectedItem);

nrivate void ListaProductoS_selectedIndexChanged(object sender, EventArgs e)


TxtSeleccion. Text ListaProductos.SelectedItem.ToString();
=

Resultados Ficha List Box

Aprovechando Espacio Aprovechanido Fspacio


ist Box Combo Box Check Bax UBaxComboBax CheckBox
Prueba del Control ListBox Prueba del Cortrol Lit Bax

hngrese un producto Tese un producto

Mantequila
eoes Madr
Añadir

Manteca
Umpiar
ues LiTpar

Dato Seleccionado
Dato Seleccionado

Frmioles

Al dar clic en el
Al dar clic en un
botón Limpiar se
nombre de la lista
eliminan todos los
este se muestra en el
valores de la lista
TextBox

Ficha ComboBox

Aquí se explica el uso del botón ComboBox y RadioButton.

Label1 Optimizar Espacio GroupBox1


TextBox1
Label2 ListBox ComboBox ChedkBox
ComboBox1
TextBox2 Numero 1
Label3 Operaciones
Label4 O Suma
Numero2 RadioButton1
Resta
RadioButton2
O Mutiplicación
RadioButton3
Resultado División
RadioButton4
Button1
Button2
Salir
Button3 Calcular Limpiar
Propiedades

Propiedad Valor
Objeto
Text Numero1
Label1 Name
TxtN1
TextBox1
Text Numero2
Label2 TxtN2
Name
TextBox2
Text Resultado
Label3
Name LblResultado
Text Vacío
Label4 AutoSize False
BorderStyle Fixed3D
button1 Name BtnCalcular
Text Calcular
button2 |Name BtnLimpSuma
Text Limpiar
button3 Name BtnSalir
Text Salir
GroupBox1 Text Operaciones
radioButton1 Name RbSuma
Text Suma
radioButton2 Name RbResta
Text Resta
radioButton3 Name RbMultiplicacion
Text
Multiplicación
radioButton4 Name RbDivision
Text
División
comboBox1 lame
ComboOperaciones
Al ComboBoxl también se le debe agregar la lista de
para
opciones (Suma, Resta, Multiplicacion y
agregar la lista dar clic en la
propiedad Items (Colección) e ingresar la lista uno a uno otal ycomo
muestra en la siguiente imagen:

Dar clic aquí Editor de colección de cadenas ?


para que se
muestre la ventana de
"Editor de colección diálogo scrnba las cadenas en la colección
de cadenas" (una por linea):
uma
Resta
Multiplicación
División
IntegralHeigh True
ItemHeight 13
Items Colección)
Location 220,2 Aceptar Cancelar
Programación
los RadioButtom y el ComboBox
Programar

aen
en el evento clic de los botones RadioButtom con
e
programa
el propósito
Se
que al dar clic en suma; se ac-
a n ComboBox el y que seleccionar División de la lista del
al
sucesivamente.
ComboBox
se active el RadioButtom
División y así

n celeccionar un objeto de la ista del combobox se debe hacer


referencia a través de su índice (0
para el
tem de la lista, 1 para el
segundo litem, etc.), haciendo uso de la
propiedad Selectedindex (Obtiene
hlece el índice que especifica el elemento seleccionado actualmente), Ejemplo:
ComboOperaciones.
Selectedindex 2, selecciona el Item Multiplicación.
=

priva
vate void RbSuma_click(object sender, EventArgs e)
Combo0peraciones.SelectedIndex = 0;

private void RbResta_Click(object sender, EventArgs e)


Combo0peraciones.SelectedIndex= 1;
Drivate void RbMultiplicacion_Click(object sender, EventArgs e)

ComboOperaciones.SelectedIndex = 2;

private void RbDivision_Click(object sender, EventArgs e)


ComboOperaciones.SelectedIndex = 3

Se programa en el evento SelectedlndexChanged (Tienelugar cuando el valor de la propiedad Selectedindex


cambia) del ComboBox y se activa cada RadioButtom a través de la propiedad Checked (Obtiene o estable
un valor que indica si el RadioButtom está activado) del RadioButtom.

private void Combooperaciones_SelectedIndexChanged (object sender, EventArgs e)


Switch (Combo0peraciones.SelectedIndex)

case 0: //Siselecciona el indice


se (suma) se activa
RbSuma.Checked true; //el
= RadioButtom RbSuma.
break; // Finaliza el caso e
case 1
RbResta.checked = true;

break;
case 2:
RbMultiplicacion.Checked = true;

break;
case 3:
RbDivision.Checked = true;
break;
Calcular
el Botón propiedad Checked. de cada
Programar
e s t a d o de la
se
verifica el Radi
operación
poder realizar
cada corresponda.
Para que
la operación
VResul utiliza la
opiedad ToString Parapat
n r e .

se
la variable #,###.00")
así asignar a =
VResul.TOString("ps

LblResulado.Text
m o s t r a d o en LbResultado.
instrucción
al valor
En la decimales
dos puntos
darle formato
de lempira y

sender, EventArgs
e)
BtnCalcular_Click(object

private void valor introducido por el usuarin

//Recoge el primer
Convert.Tolnt32(TxtN1.Text);
valor introducido por el rio.
usuarin
int Vn1 //Recoge el segundo
=

Convert.Tolnt32(TxtN2.Text)};

int Vn2 =

int VResul =0; activado RbSuma, se asigna


verifica si está
if (RbSuma.Checked
==
true) //Se
de Vn1 + Vn2.
la
+Vn2;//a VResul
suma
VResul Vn1

activado RbResta, y se asigna


else if (RbResta.Checked == true) //Se verifica si está
Vn2.
-Vn2; //a VResul la resta de Vn1
+
VResul Vn1

else if (RbMultiplicacion.Checked ==
true) //Se verifica si está activado Multiplicación, se asigna

VResul Vn1 "


Vn2; //a VResul la multiplicacióón de Vn1* Vn2.
else if (RbDivision.Checked == true) //Se verifica si está activado RbDivisión.

// Se verifica si el valor de N2 es distinto de 0 porque la división por cero no se puede realizar.


if(Vn2 l=0) //Si Vn2 es distinto de 0 se asigna a

VResul Vn1/Vn2; //VResul la división de Vn1 /Vn2.

else //Si el valor de Vn2 es 0 se muestra el mensaje "No se puede dividir por 0".

MessageBox.Show("No se puede dividir por 0", "Error en la División");

LblResultado.Text = Convert.ToString(VResul);

Programar Botón Limpiar y Botón Salir


private void
BtnLimpSuma_Click(object sender, EventArgs e)
TxtN1.Text = "
TxtN2.Text =""
LblResultado.Text =

private void BtnSalir_Click{object


sender, EventArgs e)
this.Close();
UNIDAD V
de la Ficha ComboBox
Resultados

Lst Box ComboBox CheckBox

Numero
Operaciones Resta
Suma
Numero2
Resta
Mutiphicación
Resutado ODrvisión Si se dá clic en resta, también se
Lps 10.00
muestra resta en el ComboBox
Calcuiar LUmpia ar

Si de la lista de opciones del ComboBox


List Box Combo Box Check Box se selecciona división se activa el
RadioButton que representa la división.
Nurmero 1
Operaciones DaA
2
Suma
Kesa
Numero2 Resta Mutipicaión
30 Dvisión
Mutipkcación
Resutado Drvisión
Lps67
Calcuiar ngiar air

Ficha Check Box

cambios seleccionados por el cliente, utilizando


Aquí se explica el uso del checkbox y como guardar los
Settings (función que permite guardar en el registro de windows), para recordar las configuraciones pro-

puestas en el sistemna.

OptimizarEspaco
Check8ox
List Box Combo Box Label2
Estio

Reaizar Actividad
Negrta
CheckBox1
Button1 Cursiva
Guardar Conigurackón CheckBox2
Subrayado
CheckBox3
Button2 Tamano 30
CheckBox4

Ediciones Faes
Panel3

Label1
Propiedades

Objeto Propiedad Valor


Text Realizar actividad
Button1 Name BtnActividad
Text Guardar Configuración
Button2
Name BtnConfigurar
Label1 Text Ediciones Fares
Label1 Name Estilo
CheckBox1
Text Negrita
Name ChkNegrita
CheckBox2 Text Cursiva
Name ChkCursiva
Text
CheckBox3 Subrayado
Name
ChkSubrayado
Text Tamaño 30
CheckBox3
Name ChkTamaño

Programación Ficha Check Box


Botón Realizar Actividad

private void BtnActividad_Click(object sender,


EventArgs e)
int TamFuente =
12;

if
(ChkTamañio.Checked ==
true) //Si está activada la opción tamaño se
TamFuente 30;//Asigna el valor
de 30 la
a
variable TamFuente
else // de lo contrario

TamFuente 12; //Asigna el


=

valor de 12 a la variable TamFuente


if
(ChkNegrita.Checked == true &
ChkCursiva.Checked ==
false
I/Aplica tamaño de fuente y
negrita al texto
&
ChkSubrayado.Checke false)

Ediciones Fares.
LbIFares.Font =
new
Font(", TamFuente,
FontStyle.Bold);
(ChkNegrita.Checked == true & Chkcursiva.checked == true & ChkSubrayado.Checked == falsel

/Aplica tamaño de fuente, negrita y cursiva al texto Ediciones Fares.


LbIFares.Font new Font(", TamFuente, FontStyle.Bold | FontStyle.italic);

if (ChkNegrita.Checked == true & ChkCursiva.Checked == true & Chksubrayado.checked == true)

laplica tamaño de fuente, negrita, cursiva y subrayado al texto Ediciones Fares.


LbIFares.Font = new Font(", TamFuente, FontStyle.Bold | FontStyle.Italic | FontStyle.Underline);

if (ChkNegrita.Checked == false & ChkCursiva.Checked == true & ChkSubrayado.Checked == false)

/Aplica tamaño de fuente y cursiva al texto Ediciones Fares.


LblFares. Font = new Font(", TamFuente, FontStyle.Italic);

if (ChkNegrita.Checked == false & ChkCursiva.Checked == true & ChkSubrayado.Checked == true)

/Aplica tamaño de fuente, cursiva y subrayado al texto Ediciones Fares.


LblFares.Font = new Font("TamFuente, Fontstyle.Italic | FontStyle.Underline);

if (ChkNegrita.Checked == false & ChkCursiva.Checked == false & ChkSubrayado.Checked == true)

Ediciones Fares.
/Aplica tamaño de fuente y subrayado al texto
LblFares.Font = new Font(",TamFuente, FontStyle.Underline);

if (ChkNegrita.Checked = = true & ChkCursiva.Checked == false & ChkSubrayado.Checked == true)

texto Ediciones Fares.


Aplica tamaño de fuente, negrita y subrayado al
|FontStyle.Underline);
LblFares.Font =new Font(", TamFuente, FontStyle.Bold

false & ChkSubrayado.Checked


==
false)
==false & ChkCursiva.Checked
==

(ChkNegrita.Checked

texto Ediciones Fares.


IAplica tamaño de fuente, negrita y subrayado al
LblFares. Font = new Font(", TamFuente);
Botón Guardar Configuración
de Windows a través da i
la
las variables que guarden
un valor
en el registro
función Settng
Para crear

actividades:
realizar las siguientes
de <nombre del provectas
to>,
propiedades
continuación en
a
1. Dar clic en proyecto y

se
mostrará la siguiente pantalla:
configuración,
2. Dar clic en

Formi.c acceso: Internal


PruebaContenedores1 XFormi.cs [Diseio vercódigo Modiicador de
Cargar cenfrquración vieh
Sincronizar

Aplicación
de la propiedady otra
Compilar la aplicación le permite almacenary recuperar la configuración
puede guardar las preferencias de
Laconfiguración de dinámicamente. Pr
ejemplo, ia aplicacion
Eventos de compilación información su aplicación
para vex
recuperarlas la proxinma
que*
ejeore NISNALLLI IKerCOcela
usuario a continuacion,
color del y.
Depurar
Recursos

Ambito Valor
Servicios Tipo
Nombre
Configuración Setting string
Usuario

Rutes de acceso de referencia

Firma

Segundad
Publhcar

Analisis de codigo
Valor inicial de
Aquí se escribe el
Tipo de Datos la variable
nombre de la
variable

3 Declarar las variables que almacenarán la configuración, ver la siguiente imagen:

Nombre Tipo Ámbito Valor

VNegrita |bool Usuario False

Vcursiva bool Usuario False


VSubrayado bool Usuario False
VTamaño bool vUsuario False

Variables
Tipo de Datos Valor Inicial
UNIDAD V

Guardar Configuración
en el botón
Programar

BtnConfigurar_Click{object sender, EventArgs e)


private void
{ //si Negrita está activo entonces,
==
true)
if (ChkNegrita.Checked
valor True a la variable VNegrita;
//Asignar el
Properties.Settings.Default.VNegrita = true;

/si no,
else
False a la variable VNegrita.
//Asignar el valor
Properties.Settings.Default.VNegrita =false;

//Si Negrita está activo entonces,


==
true)
if (ChkCursiva.Checked
el valor True a la variable VCursiva;
//Asignar
Properties.Settings.Default.Vcursiva = true;

//si no,
else
False a la variable VCursiva.
//Asignar el valor
Properties.Settings.Default.Vcursiva = false;

true) == //Si Negrita está activo entonces,


if (ChkSubrayado.Checked
la variable VSubrayado;
//Asignar el valor True a
Properties.Settings.Default.VSubrayado =true;
//si no,
else
a la variable VSubrayado.
//Asignar el valor False
Properties.Settings.Default.VSubrayado = false;

//Si Negrita está activo


entonces,
if (ChkTamaño.Checked
==
true)
la variable VTamaño;
/Asignar el valor True a
Properties.Settings.Default.VTamaño = true;

//si no,
else
la variable VTamaño.
//Asignar el valor False a
Properties.Settings.Default.VTamaño = false;

Properties.Settings.Default.Save();
guardada con éxito");
MessageBox.Show("Configuración

dá clic en el botón Guar-


que se
=true, la primera
vez
Properties.Settings.Default.VWegrita
vez lo cam-
ECia
true y la siguiente
variable VNegrita por el valor
de la
ddr
Connguración, cambia el Valor false usuario. Se realiza la
misma actividad para
la elección del
false o viceversa dependiendo de
erUe a
cada variable.

Programar en el load del Formulario


en
la información guardada
iniciar el formulario se recupere
el objetivo que al
prOBramaremos con
estado de la configuración
seleccionada por el usuario.
vdriables y de esta manera recuperar el
VisUAL H P r o g r a m a c i ó n

EventArgs e)
sender, Windows
Form1_Load(object de
void en el registro
guardado
private variables
su
estado.
las cambiar
{ //Recuperar
ChkNegrita.Checked
el valor de
=Properties.Settings.Default.VNegrita;
para CheckBox

a cada
ChkCursiva.Checked
y los
asigna Properties.Settings.Default.Vcursiva;
ChkSubrayado.Checked = Properties.Settings.Default.VSubrayado;
ChkTamañio.Checked = Properties.Settings.Default.VTamaño;

para que verifique


botón
Realizar Actividad
/Llamar al las actividades ner
CheckBox y
realizar arias.
estado de los Realizar Actividad.
//el del botôn
evento clic
e); //Llama al
BtnActividad_Clickfsender,

Resultados Ficha CheckBox


realizar la actividad y
Cambiar el Estado,
Estado Inicial guardar los cambios

ednando Espacio Aprovechando Espacio

LBar CamboBax Ohedk Pax CheciBox

LntBex ComboBax

O egt
Reakzas Actvidod tegta
GUBrder Corfigurecidn
Cursa
Subrayado L arer Cortigurecó
Tanario 30 Siyodo
Tamaro
Ediciones Fares

Ediciones Fares

Recuperar Estado

Aprovechando Espacio
5oxCombo Box eckBax

Para verificar que el programa guarda el


sio
Reakzar kchvevdad
Negaa estado de los estilos seleccionados, ciérreloy
Sardar Cortigrncon Cursiva vuélvalo
Subrayedo
a
iniciar, este será
recordado aún
Tamaro 30 después de apagar y volver a encender a
computadora.
Ediciones Fares

Son
Arreglos (Matrices)
untipo especial de variables
que pueden
tipo. Una variable de arreglo o almacenar temporalmente misn

un
vector puede varios datos de
uno Oo varios
ad
nombre. contener al mismo bajo unm
tiempo diferentes valo ores

También podemos decir qu


un
almacenar una colección de arreglo es una
elementos, dados estructura
p e r m

de datos o un que
espacio de
m e m o r i a

del mismo
tipo.
E ONES FAREC
P o d e m o s inmagin
rn a un arregio como una secuencia contigua
de celidas (espacios en memoria) o casil
una de las cuales se puede guardar un elemento de ia colección
las,en

arepresentaun arreglo de 10 casillas cada una de las cuales se puede utilizar para guardar un

edades, nombres, etc


dato como.

ension o tamaño de un arreglo es el número de casillas que lo conforman. Como podemosobservar


anterior corresponde
a un arreglo de dimensión 10.
ia fgura

trabajar listas de valores como: Una lista de


de los trabajos más comunes en programación es con
t lno

comprar en el supermercado o los números de identidad de los trabajadores de una empresa.


articulos a

de tipo primitivo no pueden manejar listas de valores ya que tienen carácter destructivo;
Las variables
mantiene el nuevo.
si una variable tiene un valor y se le asigna otro. pierde el primero y
esto implica que
Array. es una colección de objetos a la cual se hace refer
Las variables de tipo arreglo se derivan de System
en un arreglo
contenedor y del indice de ubicación. Los datos almacenados
encia a través del nombre del
a cada uno de los
elementos mediante el indice.
eliminar y hacer referencia
se pueden buscar, ordenar,

tiene indice I. la tercera indice 2 y asi suce


tiene indice 0, la segunda
En C# la primer casilla del arreglo
atteglos de dimensión N, la ultima casilla tiene
importante tomar en cuenta que un
sivamente. Es muy

indice N-1.

lustración de un arreglo

Casillas
112314I5 1
1 2
Indices

cada una de sus casillas se le reconoce


variable de arreglo a
hemos observado cuando se crea una con
OmO
especificar la casilla
indice, este valor permite al programador
Un
numero al que se le denomina
la que desea
trabajar, usando el siguiente formato

Nombre_de_arreglofindice] indica la casilla con la


indice es un valor que
de la variable e
hombre_de_arreglo, es el nombre
E
que se desea trabajar en cada instante. Ejemplo
en nuestra imagen
haciendo referencia
ubicado en la quinta posición
e reterencia alelemento
anterior al valor 15
VISUAL C
Dimensiones de Matrices de los element
variar la
especiticacion ntos de una n
dirección en la que puede todos los días del mes
tin
Una dimensión es
una
matriculados de una dime
contiene el total de Alumnos departamento de todos lnos días de
Una matriz que ventas por
contiene el total de
Una matriz que mes). El número de die
(el dia del mes).
dimensiones (el número del departamento y el dia del
dimensione
tiene dos
matriz se denomina Rango.
tiene una

indice o un subindice para cad.


proporcione un una d
elemento de una matriz,
Para especificar un cada dimension del
indice 0 al índice mác d
elementos son contiguos a lo largo de ltc
dimensiones. Los

esa dimensión.

conceptual de matrices con rangos diferentec


Las ilustraciones siguientes muestran la estructura

elemento de las ilustraciones muestra los valores


de índice que tienen acces0 a él. Por ejemplo, n
matriz bidimensional especificando los índices
tener acceso al primer elemento de la segunda fila de la

Una Dimensión

A las matrices de una sola dimensión se les llama arreglos de tipo lista o vectores y almacenan datos
mismo tipo organizados en una sola columna y una o más filas.

La declaración de una matriz de una dimensión se hace de la siguiente manera:

Tipol] nombre;
Donde "tipo" indica el tipo de los elementos que contendrá la matriz "'nombre" es un
que nombra a la matriz. Los corchetes modifican la
y identinca
definición normal del identificador para que-
interpretado por el compilador como una matriz.
Las siguientes líneas de código son ejemplos de declaraciones
de matrices:
Int[] edad;
Float[] sueldo;
Stringl] nombre;
Muchas matrices
tienen sólo una dimensión, como el número
declara una variable para que as. El
contenga una matriz
una lista de edades. El ejemplo sigue
de 0 a 50 edades.
unidimensional ejem almacena
de recuentos de edad,
Ejemplo:
pa
Int] edad =
new
int[50;
CUNIDAD V
Dos Dimensiones

a c arreelos de más de una dimensión se les llama arreglos de tipo tabla o simplemente matrices que
acenan Un conjunto de datos del mismo tipo organizados en dos o más columnas y uno o más arreglos.

r g l a de tipo tabla puede almacenar el número de alumnos por cada aula de un instituto. La

aenarificación requiere conocer el numero de aulas y el número de alumnos en cada aula.

una matriz de dos


dimensiones se realiza de la siguiente manera:
Para declarar
Tipol, ] nombre;

datos que almacenará y "nombre" es el identificador que nombra a la matriz.


Donde "tipo" indica el tipo de
líneas de codigo son ejemplos de declaraciones de matrices de dos dimensiones:
Las siguientes

int[] edadorden;

stringl,] Datosp;
recuenta el
variable que puede contener una matriz bidimensional que
El ejemplo siguiente declara una

el instituto de 0 a 20y de 0 a 40 alumnos por aula.


número de aulas en

long ,] AlumnosPorAula
= new long[20, 40]
hasta un máximo de 32 dimensiones, pero por lo general nose
Nota: Una matriz puede tener
utilizan más de tres.

Crear una Matriz


crear una matriz significa
matriz, el siguiente paso es crearla o construirla;
Después de declarar una
al nombre de la
contener todos sus elementos y asignar
memoria necesaria para
reservar la cantidad de
Para crearla se realiza de la siguiente manera:
matriz una referencia a ese bloque.

nombre = new tipoftamaño];


declarado y "tipo" representa el tipo de
de la matriz previamente
Donde "nombre" representa el nombre
es una expresión entera positiva.
datos que almacenará la matriz y tamaño

Ejemplos:
realiza por cada dia del
mes
una persona
número de tareas que
e desea realizar el seguimiento del
con 31 elementos, uno por cada dia
matriz unidimensional
actual. En este caso podemos utilizar una

del mes.

longl] Actividades;
Actividades = new long[31];
recuerde que el
indice empieza en 0y de 0a -
30h
El arreglo se declara con 31, porque
se hace
con N-1, esto significaría 31-1 0u ay31
que seríai
y31e elemen
pero la referencia al último elemento
alto.
igual aert,
30 s
representaría el índice más

16 17 18 19 20 21 22 23
7 8 9 10 11 12 13 14 15 2 28
1314 15 16 1718 19|20 21 22 23 24 25
Indice 0 1 2 3 4 5 6
Dias del Mes2|3|4S 6 7 8 91011 12
de la misma información non4sólo para
2. Ahora suponga que desea realizar el seguimiento
caso se puede
sino también para
cada mes del año. En este crear
una matriz ded
días del mes
los días.
dimensiones con 12 filas, para
los meses y 31 columnas para

longl,] Actividades = new long[12,31];

3
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2s
Indice 0 1 4 8 29 30
Coordenadas de cada elemento 000

Para recorrer todos los elementos de la tabla necesita dos ciclos


se for, uno externo para controlar el reng
lón y uno interno para controlar cada columna.

El hecho de utilizar eloperador new, esto indica que C# implementa las matrices como objetos, por
tanto serán tratadas como
cualquier otro objeto.

Iniciar una Matriz

Una matriz es un
objeto; por lo tanto cuando se crea, sus elementos son iniciados.S
matriz esnumérica, sus elementos son iniciados a automáticamente
0; si no es numérica a un valor análogo al porejen
plo: los caracteres son iniciados al anaob
valor uoo0',
objets

a nul. un elemento booleano a false y las


rel
Si lo que deseamos es iniciar una matriz con otros
hacerlo de la siguiente manera: valores diferentes los
a
prede
int[] edad { 10, 20, 30, 3,
=

6, 8, 9};
stringl) nombre {"Alejandro",
=

"Alejandra'", "María", "Miguel"}

También podría gustarte