none
¿Por qué no se centran bien los textos en el formulario con este código? RRS feed

  • Pregunta

  • Tengo 7 textos y una imagen que los centro así,:

    For nI = 1 To 7
       Controls("etiTexto" & nI).Left = CInt((Width - Controls("etiTexto" & nI).Width) / 2)
    Next

    La imagen:

    imaLogo.Left = CInt((Width - imaLogo.Width)/2)

    -------------------

    Y esta sí queda perfectamente centrada pero los textos no.

    Si les resto 10 píxeles quedan centrados pero ese no es el chiste porque si corro el programa desde otro equipo puede que se descuadre. ¿Cómo lo puedo solucionar?


    • Editado James-2016 jueves, 28 de abril de 2016 11:29
    jueves, 28 de abril de 2016 11:28

Respuestas

  • Porque estás usando la propiedad incorrecta. Debes usar el Width de la propiedad ClientSize del control o form, en lugar de la propiedad Width de los mismos.
    • Editado walter_5 jueves, 28 de abril de 2016 13:50
    • Marcado como respuesta James-2016 jueves, 28 de abril de 2016 20:53
    jueves, 28 de abril de 2016 13:49

Todas las respuestas

  • hola

    recomendaria uses el controles como ser el

    para ubicar los controles y mantener una distribucion ordenada

    podrias ubicar los textbox en celdas de la tabla para que esten distribuidos de forma pareja

    puedes agregar filas y columnas dinamicamente en el tablelayoutpanel si lo necesitas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 28 de abril de 2016 11:39
  • Porque estás usando la propiedad incorrecta. Debes usar el Width de la propiedad ClientSize del control o form, en lugar de la propiedad Width de los mismos.
    • Editado walter_5 jueves, 28 de abril de 2016 13:50
    • Marcado como respuesta James-2016 jueves, 28 de abril de 2016 20:53
    jueves, 28 de abril de 2016 13:49
  • Gracias, efectivamente estasba usando la propiedad incorrecta, probé con ClientSize y funcionó, se centraron perfectamente. A veces la herencia de VB6 no ayuda mucho jeje

    Gracias también a Leandro, el control TablePanelLayout es una buena alternativa para organizar controles.


    • Editado James-2016 jueves, 28 de abril de 2016 20:54
    jueves, 28 de abril de 2016 20:53