Una de winforms.
Ante la inexistencia de una propiedad ReadOnly en el ComboBox, análoga al del TextBox, la única solución para bloquear la entrada de un usuario en un combo es usar el enabled=false, lo que provoca efectivamente que el control no admita entradas pero que tampoco admita ser leído con claridad. Que al ponerse gris no se ve una mierda, vaya.
Pues nada, a montarse una pajilla mental de cómo simular el ReadOnly del TextBox en un ComboBox:
Private Sub proteger()
ComboBox1.DropDownStyle = ComboBoxStyle.Simple
AddHandler ComboBox1.KeyDown, AddressOf Me.DesactivarTeclas
End Sub
Private Sub desproteger()
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
RemoveHandler ComboBox1.KeyDown, AddressOf Me.DesactivarTeclas
End Sub
Private Sub DesactivarTeclas(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs)
e.SuppressKeyPress = True
End Sub
Cuidado si en el formulario hay eventos asociados a la pulsación de teclas, caso en el que habría que personalizar la aplicación del suppressKeyPress en el procedimiento DesactivarTeclas.
2 comentarios:
muy bueno hace rato que anda buscando algo asi para los combobox .... gracias...
Perfecto!
Muchas gracias!!
Publicar un comentario