You are on page 1of 8

Es posible agregar elementos a cuadros combinados, cuadros de lista y cuadros de lista

con marcas de verificacin de formularios Windows Forms de varias maneras, puesto


que estos controles pueden enlazarse con distintos orgenes de datos. Sin embargo,
este tema muestra el mtodo ms sencillo y no necesita ningn enlace de datos. Los
elementos que se muestra suelen ser cadenas, aunque puede utilizarse cualquier tipo
de objeto. El texto que se muestra en el control es el valor que devuelve el
mtodo ToString del objeto.

Para agregar elementos


1. Agregue la cadena u objeto a la lista mediante el mtodo Add de la
clase ObjectCollection. Se hace referencia a la coleccin mediante la
propiedad Items :
ComboBox1.Items.Add("Tokyo")
O bien
2. Inserte la cadena o el objeto en el punto que desee de la lista por medio del
mtodo Insert :
CheckedListBox1.Items.Insert(0, "Copenhagen")
O bien
3. Asigne una matriz completa a la coleccin Items :
Dim ItemObject(9) As System.Object
Dim i As Integer
For i = 0 To 9
ItemObject(i) = "Item" & i
Next i
ListBox1.Items.AddRange(ItemObject)

Para quitar un elemento


1. Llame al mtodo Remove o RemoveAt para eliminar elementos.
Remove tiene un argumento que especifica el elemento que se va a
quitar. RemoveAt quita el elemento con el nmero de ndice especificado.
' To remove item with index 0:
ComboBox1.Items.RemoveAt(0)
' To remove currently selected item:
ComboBox1.Items.Remove(ComboBox1.SelectedItem)
' To remove "Tokyo" item:
ComboBox1.Items.Remove("Tokyo")

Para quitar todos los elementos


1. Llame al mtodo Clear para quitar todos los elementos de la coleccin:

ListBox1.Items.Clear()

Cmo: Agregar y borrar


elementos en un control
ListBox
Actualizacin: noviembre 2007
En este ejemplo se agrega el contenido de un control TextBox de formularios Windows
Forms a un control ListBox cuando haga clic en button1, y borra el contenido cuando
haga clic en button2.

Ejemplo
private void button1_Click(object sender, System.EventArgs e)
{
listBox1.Items.Add("Sally");
listBox1.Items.Add("Craig");
}
private void button2_Click(object sender, System.EventArgs e)
{
listBox1.Items.Clear();
}

Valores no repetidos
if (listBox1.Items.Contains(textBox1.Text))
{
MessageBox.Show("Duplicado");
}
else
{
Colocar el cdigo en el formulario:

listBox1.Items.Add(textBox1.Text);
Private Sub Command1_Click()
If Text1 = "" Then
MsgBox "Debe ingresar un nombre para poder agregar un elemento",
vbQuestion + vbOKOnly, "Datos incompletos"
'Salimos de la rutina ya que no se ha ingresado nada en el control
text1
Exit Sub
End If
'Agregamos el contenido del Text1 en el control List1
List1.AddItem Text1
End Sub
Private Sub Command2_Click()
'Si la lista no est vaca entonces podemos eliminar
If List1.ListIndex <> -1 Then
'Eliminamos el elemento que se encuentra seleccionado
List1.RemoveItem List1.ListIndex
End If

Intntelo.
Para recuperar una fecha y mostrarla en una etiqueta
1. En el men Archivo, haga clic en Nuevo proyecto.
Aparecer el cuadro de dilogo Nuevo proyecto.
2. Haga clic en Aplicacin de Windows Forms y, a continuacin, en Aceptar.
3. Agregue un control Label al formulario, dejando el nombre
predeterminado Label1.
4. Quite el texto de la propiedad Text del control Label.
5. Agregue un control MonthCalendar al formulario, dejando el nombre
predeterminado MonthCalendar1.
6. Haga doble clic en el control MonthCalendar para incluir el controlador de
eventos predeterminado en el Editor de cdigo.
7. En el controlador del evento MonthCalendar1_DateChanged, agregue el
siguiente cdigo para agregar elementos a la lista.
VB
Me.Label1.Text = CStr(Me.MonthCalendar1.SelectionRange.Start)

8. Vuelva a la vista de diseador y agregue un control DateTimePicker al


formulario, dejando el nombre predeterminado DateTimePicker1.
9. Haga doble clic en el control DateTimePicker para incluir el controlador de
eventos predeterminado en el Editor de cdigo.
10. En el controlador del evento DateTimePicker_ValueChanged, agregue el
siguiente cdigo para agregar elementos a la lista.

VB
Me.Label1.Text = CStr(Me.DateTimePicker1.Value)

11. Presione F5 para ejecutar el programa.


12. Cuando aparezca el formulario, haga clic en una fecha en el
control MonthCalendar y compruebe que la fecha se muestra en la etiqueta.
13. Haga clic en la flecha de lista desplegable del control DateTimePicker y
seleccione una fecha.
Se mostrarn la fecha y la hora en la etiqueta.
14. Cierre el programa.

Recuperar varias fechas


Puede recuperar un intervalo de fechas seleccionadas en un
control MonthCalendar mediante las propiedades Start y End de SelectionRange. De
forma predeterminada, el nmero mximo de das que se pueden seleccionar es siete,
pero puede cambiar este valor estableciendo la propiedad MaxSelectionCount. Puede
determinar si un intervalo est seleccionado comprobando si la fecha de inicio y de
finalizacin son iguales.

Para recuperar un intervalo de fechas de un control de calendario


mensual
1. Cambie el cdigo en el controlador del
evento MonthCalendar1_DateChanged por el cdigo siguiente. Este cdigo
establece el nmero mximo de das (dos semanas) que se pueden seleccionar
en el control. Muestra la fecha de inicio en la etiqueta si solamente se ha
seleccionado un da, pero muestra un intervalo de fechas cuando se ha
seleccionado un intervalo en el control MonthCalendar.
VB
Me.MonthCalendar1.MaxSelectionCount = 14
If Me.MonthCalendar1.SelectionRange.Start = _
Me.MonthCalendar1.SelectionRange.End Then
Me.Label1.Text = CStr(Me.MonthCalendar1.SelectionStart)
Else

Me.Label1.Text = Me.MonthCalendar1.SelectionRange.Start & _


" - " & Me.MonthCalendar1.SelectionRange.End
End If

2. Presione F5 para ejecutar el programa.


3. Cuando aparezca el formulario, seleccione un intervalo de fechas en el
control MonthCalendar y compruebe que el intervalo de fechas aparece en la
etiqueta.
4. Cierre el programa.

Aplicar formato a fechas


Puede aplicar formato a las fechas devueltas por el control MonthCalendar y el
control DateTimePicker mediante la funcin de FormatDateTime. Puede usar varias
constantes para indicar el formato de la fecha:

Ejemplo (basado en la
configuracin regional
predeterminada de
ingls de Estados
Unidos)

Constante

Descripcin

DateFormat.GeneralDat
e

Muestra una fecha, una hora o


ambas. Si hay una fecha, se
muestra con formato de fecha
corta. Si hay una hora, se muestra
con formato de hora larga. De
estar presentes, se mostrarn
ambas partes.

22/11/1963 12:00:00
p.m.

DateFormat.LongDate

Muestra una fecha con el formato


de fecha larga especificado en la
configuracin regional del
equipo.

Viernes, 22 de
noviembre, 1963

DateFormat.ShortDate

Muestra una fecha con el formato


de fecha corta especificado en la
configuracin regional del
equipo.

11/22/1963

DateFormat.LongTime

Muestra una hora con el formato


de hora larga especificado en la
configuracin regional del
equipo.

12:00:00 p.m.

DateFormat.ShortTime

Muestra una hora con el formato


de 24 horas (hh:mm).

12:00

Para aplicar formato a la fecha en la etiqueta


1. Cambie el cdigo en el controlador del
evento MonthCalendar1_DateChanged por el cdigo siguiente. Este cdigo
aplica formato a la fecha devuelta como fecha larga.
VB
Me.MonthCalendar1.MaxSelectionCount = 14
If Me.MonthCalendar1.SelectionRange.Start = _
Me.MonthCalendar1.SelectionRange.End Then
Me.Label1.Text = FormatDateTime( _
Me.MonthCalendar1.SelectionStart, _
DateFormat.LongDate)
Else

Me.Label1.Text = FormatDateTime( _
Me.MonthCalendar1.SelectionRange.Start, _
DateFormat.LongDate) & " - " & FormatDateTime( _
Me.MonthCalendar1.SelectionRange.End, DateFormat.LongDate)
End If

2. Cambie el cdigo en el controlador del evento DatePicker1_ValueChanged por el


cdigo siguiente. Este cdigo aplica formato a la fecha devuelta como fecha
larga.
VB

Me.Label1.Text = FormatDateTime(Me.DateTimePicker1.Value, _
DateFormat.LongDate)

3. Presione F5 para ejecutar el programa.


4. Cuando aparezca el formulario, haga clic en una fecha o en un intervalo de
fechas en el control MonthCalendar. Compruebe que la fecha o el intervalo de
fechas aparece en la etiqueta con formato de fecha larga.
5. Haga clic en una fecha en el control DateTimePicker y compruebe que la fecha
aparece en la etiqueta con formato de fecha larga.
6. Cierre el programa.

Pasos siguientes
En esta leccin aprendi a recuperar las fechas seleccionadas en los
controles MonthCalendar y DateTimePicker, y a mostrarlas en un formulario Windows
Forms. Tambin aprendi a mostrar un intervalo de fechas y a aplicar formato a las
fechas recuperadas. En la siguiente leccin aprender a usar los controles de datos.

Timer tiempo real


Datetime.now.tostring()

You might also like