Está en la página 1de 37

PROGRAMACION ORIENTADA A OBJETO

LOS OBJETOS: Son entidades que tienen estado y comportamiento.

El estado de los objetos comprende las diversas propiedades del objeto. como son
color, tamaño, color de fuente, etc.

El comportamiento esta definido por los eventos y los métodos. estos son acciones
que se realizan sobre o con dicho objeto.

LAS PROPIEDADES DE LOS OBJETOS PODEMOS GESTIONARLAS DE DOS


FORMAS:

1-EN TIEMPO DE DISEÑO


2-EN TIEMPO DE EJECUCIÓN

En tiempo de diseño, las propiedades del objeto la gestionamos a través del cuadro de
propiedades, utilizando el asistente y haciendo click en la propiedad especifica

En tiempo de ejecución, las propiedades se gestionan a través de los eventos mediante


código y se solo se palpara cuando se ponga en corrida o ejecución el objeto.

ENTRE LOS OBJETOS TENEMOS:

EL OBJETO FORMS. Es el objeto estándar de la interfaz de las aplicaciones tipo


Windows.

EJEMPLO. CREE EL N FORMULARIO ACERCADE

Entre sus propiedades esenciales del formulario están:

1-En tiempo de diseño

Name: asignar el nombre al formulario

Rigth Click sobre el formulario y selecciono propiedades


Name: frmAcercaDe

PROPIEDAD Text: Texto que debe aparecer en la barra azul del formulario

1-En tiempo de diseño


Rigth Click sobre el formulario y selecciono propiedades
Text: Acerca De…..

2-En tiempo de Ejecución:


Doble Click sobre el formulario y se activa el evento load del formulario y en
este evento digitamos el código

private void frmAcercade_Load(object sender, EventArgs e)


{
this.Text = "Otro Nombre";
}

Nota:
El this hace referencia al formulario en cuestion

PROPIEDADES QUE HACEN REFERNCIA AL FONDO DEL FORMULARIO

BackColor: Setea el color

BackgroudnImage: Selecciona una imagen para el fondo

BackgroundImageLanyout: Permite especificar de que forma se muestra la imagen en


fondo del formulario

1-En tiempo de diseño


Rigth Click sobre el formulario y selecciono propiedades

BackColor: Selecciono el color de fondo

BackgroundImage: Doble click al Browse o los puntos suspensivos,


selecciono recurso local y luego importar, selecciono y abro la carpeta donde están
mis imágenes y selecciono la imagen que deseo

BackgroundImageLanyout:

Title : La imagen se repite hasta llenar todo el formulario


Strech : Una sola imagen llena el formulario pero pierde resolución, o sea, se
deforma la imagen

Center: Centra la imagen en el formulario


Zoom : Tiene el mismo efecto que el center pero la imagen se ve con mas
nitidez

2-En tiempo de Ejecución:


Doble Click sobre el formulario y en el evento load del formulario digitamos
el código
private void frmAcercade_Load(object sender, EventArgs e)
{

this.BackColor = Color.Black;

this.BackgroundImage = pjparadigma.Properties.Resources.cats;

this.BackgroundImageLayout = ImageLayout.Stretch;

FormBorderStyle: Ponerle border o no al formulario y por lo tanto que


el usuario no pueda cambiar el tamano del formulario en tiempo de
ejecucion

Sizable: El usuario puede cambiar el tamano al formulario

FixedSingle : El usuario no puede cambiar el tamano al formulario

None: El usuario puede cambiar el tamano al formulario

1-En tiempo de diseño


Rigth Click sobre el formulario y selecciono propiedades

FormBorderStyle: selecciono el estilo del border

2-En tiempo de Ejecución:

private void frmAcercade_Load(object sender, EventArgs e)


{

this.FormBorderStyle = FormBorderStyle.FixedSingle;

OPACITY: PERMITE DEFINIR EL NIVEL DE OPACIDAD O DE TRANSPARENCIA DEL


FORMULARIO

1-En tiempo de diseño


Rigth Click sobre el formulario y selecciono propiedades

Opacity: escribo el valor

2-En tiempo de Ejecución:

private void frmAcercade_Load(object sender, EventArgs e)


{

this.Opacity = 10;
}
StartPosition: establecer en que posicion de la pantalla queremos que
aparezca el formulario

CenterScreen: aparezca en el centro de la pantalla

WindowsDefaultLocation: aparezca en la esquina superior derecha


de la pantalla

WindowsDefaultBounds: aparezca en la esquina superior derecha y


cubre casi toda la pantalla

CenterParent: aparezca en la esquina superior derecha de la


pantalla buscando el centro

Manual : setea manualmente la posicion de la pantalla donde


queremos que aparezca formulario y una vez seleccionada la opcion
debemos setear la propiedad Location donde se setea la coordenada
formada por posicion horizantal (x) y la posicion vertical (y)

Location:
X:
Y:

1-En tiempo de diseño


Rigth Click sobre el formulario y selecciono propiedades

StarPosition: selecciono la posición deseada

CenterScreen
WindowsDefaultLocation
WindowsDefaultBounds
CenterParent
Manual
Location:
X: posicion horizontal
Y: posicion vertical

2-En tiempo de Ejecución:

private void frmAcercade_Load(object sender, EventArgs e)


{
// this.StartPosition = FormStartPosition.WindowsDefaultBounds;

this.StartPosition = FormStartPosition.Manual;
this.Location = new Point(300,40);
}

WndowState: establecer la forma en que debe presentarse el formulario

Normal: aparezca en estado normal solo ocupando una parte de la


pantalla

Minimized: aparezca en estado minimizado, no se ve en la pantalla


porque esta en la barra de tarea
Maximized: aparezca ocupando toda la pantalla

1-En tiempo de diseño


Rigth Click sobre el formulario y selecciono propiedades

WindowState: selecciono el estado deseado

Normal
Minimized
Maximized

2-En tiempo de Ejecución:

private void frmAcercade_Load(object sender, EventArgs e)


{
this.WindowState = FormWindowState.Maximized;

Size: establecer el tamano el formulario


Width: especifica el ancho

Height: especifica el alto

1-En tiempo de diseño


Rigth Click sobre el formulario y selecciono propiedades

Size:
Width: 107

Height:200

2-En tiempo de Ejecución:

private void frmAcercade_Load(object sender, EventArgs e)


{
// this.Size = new Size(this.Size.Width, 400);
// this.Size = new Size(this.Size.Height, 100);

this.Size = new Size(this.Size.Width, 107);

PROPIEDADES QUE TIENEN QUE VER CON LA BARRA DE TITULO

ControlBox: se refiere al conjunto de botones que aparecen en la


franja azul del formulario. Con esta proiedad se activa o se
desactivan estos botones.
1-En tiempo de diseño
Rigth Click sobre el formulario y selecciono propiedades

ControlBox:
true: activa los botones

false: desactiva los botones

2-En tiempo de Ejecución:

private void frmAcercade_Load(object sender, EventArgs e)


{
// this.ControlBox = true;
this.ControlBox = false;

Icon: permite seleccionar un archivo tipo ico para que aparezca en


la barra de titulo del formulario y cuando el formulario se
minimize este icnono se ve en la barra de tarea

1-En tiempo de diseño


Rigth Click sobre el formulario y selecciono propiedades

Icon: haga doble click al browse y seleccione

2-En tiempo de Ejecución:

private void frmAcercade_Load(object sender, EventArgs e)


{
this.Icon = new Icon("c:\\recursos\\setup.ico");

MaximizeBox: activa o desactiva el boton de maximizar

PROPIEDAD MinimizeBox: activa o desactiva el boton de minimizar

1-En tiempo de diseño


Rigth Click sobre el formulario y selecciono propiedades

MaximizeBox:
True: Activa
False: desactiva

MinimizeBox:
True: Activa
False: desactiva

2-En tiempo de Ejecución:

private void frmAcercade_Load(object sender, EventArgs e)


{
this.MaximizeBox = true;
this.MinimizeBox = false;

EJEMPLO PARA AMPLIAR Y REDUCIR EL FORMULARIO frmAcercaDe

A) AGREGUE TRES ETIQUETAS AL FORMULARIO CON LO MUESTRA LA IMAGEN Y EN


SU PROPIEDAD TEXT ESCRIBA LOS TEXTOS CORRESPONDIENTES

B) AGREGUE DOS BOTONES.

AL PRIMERO SETEE SU PRIEDAD:


Name: btndetalles
Text : Detalles

AL SEGUNDO SETEE SU PROPIEDAD:


Name: btnocultar
Text : Ocultar

C) HAGA DOBLE CLICK AL FORMULARIO Y EN EL EVENTO LOAD ESCRIBA

private void frmAcercade_Load(object sender, EventArgs e)


{

this.Size = new Size(this.Size.Width, 107);

D) HAGA DOBLE CLICK AL BOTON DETALLES Y EL EVENTO CLICK DEL BOTON


ESCRIBA EL CODIGO QUE SIGUE.

private void btndetalles_Click(object sender, EventArgs e)


{
this.Size = new Size(this.Size.Width, 218);
}

D) HAGA DOBLE CLICK AL BOTON OCULTAR Y EL EVENTO CLICK DEL BOTON


ESCRIBA EL CODIGO QUE SIGUE.

private void btnocultar_Click(object sender, EventArgs e)


{
this.Size = new Size(this.Size.Width, 107);
}
El objeto Label: presenta una etiqueta en un formulario

Sus propiedades releventes son:

Name: Nombre de la etiqueta. Ej. lblNombre

Text: Texto que se ve en la etiqueta

Size: Tamano de la etiqueta. Tiene un ancho y un largo

Location : ubicacion de la etiqueta. Se especifica la coordenada X, Y, que representa el


angulo superior izquierdo de la ubicación etiqueta

Enable: La etiqueta aparece en modo desactivado

Visible: Establece si la etiqueta se ve o no

TextAlign: Posicionamiento del texto dentro de la etiqueta

Backcolor:establece el color de fondo de la etiqueta

Forecolor: Establece el color del texto de la etiqueta

Font: Establece el tipo de letra de la etiqueta

Anchor: Ancla el cuadro, osea se disminuye o aumenta si aumenta el formulario

Autosize:Hace que el control se ajuste al tamano del texto

BorderStyle: Que tenga o no borde

Dock: Fija el cuadro de texto en una Area determinada

Image: Agrega una imagen

ImageList
EJEMPLO DE UNA CALCULADORA

1-En tiempo de diseño

Seleccione de la barra de herramienta (ToolBox) el objeto label y déjelo caer en el


formulario

Rigth Click sobre la etiqueta y selecciono propiedades

Name: lblNombre
Text: Nombre
Size: 63; 13
Width:63
Height:13
Location : 49; 22
X:49
Y:22

Enable: False o True


Visible: False o True

TextAlign:
TopLeft
TopCenter
TopRight
MiddleLeft
MiddleCenter
BottomLeft
BottomCenter
BottomRight

Backcolor:
Custom, selecciona el color
Wee, selecciona un archivo de color
System, selecciona un archivo de color

Forecolor:
Custom, selecciona el color
Wee, selecciona un archivo de color
System, selecciona un archivo

Font:
Click al Browse (...) y seleccione el tipo de letra , su tamano,
caaracteristicas

Anchor:
Click en el Combo y seleccione:
Top, Left
Top, Left, Right
Top, Bottom, Left, Right

Autosize: False o True

BorderStyle:
None
FixedSingle
Fixed3D

Dock:
None
Top
Left
Fill
Right
Bottom

Image:
Click al browse y seleccione project resouce file , import y seleccione la imagen

ImageList:

En proceso de explicación

2-En tiempo de Ejecución:


Doble Click sobre el formulario y se activa el evento load del formulario y en
este evento digitamos el código
private void frmcalculadora_Load(object sender, EventArgs e)
{
lblop.Visible = false;
}

Doble Click sobre el Botón Sumar y escribo


private void bntsumar_Click(object sender, EventArgs e)
{

lblop.Text = "Sumar";
lblop.Anchor = AnchorStyles.Right;
lblop.Dock = DockStyle.Bottom;
lblop.Size = new Size(70, 80);
lblop.BackColor = Color.Blue;
lblop.ForeColor = Color.Red;
lblop.Text = Font.Underline.ToString();
lblop.TextAlign = ContentAlignment.MiddleCenter;
lblop.AutoSize = false;
lblop.BorderStyle = BorderStyle.None;
// lblop.Font.Italic.ToString();

lblop.Refresh();

El objeto TextBox: Caja de texto por donde se alimentan datos

Sus propiedades releventes son:


Name: Nombre de caja de texto. Ej. txtNombre

Text: Retiene el valor introducido

Size: Tamano del cuadro de texto. Tiene un ancho y un largo

Location : ubicacion de la caja de Texto. Se especifica la coordenada X, Y, que


representa el angulo superior izquierdo de la ubicación etiqueta

Enable: permite que se le introduzca o no texto

Visible: Establece si la etiqueta se ve o no

TextAlign: Posicionamiento del texto dentro del cuadro

Backcolor:establece el color de fondo del cuadro de texto

Forecolor: Establece el color del texto dentro de la caja

Font: Establece el tipo de letra del text

Anchor: Ancla el cuadro, osea se disminuye o aumenta si aumenta el formulario

Autosize: Hace que la caja se ajuste al texto


BorderStyle: Que la caja tenga bordes o no

Dock: Fija el cuadro de texto en una Area determinada

TabIndex: Especifica el orden en que deben capturarse los datos

PaswordChar: Convierta el valor que el usuario introduzca al simbolo especificado en la


propiedad

Multiline: Indica que el texto es de varias lineas. Las lineas se ven en la propiedad

1-EN TIEMPO DE DISEÑO

Seleccione de la barra de herramienta (ToolBox) el objeto TextBox y déjelo caer en el


formulario

Rigth Click sobre el cuadro de texto y selecciono propiedades

Name: txtNombre

Text: se deja vacio

Size: 63; 13
Width:63
Height:13
Location : 49; 22
X:49
Y:22

Enable: False o True


Visible: False o True

TextAlign:
Left
Center
Right

Backcolor:
Custom, selecciona el color
Wee, selecciona un archivo de color
System, selecciona un archivo de color

Forecolor:
Custom, selecciona el color
Wee, selecciona un archivo de color
System, selecciona un archivo

Font:
Click al Browse (...) y seleccione el tipo de letra , su tamano,
caaracteristicas
Anchor:
Click en el Combo y seleccine:
Top, Left
Top, Left, Right
Top, Bottom, Left, Right

Autosize: False o True

BorderStyle:
None
FixedSingle
Fixed3D

Dock:
None
Top
Left
Fill
Right
Bottom

TabIndex: 0

PaswordChar: #

Multiline: (True o False)

2-EN TIEMPO DE EJECUCIÓN:

Doble Click sobre el formulario y se activa el evento load del formulario y en


este evento digitamos el código
private void frmcalculadora_Load(object sender, EventArgs e)
{
txtprimervalor.Text = "0";
txtprimervalor.TextAlign = HorizontalAlignment.Center;
txtprimervalor.Anchor = AnchorStyles.None;
txtprimervalor.Dock = DockStyle.None;
txtprimervalor.Size = new Size(40, 30);
txtprimervalor.BackColor = Color.Aqua;
txtprimervalor.ForeColor = Color.Red;
txtprimervalor.BorderStyle = BorderStyle.FixedSingle;
txtprimervalor.TabIndex = 0;
txtprimervalor.PasswordChar = '#';
}

Doble Click sobre el Botón Sumar y escribo


private void bntsumar_Click(object sender, EventArgs e)
{
Double res;

res = double.Parse(txtprimervalor.Text) +
double.Parse(txtsegundovalor.Text);

txtresultado.Text = res.ToString();
txtprimervalor.Text = " ";
txtprimervalor.Focus();

EL OBJETO BOTTON; se utiliza para ordernar acciones a ejecutar

Sus acciones relevantes son:

Name: Nombre del botton Ej. btnSumar

Text: Texto que aparece en el botton

Size: Tamano del botton. Tiene un ancho y un largo

Location : Ubicacion del boton. Se especifica la coordenada X, Y, que representa el


angulo superior izquierdo de la ubicación etiqueta

Enable: Activa o Desactiva el botton

Visible: Establece si el botton se ve o no

TextAlign: Posicionamiento del texto dentro del boton

Backcolor:Establece el color de fondo del botton

Forecolor: Establece el color del texto dentro del boton

Font: Establece el tipo de letra del texto dentro del boton

Anchor: Ancla el boton, osea se disminuye o aumenta si aumenta el formulario

Autosize: Hace que el tamano del boton se ajuste a la longitud del texto

FlatAppearance:
FlatStyle:: Elige un estilo para el botton

Dock: Fija el boton en una Area determinada

TabIndex: Especifica el orden en que se debe acceder el botton

Image: Poner una imagen al boton


ImagenAlign: Alinear la imagen dentro del boton.

Visible: Que el boton se muestre o no

1-EN TIEMPO DE DISEÑO

Seleccione de la barra de herramienta (ToolBox) el objeto Botton y déjelo caer en el


formulario

Rigth Click sobre el botton y selecciono propiedades

Name: btnNombre

Text: Sumar

Size: 75; 23
Width:75
Height:23

Location : 43; 153


X:43
Y:153

Enable: False o True


Visible: False o True

TextAlign:
TopLeft
TopCenter
TopRight
MiddleLeft
MiddleCenter
BottomLeft
BottomCenter
BottomRight

Backcolor:
Custom, selecciona el color
Wee, selecciona un archivo de color
System, selecciona un archivo de color

Forecolor:
Custom, selecciona el color
Wee, selecciona un archivo de color
System, selecciona un archivo

Font:
Click al Browse (...) y seleccione el tipo de letra , su tamano,
caaracteristicas

Anchor:
Click en el Combo y seleccine:
Top, Left
Top, Left, Right
Top, Bottom, Left, Right

Autosize: False o True

FlatAppearance:
FlatStyle:

Flat
Popup: El boton parece undirse al hacerle click
Standard
System

Dock:
None
Top
Left
Fill
Right
Bottom

TabIndex: 4

Image: Click al browse, seleccionar Project resource file, selecciona y click Ok

ImagenAlign:
TopLeft
TopCenter
TopRight
MiddleLeft
MiddleCenter
BottomLeft
BottomCenter
BottomRight

Visible: ( True o False)


EN TIEMPO DE EJECUCION

Doble Click sobre el formulario y se activa el evento load del formulario y en este
evento digitamos el código
private void frmcalculadora_Load(object sender, EventArgs e)
{

btnsalir.Text= "Sumar";
btnsalir.Anchor = AnchorStyles.Bottom;
btnsalir.Dock = DockStyle.Bottom;
btnsalir.Size = new Size(30, 25);
btnsalir.BackColor = Color.Beige;
btnsalir.ForeColor = Color.Aquamarine;
btnsalir.TextAlign = ContentAlignment.MiddleCenter;
btnsalir.AutoSize = true;
// btnsalir.FlatAppearance.BorderColor = FlatStyle.Popup;
btnsalir.Visible = false;

LISTAS BASICAS:

LISTBOX
ComboBox
CheckedListbox

El Objeto ListBox; sirve para que el usuario seleccione uno o mas


elementos de la lista.

Su propiedad mas relevante es la propiedad Items, o sea, colección de


elementos.

Items; colección de elementos y para mostrar estos items se utiliza


el metodo Tostring()

Selection Mode; significa que el usuario puede escoger uno o varios


elementos:

None: no puede seleccionar elementos. Los elementos solo son


mostrados

One: Puede seleccionar solo un elemento de la lista

Multisimple: Puede seleccionar multiples elementos pero que


esten consecutivos.

Multiextended: Puede seleccionar varios elementos de la lista


aunque no esten consecutivos.

Propiedades del ListBox que solo se usan en tiempo de ejecucion:

Selectedindex()
Selectedindices()
SelectedItem()
Selecteditems()

Selectedindex(), especifica la posicion que ocupa el items


seleccionado por el usuario en la lista. La posicion inicia en cero

Para los casos en que el Selection Mode permita seleccionar mas de un


elemento, si queremos ver que elemento se ha seleccionado entonces
usamos el Selectedindices() y esta nos devorvera el lugar que ocupa
en la lista cada elemento seleccionado

SelectedItem(); esta nos devuelve el elemento seleccionado, no la


posicion

Selecteditems(); devuelve la lista de todos los elementos


seleccionados , si el selection Mode lo permite.
Ejemplo:

Añadamos un formulario al proyecto

-Name del formulario: frmlistasbasicas


-Text: Listas basicas: Listbox, ComboBox, CheckedListbox

EN TIEMPO DE DISEÑO

Añadimos un objeto ListBox del cuadro de herrameinta en el cual se


veran una lista de los dias de la semana y mostraremos en un mensaje
la selección que haga el usuario.

-Añadimos dos botones del cuadro herrameinta debajo del ListBox

Hacer click sobre objeto ListBox y seleccione propiedades

-Name del ListBox: lstDias

-Name del CheckedListBox:


-Name del primer boton: btnseleccionaruno
-Name del segundo boton: btnseleccionarvarios

-Setee tambien la propiedad Text de los botones.

-Setee la propiedad selectionMode a MultiExtended.


-Seleccione la propiedad items del listbox, y haga doble click a
los puntos suspensivos.

-En el cuadro que aperece, escriba los dias de la semana


(Lunes...Domingo)

- Click Ok

EN TIEMPO DE EJECUCION

Para añadir elementos al listbox se usa el siguiente codigo en el


evento load del formulario

Haga doble al formulario y se activara el evento load del formulario,


luego escriba:

private void frmlistasBasicas_Load(object sender, EventArgs e)


{
String stritem = "Dias Festtivos";
lstDias.Items.Add(stritem);
lstDias.Items.Add("Dias Laborables");
}
Con ese codigo se anaden dos elementos mas al ListBox en tiempo de
ejecucion, que son: Dias Festtivos y Dias Laborables

Ejecute y pruebe el formulario

Programamos ahora los botones

Haga doble click al boton “seleccionar Uno” y escriba el siguiente


codigo:

private void btnseleccionaruno_Click(object sender, EventArgs e)


{
if (lstDias.SelectedIndex == -1)
{
MessageBox.Show(" No hay Ningun Elemento Seleccionado");
return;
}
Object obj = lstDias.SelectedItem;
string strmensaje = " Dias Seleccionado: " + "\n" + obj.ToString();
MessageBox.Show(strmensaje);

Haga doble click al boton “seleccionar Varios” y escriba el siguiente


codigo

private void btnseleccionarvarios_Click(object sender, EventArgs e)


{
if (lstDias.SelectedItems.Count == 0)
{
MessageBox.Show(" No hay Ningun Elemento Seleccionado");
return;
}
string strmensaje = " Dias Seleccionados: ";
foreach (object obj in lstDias.SelectedItems)
{
strmensaje += "\n";
strmensaje += obj.ToString();
}
MessageBox.Show(strmensaje);
}

El Objeto ComboBox o desplegable; sirve para que el usuario seleccione


un elemento de una lista. Es parecido al listbox pero se
diferencian en que en el listbox se ven los elementos y en el
combobox no se ven los elementos de la lista hasta que no se navegue.
Ademas no tiene la propiedad SelectionMode porque solo se puede
seleccionar un solo elemento a la vez.

Sus propiedades relevantes son:

-Items; la colección de elementos


-Text; dice el texto del elemento seleccionado
-Selectedindex(), especifica la posicion que ocupa el items
seleccionado por el usuario en la lista.

-SelectedItem(); esta nos devuelve el elemento seleccionado

Ejemplo

Añadimos un objeto ComboBox del cuadro de herrameinta al formulario


frmlistasbasicas en el cual se vera una lista desplegable de los dias
de la semana y mostraremos en un mensaje el dia seleccionado por el
usuario.

TIEMPO DE DISEÑO

Hacer click sobre objeto ComboBox y seleccione propiedades

-Name del ComboBox: cbdias

-Seleccione la propiedad items del ComboBox, y haga doble click a


los puntos suspensivos.

-En el cuadro que aperece, escriba los dias de la semana


(Lunes...Domingo)

-Click Ok

-Añadimos un boton del cuadro herrameinta debajo del ComboBox

-Name del boton: btnseleccionarcombo


-Setee tambien la propiedad Text del boton como se ve en la grafica

TIEMPO DE EJECUCION

EN TIEMPO DE EJECUCION

Para añadir elementos al ComboBox se usa el siguiente codigo en el


evento load del formulario

Haga doble al formulario y se activara el evento load del formulario,


entonces escriba:

private void frmlistasBasicas_Load(object sender, EventArgs e)


{
String stritem = "Dias Festtivos";
cbdias.Items.Add(stritem);
cbdias.Items.Add("Dias Laborables");
}

Igual que en el ListBox, se añaden dos elementos mas al ComboBox.

Ahora programemos el boton “seleccionar” para seleccionar un dia y


mostrarlo en un mensaje.

private void btnseleccioncombo_Click(object sender, EventArgs e)


{
if (cbdias.SelectedIndex == -1)
{
MessageBox.Show(" No hay Ningun Elemento Seleccionado");
return;
}
Object obj = cbdias.SelectedItem;
string strmensaje = " Dias Seleccionado: " + "\n" + obj.ToString();
MessageBox.Show(strmensaje);
}

El Objeto CheckListBox; sirve para que el usuario seleccione uno o mas


elementos de una lista de la misma forma que con el ListBox, pero
ademas permite chequear o puntear uno o mas elementos de la lista.

Su propiedad mas relevantes son :

Items; colección de elementos y para mostrar estos items se utiliza


el metodo Tostring()

Selection Mode; significa que el usuario puede escoger uno o varios


elementos:

None: no puede seleccionar elementos. Los elementos solo son


mostrados

One: Puede seleccionar elemento de la lista

CheckOnClick: True o false, Permite puntear o no el elemento de la


lista

Propiedades del CheckedListBox que solo se usan en tiempo de


ejecucion:

Selectedindex()
Selectedindices()
SelectedItem()
Selecteditems()
Checkeditems()

Selectedindex(), especifica la posicion que ocupa el items


seleccionado por el usuario en la lista. La posicion inicia en cero
Para los casos en que el Selection Mode permita seleccionar mas de un
elemento, si queremos ver que elemento se ha seleccionado entonces
usamos el Selectedindices() y esta nos devorvera el lugar que ocupa
en la lista cada elemento seleccionado

SelectedItem(); esta nos devuelve el elemento seleccionado, no la


posicion

Selecteditems(); devuelve la lista de todos los elementos


seleccionados , si el selection Mode lo permite.

Checkeditems(); deuelve la colección de los items chequeados.

En este control, seleccionar el elemento no es lo mismo qu chequearlo.

Ejemplo:

Añadimos un objeto CheckedListBox del cuadro de herrameinta al


formulario frmlistasbasicas en el cual se vera una lista de los dias
de la semana y mostraremos en un mensaje el o los dias punteados
por el usuario.

EN TIEMPO DE DISEÑO

Hacer click sobre objeto CheckedListBox y seleccione propiedades

-Name CheckedListBox: chkdias

-Añadimos un boton del cuadro herrameinta debajo del CheckedListBox


Este es para ver los punteados

-Name del boton: btnchequeados


-Text: Seleccionar todos los punteados

-Añadimos otro boton del cuadro herrameinta debajo del CheckedListBox


Este es para ver solo los seleccionados pero no punteados. Este solo
tiene sentido si la propiedad CheckOnClick es false

-Name del boton: btnseleccionados


-Text: Seleccionados

-Seleccione la propiedad items del CheckedListBox, y haga doble


click a los puntos suspensivos.

-En el cuadro que aperece, escriba los dias de la semana


(Lunes...Domingo)

- Click Ok

-Setee la propiedad CheckOnClick a True


EN TIEMPO DE EJECUCION

Para añadir elementos al CheckedListBox se usa el siguiente codigo en


el evento load del formulario

Haga doble al formulario y se activara el evento load del formulario,


luego escriba:

private void frmlistasBasicas_Load(object sender, EventArgs e)


{
String stritem = "Dias Festtivos";
chkdias.Items.Add(stritem);
chkdias.Items.Add("Dias Laborables");

Con ese codigo se anaden dos elementos mas al CheckedListBox en tiempo


de ejecucion, que son: Dias Festtivos y Dias Laborables

Ejecute y pruebe el formulario

Programamos ahora los botones

Haga doble click al boton “seleccionar todos los punteados” y escriba


el siguiente codigo:

private void btnchequeados_Click(object sender, EventArgs e)


{
if (chkdias.CheckedItems.Count == 0)
{
MessageBox.Show(" No hay Ningun Elemento Punteado");
return;
}
string strmensaje = " Dias Seleccionados: ";
foreach (object obj in chkdias.CheckedItems)
{
strmensaje += "\n";
strmensaje += obj.ToString();
}
MessageBox.Show(strmensaje);

Haga doble click al boton “seleccionados” y escriba el siguiente


codigo:

private void btnseleccionados_Click(object sender, EventArgs e)


{
if (chkdias.SelectedIndex == -1)
{
MessageBox.Show(" No hay Ningun Elemento Seleccionado");
return;
}
Object obj = chkdias.SelectedItem;
string strmensaje = " Dias Seleccionado: " + "\n" + obj.ToString();
MessageBox.Show(strmensaje);
}

Añadimos de la barra de herramienta otro boton para cerrar el


formulario y lo seteamos asi:

Name: btnsalir
Text: Salir

Doble click al boton y escribimos

private void btnsalir_Click(object sender, EventArgs e)


{
this.Close();
}

CONTROLES BOLEANOS
1) CheckBox
2) RadioButton

El checkBox permite seleccionar o no una opcion concreta. Se puede


seleccionar mas de una opcion.

Propiedades relevantes:
Text
TextAlign
Checked
Appearance

Text: Texto que se vera

TextAlign: Ubicación del texto en el control

Checked: Identifica si la opcion esta marcada o no


Appearance: Forma de presentacion de la opcion, o sea, tipo normal o
boton. Cuando es tipo normal, el usuario lo selecciona y se chequea.
Cuando es tipo boton se pulsa

El Objeto RadioButton, permite al usuario escoger entre varias


opciones pero estas opciones son excluyentes entre ellas. Para
separar los RadioButton de tal manera que uno no tenga que ver con
el otro se necesita ponerlo dentro de contenedores o paneles.
Significa que solo uno de ellos puede estar seleccionado, diferente al
CheckBox que se pueden seleccionar ambas opciones.

Sus propiedades relevantes son las mismas del CheckBox

Ejemplo :

Añadamos otro formulario al proyecto

-Name del formulario: frmcontrolesboleanos


-Text: Controlesboleanos: CheckBox, RadioButton
EN TIEMPO DE DISEÑO

Añadimos una etiqueta

Name:lblestatus
Text:Estaus

Añadimos dos objetos CheckBox del cuadro de herrameinta en el cual se


seleccionaran el estatus de una persona

Setee el primer checkBox con

Name: chkbactivo
Text: Activo
Appearance: Button
Checked : True

Setee el segundo checkBox con

Name: chkbinactivo
Text: Inactivo
Appearance: Normal
Checked :True

Añadimos otra etiqueta

Name: lblsexo
Text: Sexo

Añadimos dos objetos RadioButton del cuadro de herrameinta en el cual


se seleccionara el sexo de la persona

Setee el primer RadioButton con

Name: rbhombre
Text: Hombre
Appearance: Normal
Checked : True

Setee el segundo RadioButton con


Name: rbmujer
Text: Mujer
Appearance: Button
Checked : False ( recuerde que son excluyentes)

Añadimos un objetos panel del cuadro de herrameinta al formulario


el cual ubicaremos dos RadioButton, donde se seleccionara el estado
de la persona

Name: pnestado
Añadimos una etiqueta dentro del panel y la seteamos

Name: lblestado
Text:Estado

Añadimos los dos RadioButton dentro del panel

Seteamos el primer RadioButton

Name: rbafiliado
Text:Afiliado
Appearance: Normal
Checked : True

Seteamos el segundo RadioButton

Name: rbnoafiliado
Text:No Afiliado
Appearance: Normal

-Añadimos un boton del cuadro herrameinta al formulario

Seteamos este boton


Name: btnbseleccion
Text: Resumen de seleccion

TIEMPO DE EJECUCION

Doble click al boton “Resumen de selección” y escriba

private void btnbseleccion_Click(object sender, EventArgs e)


{
string mensaje = "Rseumen de las Opciones
Seleccionadas:";

// Checkbox
string strestatus;
if (chkbactivo.Checked)
{
strestatus = chkbactivo.Text.ToString();
}
else
{
strestatus = chkbinactivo.Text.ToString();
}
mensaje += "\n";
mensaje += lblestatus.Text.ToString();
mensaje += "\n";
mensaje += strestatus;
// Radio Button
string strsexo;
if (rbhombre.Checked)

strsexo = rbhombre.Text.ToString();
else
strsexo = rbmujer.Text.ToString();
mensaje += "\n";

mensaje += lblsexo.Text.ToString();
mensaje += "\n";
mensaje += strsexo;
// Radio Button del panel
string strestado;
if (rbafiliado.Checked)

strestado = rbafiliado.Text.ToString();
else
strestado = rbnoafiliado.Text.ToString();
mensaje += "\n";

mensaje += lblestado.Text.ToString();
mensaje += "\n";
mensaje += strestado;
MessageBox.Show(mensaje);
}

Añadimos de la barra de herramienta otro boton para cerrar el


formulario y lo seteamos asi:

Name: btnsalir
Text: Salir

Doble click al boton y escribimos

private void btnsalir_Click(object sender, EventArgs e)


{
this.Close();
}

OTRAS LISTAS:

El Objeto NumericUpDown; permite seleccionar entre un rango de


valores numericos.

Sus propiedades relevantes son:

Value
Maximun
Minimun
Incremet
updownAlaign
Value: Devuelve el valor que se ha seleccionado

Maximun: Valor maximo del rengo

Minimun:Valor minimo del rango

Incremet: Incremento entre dos valores consecutivos

UpdownAlaign: especifica que los combos de navegacion aparezcan a la


derecha o a la izquierda del valor

EJEMPLO:
Añadamos otro formulario al proyecto y seteamos sus propiedades:

TIEMPO DE DISENO

-Name del formulario: frmotraslistas


-Text: Otras Listas: NumericUpDown

Añadimos de la barra de herramienta un objeto NumericUpDown al


formulario para seleccionar el ano de nacimiento de la persona entre
un ano minimo y un ano maximo y lo presentamos al usuario en un
mensaje

Añadimos una etiqueta de la barra de herramienta y la seteamos asi:

Name: lblanos
Text: Ano de Nacimiento

Rigth Click al NumericUpDown y seleccionamos propiedades

Name: ndanos
Maximun:50
Minimun:18
Increment:1
UpdownAlaign : Right o Left
Value:20

Añadimos un Boton de la barra de herramienta y la seteamos asi:

Name: btnvervalor
Text: Ver Valor Seleccionado

Añadimos otro Boton para de la barra de herramienta para cerrar el


formulario y la seteamos asi:

Name: btnsalir
Text: Salir

TIEMPO DE EJECUCION

Doble Click al boton “Ver Valor Seleccionado” y escribimos

private void btnvervalor_Click(object sender, EventArgs e)


{
MessageBox.Show("Valor Seleccionado:" + ndanos.Value.ToString());
}

Doble Click al boton “Salir” y escribimos


private void btnsalir_Click(object sender, EventArgs e)
{
this.Close();
}

EL OBJETO WEBBROWSER

Permite mostrar paginas weeb en un formulario de escritorio que


puede venir de internet en formato HTML.

Sus metodos principales son:


Navigate
Goback
Goforward
Stop
Refresh

Funciona de forma identica a un navegador en la weeb

Tambien es util cuando tenemos una aplicación desarrollada en formato


web como por ejemplo en ASP, PHP y queremos hacerla disponible
desde dentro de una aplicación de escritorio pues incluyendo un
WebBrowser podemos lograrlo.

Otra utilidad es utilizar contenidos en formato HTML y mostrarlo desde


nuestro formulario.

Sus metodos:
Navigate; es el metodo que permite que se pueda acceder a la pagina
que se le especifique. Aquí se le debe aportar la URL o la direccion
a la que se quiere acceder o navegar.

Goback; hace regresar una pagina, o sea, una pagina hacia atrás.

Goforward; hace lo contrario al Goback, o sea avanza una pagina,


una pagina adelante.

Stop; significa parar, hace que se detenga la navegacion.

Refresh; refresca o actualiza el contenido.

Ejemplo:

Agreguemos un formulario al proyecto

Name: frmwebbrowser
Text: WebBrowser GOOGLE
Agregamos un control Label, una ToolStrip, un Textbox, un Button y un
control WebBroser al formulario

Configueremos cada uno:

Label:

Name:lbldireccion
Text:Direccion

ToolStrip: Rigth Click a la ToolStrip y properties


Name: toolStrip1

Items:(colection) haga click a los puntos suspesivos y


agregue los items como aprendimos anteriormente, asegurese de setear
para cada uno de los botones, el nombre, el text, el displayStyle
hasta una pantalla similar a esta:
Textbox: Rigth Click al TextBox y properties

Name: txturl

Button: Rigth Click al Button y properties

Name: btnir
Text: Ir
FlatStyle: Popup
Image: seleccione una
UseStyleBackColor: False

WebBroser:
Name: webgoogle
Anchor: Top, Bottom, Left, Right
Url: escribimos la pagina deseada Ej. http:\\www.google.com o
la dejamos en blanco si vamos a especificarla en el TextBox
“Direccion” del formulario

Ahora usted tendra un diseno como este:


TIEMPO DE EJECUCION

Haremos que se cargue por defecto la pagina de google. Para eso


programamos el evento load del formulario.

Doble click al formulario y escribo el siguiente codigo:

private void frmwebbrowser_Load(object sender, EventArgs e)


{
txturl.Text = "http:\\www.google.com";
webgoogle.Navigate("http:\\www.google.com");
}

Doble click al boton “Ir” de la toolStrip y escribo el codigo


siguiente:

private void btnir_Click(object sender, EventArgs e)


{
webgoogle.Navigate(txturl.Text);
}

Doble click al boton “GoBack” de la toolStrip y escribo el codigo


siguiente:

private void tsbgoback_Click(object sender, EventArgs e)


{
webgoogle.GoBack();
}
Doble click al boton “GoForward” de la toolStrip y escribo el
codigo siguiente

private void tsbgoforward_Click(object sender, EventArgs e)


{
webgoogle.GoForward();
}

Doble click al boton “Stop” de la toolStrip y escribo el codigo


siguiente

private void tsbstop_Click(object sender, EventArgs e)


{
webgoogle.Stop();
}

Doble click al boton “Refresh” de la toolStrip y escribo el codigo


siguiente

private void tsbrefrest_Click(object sender, EventArgs e)


{
webgoogle.Refresh();
}

Doble click al boton “Salir” de la toolStrip y escribo el codigo


siguiente

private void tsbsalir_Click(object sender, EventArgs e)


{
this.Close();
}

Ejecute el formulario.
EL ONTROL MENUSTRIP

Sistema de menu
Crear menu
El ToolStripMenuItem
Como anadir mejora a un ToolStripMenuItem
Ocultar y desactivar ToolStripMenuItem
Responder a eventos del menu
Crear menu de contexto con el componente ContextMenuStrip

Un sistema de menu es un conjunto de elementos y subelementos.

El MenuStrip es una barra que por defecto se ancla en la parte


superior (Top) del formulario. Es una clase derivada de la clase
ToolStrip. En esta barra se puede anadir un sistema de menu al
formulario.

Dentro de la barra podemos tener distintos tipos de elementos como


son:
ToolStripMenuItems
ToolStripTextBox
ToolStripComboBox
ToolStripSeparator

Cada elemento de la ToolStripMenuItems puede ser un menu de comando o


un contenedor de otros items de menu.

Como los otros controles tipo Strip , el MenuStrip al agregarlo al


formulario crea un acceso directo en el fondo del formulario.

Como anadir los elementos o items al menu?

Existen dos formas de hacerlo:

Primera forma:

Desde la propiedad items del MenuStrip apaarecen los menues del primer
nivel:

selecciono el primero y en su propiedad Text escribo el nombre


de la opcion y asi sucesivamente.

Para ver los submenu accedemos a su propiedad DropDownItems.


Se veran los elementos que hay en cada menu.

Segunda forma:

Selecciono la opcion
Hacemos click en “Escriba Aquí”
Seleccionamos el tipo de control.

Complemento que se pueden agregar a los ToolStripMenuItems

Se le puede activar una marca de chequeo, o sea, conseguir que una


opcion no lance, ni ejecute ninguna accion sino que simplemente
desactive o active una opcion dentro del formulario. Esto se logra con
la propiedades:
CheckOnClick: True (Tiempo de diseno)
Checked:True (Tiempo de ejecucion)

Se le puede anadir imagen la cual apareceran junto al Item que se ha


seleccionado. Para esto se accede a la propiedad:
Image:
DisplayStyle:

Tambien se puede le puede anadir teclas de atajo, o sea,


combinaciones de teclas individuales que permiten a los usuarios
acceder a los items del menu. Para esto se usa la propiedades:

ShowShorcutKeys: True; activa o no el heho de que se muestre o no


la tecla de atajo

ShortcutKey; es donde se define la tecla de atajo.

Nota: cuando se muestra el ShortcutKey se puede seleccionar


cualquier tecla del combo y en “Modificadores” especifica si va
combinada con las teclas “CTRL”, “SHIFT”, “ALT”, etc.

Tambien el uso del simbolo “&” delante de la letra para marcar la


letra que sirve de atajo

Otra funcionalidad que se le puede dar a los menues es ocultar y


desactivar ToolStripMenuItems para uno u otro usuario. Para esto se
emplean las propiedades:

Enabled: true o false


Visible: true o false

Estas propiedades se suelen manejar en tiempo de ejecucion en virtud


del usuario.

RESPONDER A LOS EVENTOS DEL MENU

Primera forma:
Seleccionar la opcion del menu.
Click en el explorador de soluciones al botol de eventos
Click al evento click

Segunda forma:
Doble click a la opcion del menu

CONTROL CUADRO DE DIALOGOS

QUE ES UN CUADRO DE DIALOGO. CUAL ES SU IMPORTANCIA Y FUNCIONALIDAD.

Es un control util para establecer una interaccion un tanto compleja


con el usuario, donde se le pide al usuario que acepte o no
determinada opcion .

En definitiva, estos son formularios que una vez cerrado y habiendo


el usuario aceptado o no la opcion nos proporciona la respuesta en la
variable DialogResult.

Entre los cuadros de dialogos tenemos:


1. MessageBox();

Formato de sintaxis

MessageBox(“ Mensaje a presentar en el cuadro”, ”titulo o texto ue


aparecera en la barra azul del cuadro o ventana” , botones que
presentaremos al usuario)

EJEMPLO:

private void btnmessagebox_Click(object sender, EventArgs e)


{
DialogResult respuesta = MessageBox.Show("Se va a Eliminar un Registro -" + "\n" +
"Desea Continuar", "Eliminar Registro", MessageBoxButtons.YesNo);

if (respuesta == DialogResult.Yes)
{
MessageBox.Show(" Se ha Eliminado el Registro");
}

CREAR UN CUADRO DE DIALOGOS PERSONALIZADO.

Paso 1:

a)Agregar un formulario comun al proyecto, pero se usara


especificamente para funcionar como un cuadro de dialogo.

Name: frmdialogopersonalizadosalida
Text: Dialogo Personalizado para abandonar la Aplicacion

b)Agregue una Etiqueta:


Name: lblabandonar
Text: ¿Desea Realmente Abandonar la Aplicacion?
AutoSize:False
Font:14
Anchor: Top, Bottom, Left, Right
BackColor: HotTrack

c)Agregue dos botones:


Name: btnabandonar
Text: Abandonar

Name: btnvolver
Text: Volover

Paso 2: Establecer la propiedad FormBorderStyle del formulario a


FixeDialog

Paso 3: Establecer la propiedades ControlBox, MaximizedBox y


MinimizedBox a false

Paso 4: Establecer las propiedades AcceptButton(Enter) y


CanelButton(Esc).
Paso 5: Establecer la propiedad DialogResult para los botones que
cierren el cuadro de dialogo
a-Seleccione el boton “Abandonar” y en su propiedad
DialogResult:Ok

b-Seleccione el boton “Volver” y en su propiedad


DialogResult:Cancel

Paso 6: ejemplo - Programar el evento “FormClosing” del formulario


frminicio para que se active el cuadro de dialogo que hemos preparados
siempre que se intente salir del formulario.

-Rigth Click al formulario y properties


-Seleccione el boton de eventos
-Doble click al evento “FormClosing” y escriba el siguiente codigo:

private void frminicio_FormClosing(object sender, FormClosingEventArgs e)


{
frmdialogopersonalizadosalida frm = new frmdialogopersonalizadosalida();
DialogResult respuesta = frm.ShowDialog();
if (respuesta == DialogResult.Cancel)
e.Cancel = true;
}

También podría gustarte