Visual Basic.NET - bloquear controles

 
Vista:

bloquear controles

Publicado por Racsus (68 intervenciones) el 20/01/2004 17:23:31
Hola

tengo un formulario con textbox y otros controles enlazados a datos. Mediante el siguiente codigo bloqueo todos los controles:

Dim b As Binding
Me.BindingManager = Me.ParentForm.BindingContext(dvw_botonera)
Me.Bindings = Me.BindingManager.Bindings

For Each b In BindingManager.Bindings
If Not b.Control Is Me.ParentForm Then
b.Control.Enabled = valor
'b.Control.ReadOnly = valor
End If
Next

Pero como puedo hacer para bloquear los textbox mediante la propiedad ReadOnly y no la enabled? intento utilizarla a traves de:
b.control.REadOnly, pero me da error.

como lo hago?

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 153
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

RE:bloquear controles

Publicado por Yamil Bracho (631 intervenciones) el 20/01/2004 19:17:50
Simplemente pregunta si el control es un TextBox usando Is. El codigo te quedaria como :

For Each b In BindingManager.Bindings
If Not b.Control Is Me.ParentForm Then
if b.Control Is TextBox Then
b.Control.ReadOnly = valor
Else
b.Control.Enabled = valor
End If
End If
Next

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:bloquear controles

Publicado por Daniel Rivera (13 intervenciones) el 20/01/2004 19:46:38
el objeto 'Control' no tiene la propiedad "ReadOnly" por eso es que marca error; el codigo que propone yamil cae en lo mismo por lo tanto genera error.
Yo probe con el siguiente codigo y si me funciono, espero te sirva:

Dim Control As Control
For Each Control In Me.Controls
If TypeOf (Control) Is TextBox Then
Dim txb As TextBox
txb = CType(Control, TextBox)
txb.ReadOnly = True
End If
Next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:bloquear controles

Publicado por Uninauta (15 intervenciones) el 21/01/2004 19:20:10
En mi caso me dio el mismo error aunque si lo ignoraba y ejecutaba igual no tenia ningun problema. Probablemente la solucion seria utilizar control para poder determinar que tipo de control es y declarar el control dentro de, por ejemplo, un bloque select:

select case control

case is textbox
dim t as new textbox

case is combobox
dim t as new combobox

etc. y utilizar este segundo objeto para trabajar... aunque reconozco que no es una solucion elegante, en estos momentos no se me ocurre otra. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:bloquear controles

Publicado por jorge diaz (27 intervenciones) el 27/01/2004 14:34:16
una solucion a la solución de Uninauta seria la siguiente

1 crear un array de objetos

dim pcontrol as object=me.controls

recorres pcontrol

for i=0 to pcontrol.count-1
if typeof(pcontrol(i)) is textbox then
pcontrol(i).text=\"esto es una caja de texto\"
end if

if typeof(pcontrol(i)) is radiobutton then
pcontrol(i).checked=true
end if

........
next

esto lo he utilizado en un componente y funciona a las mil maravillas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar