none
Apariencia en formulario de aplicación visual basic. RRS feed

  • Pregunta

  • Buenos días, 

    Estoy realizando una aplicación con visual basic 2015. 

    Mi pregunta es: 

    ¿Cuando creo el ejecutable, según la versión del ordenador en el que se instale, los objetos como botones, textbox... tiene una apariencia diferente. 

    Yo trabajo con windows 10, cuando la instalo en un ordenador que utiliza el 7, cambia. 

    ¿Se puede poner que siempre tenga la apariencia que aparece en la versión 7 de windows?

    Gracias de antemano. 

    Un saludo.

    sábado, 1 de abril de 2017 8:27

Respuestas

  • Eso es más problemático. Las opciones que tiene la infraestructura de WinForms son 1) delegar en Windows la creación de los controles y la Croma, y entonces se crean como estén definidos en la versión de Windows que estés ejecutando, o bien 2) Usar una versión "fija" que viene programada de fábrica, y que tiene ese estilo que dices "de programa antiguo". Pero no viene incorporada una librería todos los estilos de todas las versiones de Windows para que puedas elegir el que más te guste. O usas el que viene incorporado (y entonces es siempre el mismo independientemente de la versión de Windows), o dejas que lo pinte Windows y entonces sale el de la versión bajo la que ruedas. La alternativa es que definas tus propios controles de usuario, y los pintes por programación como te gusten, o que compres una librería de terceros (en general son de pago) y uses los controles de la librería.
    • Marcado como respuesta Damuoza sábado, 1 de abril de 2017 17:38
    sábado, 1 de abril de 2017 17:16

Todas las respuestas

  • Prueba a poner

        Application.EnableVisualStyles()

    O a quitarlo si está puesto. Una de las dos variantes hace que se usen los estilos "antiguos" y otra los "modernos", aunque ahora mismo no recuerdo cuál es cuál.

    sábado, 1 de abril de 2017 12:06
  • Buenas, 

    Ya he probado eso, lo he puesto al principio en el load del formulario. Pero me sigue apareciendo igual que estaba.

    Yo trabajo con windows 10 y quiero que se vea como en windows 7. 

    Gracias por la ayuda. 

    Un saludo.

    sábado, 1 de abril de 2017 13:46
  • Tiene pinta de que lo que necesitas es lo contrario, es decir, que tu aplicación NO llame a EnableVisualStyles. Si fuese un programa en C#, te diría que te fueras al método Main y suprimieras ahí el EnableVisualStyles. Pero en VB.Net no tienes el Sub Main a no ser que hayas desactivado la opción de "Enable Application Framework". Si está habilitada, creo que el equivalente a deshabilitar el EnableVisualStyles es marcar (¿o desmarcar?) la casilla "Enable XP Visual Styles". Está en la pestaña "Application" en las Propiedades del Proyecto.
    sábado, 1 de abril de 2017 15:05
  • Buenas, 

    Pero lo que yo quiero es que se quede con la apariencia que le da el windows 7 y cuando quito esa opción que me comentas "Enable XP Visual Styles", aparece cambiada pero como si fuera un programa antiguo puede de versión XP. 

    Un saludo.

    sábado, 1 de abril de 2017 16:38
  • Eso es más problemático. Las opciones que tiene la infraestructura de WinForms son 1) delegar en Windows la creación de los controles y la Croma, y entonces se crean como estén definidos en la versión de Windows que estés ejecutando, o bien 2) Usar una versión "fija" que viene programada de fábrica, y que tiene ese estilo que dices "de programa antiguo". Pero no viene incorporada una librería todos los estilos de todas las versiones de Windows para que puedas elegir el que más te guste. O usas el que viene incorporado (y entonces es siempre el mismo independientemente de la versión de Windows), o dejas que lo pinte Windows y entonces sale el de la versión bajo la que ruedas. La alternativa es que definas tus propios controles de usuario, y los pintes por programación como te gusten, o que compres una librería de terceros (en general son de pago) y uses los controles de la librería.
    • Marcado como respuesta Damuoza sábado, 1 de abril de 2017 17:38
    sábado, 1 de abril de 2017 17:16
  • Muy curioso antes tenia windows 10 y ahora estoy en windows7 mis aplicaciones no tiene ningun problema respecto a eso a menos que este utilzando el tema básico de windows7 y si lo llevas a windows xp imagino cambiara el aspecto pero seria algo normal porque estan en su misma forma de entorno a la que el usuario acostumbra trabajar.

    Es como decir que lo ejecutes en windows 3.1 y le pretendas poner la apariencia de windows7 O.o


    sábado, 1 de abril de 2017 17:25
  • Vale, pues entonces lo dejo para que se cambie solo y listo. 

    Gracias por tu aclaración.

    Un saludo.

    sábado, 1 de abril de 2017 17:37