none
Centrado iconos en tiempo de ejecución [Solucionado] RRS feed

  • Pregunta

  • Buenas tardes

    Tengo una aplicación que genera iconos en tiempo de ejecución, en total 7 iconos, estos iconos estan centrados en el centro de la pantalla de derecha a izquierda y, con una pantalla no panorámica la aplicación funciona de mil maravillas, si quito un icono de los 7, los 6 restantes se quedan centrados en la pagina empezando desde el centro hacia los lados, nunca se quedan a la derecha o a la izquierda.

    El problema, es que he cambiado de pantalla por una de 24'' y la aplicación se ha desmadrado poniendo los 7 iconos en el lado izquierdo de la pantalla, no los ordena como en la pantalla de 17', que es lo que está haciendo que todo se vaya de madre?. Os paso el código que hace que centre los iconos en tiempo de ejecución. Por favor haber si entre todos podemos dar con el fallo, yo no se que hacer mas hace tiempo que no programo y ando muy perdido en algunas cosas.

    ' Aquí centra los textos en tiempo de ejecución                

    Public Sub Centratext()
            Select Case Posiciona
                Case Is = 1
                    PosicionaT = 1301
                Case Is = 2
                    PosicionaT = 1264
                Case Is = 3
                    PosicionaT = 1084
                Case Is = 4
                    PosicionaT = 904
                Case Is = 5
                    PosicionaT = 724
                Case Is = 6
                    PosicionaT = 544
                Case Is = 7
                    PosicionaT = 364
                Case Is = 8
                    PosicionaT = 184
                Case Is = 9
                    PosicionaT = 4
                Case Else

            End Select
        End Sub

    ' Aqui centra los iconos  en tiempo de ejecución

        Public Sub Centrar(ByVal Objeto As Object)
            Select Posiciona
                Case Is = 1
                    Posicionar = 1301
                Case Is = 2
                    Posicionar = 1264
                Case Is = 3
                    Posicionar = 1084
                Case Is = 4
                    Posicionar = 904
                Case Is = 5
                    Posicionar = 724
                Case Is = 6
                    Posicionar = 544
                Case Is = 7
                    Posicionar = 364
                Case Is = 8
                    Posicionar = 184
                Case Is = 9
                    Posicionar = 4
                Case Else
            End Select


            If TypeOf Objeto Is Form Then

                Dim frm As Form = CType(Objeto, Form)

                With Screen.PrimaryScreen.WorkingArea
                    frm.Top = (.Height - frm.Height) \ 2
                    frm.Left = (.Width - frm.Width) \ 2
                End With
            Else

                Dim IconText As Control = CType(Objeto, Control)

                With IconText
                    .Top = (.Parent.ClientSize.Height - IconText.Height) \ 2
                    .Left = (.Parent.ClientSize.Width - IconText.Width) \ 2 * (Mid(PuntoImg, InStrRev(PuntoImg, ",") + 1)) Or (Val(PuntoImg)) + Posicionar
                End With

            End If

        End Sub


    • Cambiado Enrique M. Montejo martes, 24 de enero de 2017 12:26 Pregunta relacionada con Windows Forms.
    • Editado Andiamos jueves, 16 de febrero de 2017 18:01
    sábado, 21 de enero de 2017 18:50