como saber si un objeto es un listbox o un checkbox

01/06/2005 - 16:41 por sergiño | Informe spam
tengo un bucle que recorre todos los controles que posee un panel. el caso es
que son 5 checkbox y un listview, el bucle para recorre el panes es este.

For Each chk As Object In Me.PanelPrioridad.Controls
'quiero haga lo de abajo solo si es un checkbox.
dim s as string = chk.Text
dsc.tables(tconfiguracion).rows(0)(s) = chk.Checked
Next
he probado con el IS con el Equal pero no encontrar la manera de distinguir
un objeto por codigo.
Espero haberme explicado bien, en el fondo solo quiero saber si existe
alguna manera de preguntar a un objeto, que de que tipo de clase proviene.

Preguntas similare

Leer las respuestas

#1 Valdov
01/06/2005 - 16:53 | Informe spam
Const strTextbox As String = "System.Windows.Forms.TextBox"

Const strCombobox As String = "System.Windows.Forms.ComboBox"

Const strLabel As String = "System.Windows.Forms.Label"

Const strPanel As String = "System.Windows.Forms.Panel"

Const strRadioButton As String = "System.Windows.Forms.RadioButton"

Const strButton As String = "System.Windows.Forms.Button"

Const strDateTimePicker As String = "System.Windows.Forms.DateTimePicker"

Const strCheckBox As String = "System.Windows.Forms.CheckBox"

Const strListBox As String = "System.Windows.Forms.ListBox"



Friend Sub Controles(ByVal objContenedor As Object)

Dim intI As Long

Try

For intI = 0 To objContenedor.Controls.Count - 1

Select Case
objContenedor.Controls.Item(intI).GetType.ToString

Case strTextbox

msgbox ("Soy un Texbox")

Case strCombobox

msgbox ("Soy un combo")

Case strDateTimePicker

msgbox("Soy un Date Time Picker")

Case strButton

msgbox ("Soy un Boton")

Case strCheckBox

msgbox("Soy un CheckBox")

Case strListBox

msgbox("Soy un ListBox")

Case strPanel

Call Controles(objContenedor.Controls.Item(intI))

End Select

Next

Catch Ex As Exception

MsgBox(Ex.Message, MsgBoxStyle.Exclamation + MsgBoxStyle.OKOnly,
Ex.Source)

End Try

End Sub


Valdov
Id Msn Messenger:




"sergiño" escribió en el mensaje
news:
Mostrar la cita
#2 Joan Ibáñez
01/06/2005 - 17:04 | Informe spam
Tambien puedes probar con TypeOf.

Saludos,
Joan

"Valdov" escribió en el mensaje
news:
Mostrar la cita
MsgBoxStyle.OKOnly,
Mostrar la cita
caso
Mostrar la cita
este.
Mostrar la cita
proviene.
Mostrar la cita
#3 sergiño
01/06/2005 - 17:20 | Informe spam
Gracias por vuestras constestaciones.
he usado el GetType, y funciona de maravilla, el typeof no se como funciona,
pero le echare un vistazo, gracias por todo.

For Each chk As object In Me.PanelEstado.Controls
dim ck as new CheckBox
'If chk.tostring = ck.tostring Then
if chk.GetType is ck.GetType then
dim s as string = chk.Text
dsc.tables(tconfiguracion).rows(0)(s) = chk.Checked
end if
Next
#4 Eduardo A. Morcillo [MS MVP VB]
01/06/2005 - 20:47 | Informe spam
Con TypeOf:

For Each ctl As object In Me.PanelEstado.Controls

If TypeOf ctl Is CheckBox Then

' Es un CheckBox

End If

Next

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
#5 Tristan
02/06/2005 - 00:36 | Informe spam
En efecto. TypeOf además tiene la ventaja de que incluye los tipos derivados
de CheckBox.

Juan Carlos Badiola
MVP - C#
Ads by Google
Search Busqueda sugerida