ComboBox (propiedad Style)
Hola!!!
Tengo un formulario, en el que entre otros controles, existen 3 comboBox destinados a guardar el dia, mes y año de una fecha(respectivamente). Si los creo en tiempo de diseño con su propiedad Style=2 no puedo escribir en ellos los campos que extraigo de la base de datos, y si el valor de la propiedad es 0 si permite escribir en ellos y tambien modificar a mano su valor. Ademas, si intento modificar el valor de esta propiedad en tiempo de ejecucion me da error. Mi pregunta es, hay alguna manera de hacer que el usuario no pueda modificar estos valores escribiendo datos en el combo? (es decir, hay alguna manera de establecer el valor de Style a 2 en algun momento).
Espero que entiendan la pregunta.
Gracias anticipadas.
Tengo un formulario, en el que entre otros controles, existen 3 comboBox destinados a guardar el dia, mes y año de una fecha(respectivamente). Si los creo en tiempo de diseño con su propiedad Style=2 no puedo escribir en ellos los campos que extraigo de la base de datos, y si el valor de la propiedad es 0 si permite escribir en ellos y tambien modificar a mano su valor. Ademas, si intento modificar el valor de esta propiedad en tiempo de ejecucion me da error. Mi pregunta es, hay alguna manera de hacer que el usuario no pueda modificar estos valores escribiendo datos en el combo? (es decir, hay alguna manera de establecer el valor de Style a 2 en algun momento).
Espero que entiendan la pregunta.
Gracias anticipadas.
La propiedad Style se utiliza durante la creación del combo cuando se llama a la función API CreateWindowEx. De ahí que dicha propiedad sea de sólo lectura en tiempo de ejecución.
En cuanto a los combos: Cambie la propiedad Locked de los combos a True. Esto evita que el usuario pueda escribir en ellos. Sin embargo, esto también evita que el usuario pueda escoger alguna opción de la lista desplegable. Por lo tanto, el uso del combo pierde su significado, y bien podría cambiarlo por un textbox con Locked en True, o una etiqueta.
Si desea usar un combo con lista desplegable y estilo 2, debe deshacerse del data control y programar todo usted mismo(a). Esto es mucho más complicado, pero también permite un mejor control sobre lo que se hace. Esta es la forma en que yo lo hago todo el tiempo porque DETESTO el data control.
Ahora bien, dependiendo de la versión de VB que use, podría usar los controles de lista especializados para usarse con el Data Control. Presione Ctrl+T y busque en la lista algo como Microsoft Data Bound List Controls. Eso le dará combos y listboxes que pueden ser usados como usted lo desea. Esto, por supuesto, agrega una dependencia más a su proyecto, y por lo tanto el paquete instalador será más grande.
En cuanto a los combos: Cambie la propiedad Locked de los combos a True. Esto evita que el usuario pueda escribir en ellos. Sin embargo, esto también evita que el usuario pueda escoger alguna opción de la lista desplegable. Por lo tanto, el uso del combo pierde su significado, y bien podría cambiarlo por un textbox con Locked en True, o una etiqueta.
Si desea usar un combo con lista desplegable y estilo 2, debe deshacerse del data control y programar todo usted mismo(a). Esto es mucho más complicado, pero también permite un mejor control sobre lo que se hace. Esta es la forma en que yo lo hago todo el tiempo porque DETESTO el data control.
Ahora bien, dependiendo de la versión de VB que use, podría usar los controles de lista especializados para usarse con el Data Control. Presione Ctrl+T y busque en la lista algo como Microsoft Data Bound List Controls. Eso le dará combos y listboxes que pueden ser usados como usted lo desea. Esto, por supuesto, agrega una dependencia más a su proyecto, y por lo tanto el paquete instalador será más grande.
