Muchas gracias de antemano por la atención que prestan a mi problema. Hace ya algún tiempo, cuando yo programaba en visual basic 6, yo tenía la siguiente función, de la cual muestro la parte más significativa para resolver mi duda:
With vRecordset
If .State = adStateOpen Then .Close
.Source = "SELECT * FROM mPermisos WHERE Tipo= " & _
Chr(39) & vTipoUsuario & Chr(39) & " AND Formulario= " & _
Chr(39) & vForm & Chr(39)
.Open
For i = 1 To .RecordCount
VName = .Fields("Objeto")
vValor = .Fields("Valor")
For Each vObjeto In rControl
If vObjeto.Name = VName Then
vObjeto.Visible = vValor
End If
Next
.MoveNext
Next i
End With
En esa función lo que yo hacía era buscar en una base de datos los valores que debían tener los contrales de un formulario determinado según el usuario del sistema que se hubiera logeado. De manera que al ingresar a un formulario, en el Load yo cargaba la función y en la base de datos yo tenía asignado a cada control si debía estar visible o no, dependiendo del tipo de usuario. Por ejemplo, la linea vObjeto.Visible = vValor, se convertiría en: btnGuardar.Visible = False y efectivamente me la iba a poner invisible.
He tratado de hacer ésto mismo en C# pero no logro tener éxito después de muchos intentos. O sea, leer los valores de cada control que yo tengo almacenados en una base de datos, todos ellos de tipo string, y luego según el formulario que el usuario accese, poner visible o invisible esos controles. Agradecería la ayuda, espero haber sido bien claro.