none
Resize de DatagridView al cambiar de resolución de pantalla RRS feed

  • Pregunta

  • Hola a todos:

    Estoy usando un control de SoftGroup para hacer el rezize de los controles al cambiar las resolución.

    Tengo un problema con los DatagridView ya que querría que el DatagridView tuviera la misma altura del control cuando cambio de resolución. La resolución hace que el control DatagridView quede cortado en por ejemplo 1/3 de su tamaño original, solo pasa con la altura, ya que las rows y las columnas están perfectamente ajustadas. No se qué "fórmula" podría utilizar para que me respecte la proporción de la altura del control. Ese es el único problema. En todos los controles lo hace correctamente menos con los datagridview que tienen mas filas que las que se ven en el control.

    Muchas gracias a todos.

    Gemma

    jueves, 5 de noviembre de 2015 9:12

Respuestas

  • Bueno doy por cerrado el hilo.

    La solución que estoy aplicando es conocer la resolución en máquina del cliente y aplicar una regla de tres a la resolución que estoy utilizando actualmente.

    Un cordial saludo.

    Gemma

    • Marcado como respuesta gemma_campillo domingo, 8 de noviembre de 2015 9:25
    domingo, 8 de noviembre de 2015 9:25

Todas las respuestas

  • ¿No puedes usar la propiedad Anchor para "anclarlo" al tamaño del formulario?

    Saludos, Javier J

    jueves, 5 de noviembre de 2015 10:46
  • Hola Javier:

    Si, la he utilizado pero no porqué historias no me hace caso. Por un lado muestro el datagridview y por otro lado muestro sus propiedades (lleva muchas, colores, anchos, visibles, etc.) y al final de las propiedades le pongo

    Private Sub PropiedadesDataGridView()
            Dim a As Reflection.Assembly = Reflection.Assembly.GetExecutingAssembly
            Dim rm As New Resources.ResourceManager(a.GetName.Name & ".Textos", a)
    
            With Me.DataGridView1
    
                'MsgBox(.Rows.Count)
                .Enabled = True 'No es editable
                .AllowUserToAddRows = False 'No se añaden filas
                .AllowUserToDeleteRows = False 'No se borran filas
                .EnableHeadersVisualStyles = False 'Dehabilitamos los colores de fondo de filas y columnas
                .ReadOnly = True 'No se permite editar las celdas
    
                .CurrentCell.Selected = False 'No seleccionamos la primera celda del datagrid
    
                'No permitimos la ordenación de las columnas
                For Each col As DataGridViewColumn In DataGridView1.Columns
                    col.SortMode = DataGridViewColumnSortMode.Programmatic
                Next
    
    
                'Altura de la línea de títulos
                .ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
                .ColumnHeadersHeight = 22 'píxeles
    
    
                'Fijamos y referenciamos la primera columna
                Dim col0 As DataGridViewColumn = Me.DataGridView1.Columns("Descripcion")
                col0.Frozen = True
    
                'Definimos el ancho de las columnas y nombre de las columnas
                Select Case VarGlobal.strNumeroEjercicios
                    Case "3"
                        .Columns(0).Width = 430 'Descripción
                        For i As Integer = 1 To .Columns.Count - 1 Step +3
                            .Columns(i).Width = 140 'Ejer_01
                            .Columns(i + 1).Width = 75 'PorcTot1
                            .Columns(i + 2).Width = 90 'Importancia Porc1
                        Next
    
                    Case "2"
                        .Columns(0).Width = 430 'Descripción
                        For i As Integer = 1 To .Columns.Count - 1 Step +3
                            .Columns(i).Width = 140 'Ejer_01
                            .Columns(i + 1).Width = 75 'PorcTot1
                            .Columns(i + 2).Width = 90 'Importancia Porc1
                        Next
                End Select
    
                'Establecemos los nombres de las columnas
                Select Case VarGlobal.strNumeroEjercicios
                    Case "3"
                        .Columns(0).HeaderText = rm.GetString("Descripcion") 'Descripción
                        If valor = 4 Then
                            .Columns(1).HeaderText = VarGlobal.strPerAnualesMes(0) & "-" & VarGlobal.strPerAnualesAño(0)
                        Else
                            .Columns(1).HeaderText = VarGlobal.strPerMensualesMes(0) & "-" & VarGlobal.strPerMensualesAño(0)
                        End If
                        .Columns(2).HeaderText = rm.GetString("PorcsTotal") '% s/Total
                        .Columns(3).HeaderText = rm.GetString("Importancia") 'Importancia
                        .Columns(4).HeaderText = rm.GetString("Desviacion") 'Desviación
                        .Columns(5).HeaderText = rm.GetString("PorcDesv") '% Desv.
                        .Columns(6).HeaderText = rm.GetString("Importancia") 'Importancia
                        If valor = 4 Then
                            .Columns(7).HeaderText = VarGlobal.strPerAnualesMes(1) & "-" & VarGlobal.strPerAnualesAño(1)
                        Else
                            .Columns(7).HeaderText = VarGlobal.strPerMensualesMes(1) & "-" & VarGlobal.strPerMensualesAño(1)
                        End If
                        .Columns(8).HeaderText = rm.GetString("PorcsTotal") '% s/Total
                        .Columns(9).HeaderText = rm.GetString("Importancia") 'Importancia
                        .Columns(10).HeaderText = rm.GetString("Desviacion") 'Desviación
                        .Columns(11).HeaderText = rm.GetString("PorcDesv") '% Desv.
                        .Columns(12).HeaderText = rm.GetString("Importancia") 'Importancia
                        If valor = 4 Then
                            .Columns(13).HeaderText = VarGlobal.strPerAnualesMes(2) & "-" & VarGlobal.strPerAnualesAño(2)
                        Else
                            .Columns(13).HeaderText = VarGlobal.strPerMensualesMes(2) & "-" & VarGlobal.strPerMensualesAño(2)
                        End If
    
                        .Columns(14).HeaderText = rm.GetString("PorcsTotal") '% s/Total
                        .Columns(15).HeaderText = rm.GetString("Importancia") 'Importancia
    
                    Case "2"
                        .Columns(0).HeaderText = rm.GetString("Descripcion") 'Descripción
                        If valor = 4 Then
                            .Columns(1).HeaderText = VarGlobal.strPerAnualesMes(0) & "-" & VarGlobal.strPerAnualesAño(0)
                        Else
                            .Columns(1).HeaderText = VarGlobal.strPerMensualesMes(0) & "-" & VarGlobal.strPerMensualesAño(0)
                        End If
                        .Columns(2).HeaderText = rm.GetString("PorcsTotal") '% s/Total
                        .Columns(3).HeaderText = rm.GetString("Importancia") 'Importancia
                        .Columns(4).HeaderText = rm.GetString("Desviacion") 'Desviación
                        .Columns(5).HeaderText = rm.GetString("PorcDesv") '% Desv.
                        .Columns(6).HeaderText = rm.GetString("Importancia") 'Importancia
                        If valor = 4 Then
                            .Columns(7).HeaderText = VarGlobal.strPerAnualesMes(1) & "-" & VarGlobal.strPerAnualesAño(1)
                        Else
                            .Columns(7).HeaderText = VarGlobal.strPerMensualesMes(1) & "-" & VarGlobal.strPerMensualesAño(1)
                        End If
                        .Columns(8).HeaderText = rm.GetString("PorcsTotal") '% s/Total
                        .Columns(9).HeaderText = rm.GetString("Importancia") 'Importancia
    
                    Case "1"
                        .Columns(0).HeaderText = rm.GetString("Descripcion") 'Descripción
                        If valor = 4 Then
                            .Columns(1).HeaderText = VarGlobal.strPerAnualesMes(0) & "-" & VarGlobal.strPerAnualesAño(0)
                        Else
                            .Columns(1).HeaderText = VarGlobal.strPerMensualesMes(0) & "-" & VarGlobal.strPerMensualesAño(0)
                        End If
                        .Columns(2).HeaderText = rm.GetString("PorcsTotal") '% s/Total
                        .Columns(3).HeaderText = rm.GetString("Importancia") 'Importancia
                        .Columns(4).HeaderText = rm.GetString("Desviacion") 'Desviación
                        .Columns(5).HeaderText = rm.GetString("PorcDesv") '% Desv.
                        .Columns(6).HeaderText = rm.GetString("Importancia") 'Importancia
    
                    Case Else
                        .Columns(0).HeaderText = rm.GetString("Descripcion") 'Descripción
                        If valor = 4 Then
                            .Columns(1).HeaderText = VarGlobal.strPerAnualesMes(0) & "-" & VarGlobal.strPerAnualesAño(0)
                        Else
                            .Columns(1).HeaderText = VarGlobal.strPerMensualesMes(0) & "-" & VarGlobal.strPerMensualesAño(0)
                        End If
                        .Columns(2).HeaderText = rm.GetString("PorcsTotal") '% s/Total
                        .Columns(3).HeaderText = rm.GetString("Importancia") 'Importancia
                        .Columns(4).HeaderText = rm.GetString("Desviacion") 'Desviación
                        .Columns(5).HeaderText = rm.GetString("PorcDesv") '% Desv.
                        .Columns(6).HeaderText = rm.GetString("Importancia") 'Importancia
                        If valor = 4 Then
                            .Columns(7).HeaderText = VarGlobal.strPerAnualesMes(1) & "-" & VarGlobal.strPerAnualesAño(1)
                        Else
                            .Columns(7).HeaderText = VarGlobal.strPerMensualesMes(1) & "-" & VarGlobal.strPerMensualesAño(1)
                        End If
                        .Columns(8).HeaderText = rm.GetString("PorcsTotal") '% s/Total
                        .Columns(9).HeaderText = rm.GetString("Importancia") 'Importancia
                End Select
    
                'Cambiamos el color de fondo del datagrid
                .ColumnHeadersDefaultCellStyle.BackColor = Color.DarkKhaki 'Color de la cabecera del grid
                .RowHeadersDefaultCellStyle.BackColor = Color.Blue 'Color de las celdas del grid
    
                'Cambiamos el color de las fuentes y de las celdas seleccionadas
                With .DefaultCellStyle
                    .Font = New Font("Tahoma", 9)
                    .ForeColor = Color.Black
                    .BackColor = Color.Beige
                    .SelectionForeColor = Color.Transparent
                    .SelectionBackColor = Color.Transparent
                End With
    
    
                'Definimos los bordes de las celdas del grid
                '.CellBorderStyle = DataGridViewCellBorderStyle.None   'No hay separación de color en las celdas. Grid Color no hace nada.
                .RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single
                .ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single
                .GridColor = Color.Orange 'esto cambia el color de la separación de las celdas.
    
                'Quitamos el borde izquierdo del datagrid utilizado para selección de líneas
                .RowHeadersVisible = False
    
                'Centramos los títulos de las columnas.
                .ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
    
                'Ponemos en negrita los títulos de las columnas
                .ColumnHeadersDefaultCellStyle.Font = New Font(DataGridView.DefaultFont, FontStyle.Bold)
    
                'Definimos la alineación y el formato de las columnas que nos interesan
                Select Case VarGlobal.strNumeroEjercicios
                    Case "3"
                        .Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
                        For i As Integer = 1 To .Columns.Count - 1 Step +3
                            .Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : .Columns(i).DefaultCellStyle.Format = "N2" 'Numero con 2 decimales
                            .Columns(i + 1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : .Columns(i + 1).DefaultCellStyle.Format = "P2" 'Porcentaje
                            .Columns(i + 2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
                        Next
    
                    Case "2"
                        .Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
                        For i As Integer = 1 To .Columns.Count - 1 Step +3
                            .Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : .Columns(i).DefaultCellStyle.Format = "N2" 'Numero con 2 decimales
                            .Columns(i + 1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : .Columns(i + 1).DefaultCellStyle.Format = "P2" 'Porcentaje
                            .Columns(i + 2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
                        Next
                End Select
    
                Dim ValorOpcion As String = radio_boton()
                If Not ValorOpcion = "" Then
                    'recorremos todas las filas existentes actualmente en el control DatagridView
                    For Each row As DataGridViewRow In DataGridView1.Rows
                        row.Cells(0).Style.Alignment = DataGridViewContentAlignment.BottomLeft
                        row.Cells(0).Style.BackColor = Color.SlateGray
                        row.Cells(0).Style.ForeColor = Color.White
                    Next
    
                    For i As Integer = 0 To .RowCount - 1
                        .Rows(i).MinimumHeight = 26
                    Next i
    
                    'Cambiamos el color de las columas de Importancia y la fuente a negrita
                    For i As Integer = 3 To .Columns.Count - 1 Step +6
                        If .Columns(i).DefaultCellStyle.BackColor = Color.Maroon Then
                            .Columns(i).DefaultCellStyle.BackColor = Color.Maroon
                            .Columns(i).DefaultCellStyle.Font = New Font(DataGridView.DefaultFont, FontStyle.Bold)
                        Else
                            .Columns(i).DefaultCellStyle.BackColor = Color.LemonChiffon
                            .Columns(i).DefaultCellStyle.Font = New Font(DataGridView.DefaultFont, FontStyle.Bold)
                        End If
                    Next
    
                    For i As Integer = 6 To .Columns.Count - 4 Step +6
                        If .Columns(i).DefaultCellStyle.BackColor = Color.Maroon Then
                            .Columns(i).DefaultCellStyle.BackColor = Color.Maroon
                            .Columns(i).DefaultCellStyle.Font = New Font(DataGridView.DefaultFont, FontStyle.Bold)
                        Else
                            .Columns(i).DefaultCellStyle.BackColor = Color.Moccasin
                            .Columns(i).DefaultCellStyle.Font = New Font(DataGridView.DefaultFont, FontStyle.Bold)
                        End If
                    Next
    
                    Return
                Else
    
                    If VarGlobal.StrPlanConta = "PLAN 2007" Then
                        'Pintamos las filas que nos interesan
                        SetBackColor1(New Integer() {0, 16, 64, 113}, Color.LightSteelBlue)
                        SetBackColor1(New Integer() {10, 112, 183}, Color.Khaki)
                        SetBackColor1(New Integer() {9, 15, 63, 111, 141, 166, 182, 194, 197}, Color.Maroon)
                        SetBackColor1(New Integer() {11, 17, 28, 29, 37, 38, 43, 49, 50, 54, 55, 62, 65, 76, 77, 85, 86, 91, 92, 97, 98, 102, 103, 110, 114, 125, 126, 131, 132, 140, 142, 147, 148, 160, 161, 165, 167, 175, 176, 181, 184, 193, 195}, Color.SlateGray)
    
                        'Cambiamos el color de la fuente de las filas que nos interesen
                        SetForeColor1(New Integer() {0, 16, 64, 113}, Color.LightSteelBlue)
                        SetForeColor1(New Integer() {10}, Color.Khaki)
                        SetForeColor1(New Integer() {112, 183}, Color.Maroon)
                        SetForeColor1(New Integer() {9, 11, 15, 17, 28, 29, 37, 38, 43, 49, 50, 54, 55, 62, 63, 65, 76, 77, 85, 86, 91, 92, 97, 98, 102, 103, 110, 111, 114, 125, 126, 131, 132, 140, 141, 142, 147, 148, 160, 161, 165, 166, 167, 175, 176, 181, 182, 184, 193, 194, 195, 197}, Color.White)
    
                        'Ponemos en mayúsculas las filas que nos interesan
                        SetFontStyle1(New Integer() {0, 9, 10, 11, 15, 16, 17, 28, 29, 37, 38, 43, 49, 50, 54, 55, 62, 63, 64, 65, 76, 77, 85, 86, 91, 92, 97, 98, 102, 103, 110, 111, 112, 113, 114, 125, 126, 131, 132, 140, 141, 142, 147, 148, 160, 161, 165, 166, 167, 175, 176, 181, 182, 183, 184, 193, 194, 195, 197}, FontStyle.Bold)
    
                    ElseIf VarGlobal.StrPlanConta = "FISCAL" Then
                        'Pintamos las filas que nos interesan
                        SetBackColor1(New Integer() {0}, Color.LightSteelBlue)
                        SetBackColor1(New Integer() {31, 55, 56, 58, 59, 61}, Color.Maroon)
                        SetBackColor1(New Integer() {1, 4, 5, 6, 11, 14, 18, 23, 24, 25, 26, 29, 30, 32, 40, 44, 47, 48, 51, 57, 60}, Color.SlateGray)
    
                        'Cambiamos el color de la fuente de las filas que nos interesen
                        SetForeColor1(New Integer() {0}, Color.LightSteelBlue)
                        SetForeColor1(New Integer() {1, 4, 5, 6, 11, 14, 18, 23, 24, 25, 26, 29, 30, 31, 32, 40, 44, 47, 48, 51, 55, 56, 57, 58, 59, 60, 61}, Color.White)
    
                        'Ponemos en mayúsculas las filas que nos interesan
                        SetFontStyle1(New Integer() {0, 1, 4, 5, 6, 11, 14, 18, 23, 24, 25, 26, 29, 30, 31, 32, 40, 44, 47, 48, 51, 55, 56, 57, 58, 59, 60, 61}, FontStyle.Bold)
    
                    ElseIf VarGlobal.StrPlanConta = "COLOMBIA" OrElse VarGlobal.StrPlanConta = "PAISES" Then
                        'Pintamos las filas que nos interesan
                        SetBackColor1(New Integer() {0, 38, 73, 98, 103}, Color.Maroon)
                        SetBackColor1(New Integer() {16, 17, 32, 39, 55, 74, 92, 99, 101}, Color.SlateGray)
    
                        'Cambiamos el color de la fuente de las filas que nos interesen
                        SetForeColor1(New Integer() {0, 16, 17, 32, 38, 39, 55, 73, 74, 92, 98, 99, 101, 103}, Color.White)
    
                        'Ponemos en mayúsculas las filas que nos interesan
                        SetFontStyle1(New Integer() {0, 16, 17, 32, 38, 39, 55, 73, 74, 92, 98, 99, 101, 103}, FontStyle.Bold)
    
                    End If
                End If
    
                'Cambiamos el color de las columas de Importancia y la fuente a negrita
                For i As Integer = 3 To .Columns.Count - 1 Step +6
                    If .Columns(i).DefaultCellStyle.BackColor = Color.Maroon Then
                        .Columns(i).DefaultCellStyle.BackColor = Color.Maroon
                        .Columns(i).DefaultCellStyle.Font = New Font(DataGridView.DefaultFont, FontStyle.Bold)
                    Else
                        .Columns(i).DefaultCellStyle.BackColor = Color.LemonChiffon
                        .Columns(i).DefaultCellStyle.Font = New Font(DataGridView.DefaultFont, FontStyle.Bold)
                    End If
                Next
    
                For i As Integer = 6 To .Columns.Count - 4 Step +6
                    If .Columns(i).DefaultCellStyle.BackColor = Color.Maroon Then
                        .Columns(i).DefaultCellStyle.BackColor = Color.Maroon
                        .Columns(i).DefaultCellStyle.Font = New Font(DataGridView.DefaultFont, FontStyle.Bold)
                    Else
                        .Columns(i).DefaultCellStyle.BackColor = Color.Moccasin
                        .Columns(i).DefaultCellStyle.Font = New Font(DataGridView.DefaultFont, FontStyle.Bold)
                    End If
                Next
    
                '*******************
                .Height = 775
                .RowTemplate.Height = 3
    
                DataGridView1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Bottom
                DataGridView1.Anchor = AnchorStyles.Top Or AnchorStyles.Top
    
                'AddHandler button1.Click, AddressOf Me.button1_Click
    
    
    
                'Definimos la altura de las líneas
                For i As Integer = 0 To .RowCount - 1
                    .Rows(i).MinimumHeight = 23
                    .Rows(i).Height = CInt(.Height / .RowCount - 1)
                Next i
    
                'Definimos el ancho de las columnas 
                .Columns(0).MinimumWidth = CInt(.Width / 2.8) 'Descripción
    
                For i As Integer = 1 To .Columns.Count - 1 Step 3
                    .Columns(i).MinimumWidth = CInt(.Width / 8) 'Ejercicio
                Next i
    
                For i As Integer = 2 To .Columns.Count - 1 Step 3
                    .Columns(i).MinimumWidth = CInt(.Width / 10) '% s/Total
                Next i
    
                For i As Integer = 3 To .Columns.Count - 1 Step 3
                    .Columns(i).MinimumWidth = CInt(.Width / 10) 'Importancia
                Next i
    
                .DefaultCellStyle.WrapMode = DataGridViewTriState.True
                RegularAlturasDatagridViews()
    
            End With
    
        End Sub

    Ahí verás que en la parte final le he añadido lo del anchor, pero tampoco hace nada, por otro lado le asigno al datagridview una altura, ya que el mismo lo puedo hacer mas alto o mas corto dependiendo de unas selecciones que hace el cliente, pero el problema radica en el momento de iniciar la carga del form, ya que aproximadamente me lo deja por la mitad en otro ordenador que pruebo la instalación. Si calcula bien las columnas, pero las rows pone las que son o salen en el original, pero es que hay más que esas y no las coge en la carga, corta y saca las mismas que en original.

    En la imagen está en diseño, pero cuando lo instalado en otro ordenador la grilla queda cortada más o menos por la mitad o un poco mas. vamos 2/3 del tamaño real, con lo que queda un espacio sin nada, solo se ve el fondo de pantalla, es decir no hace caso del tamaño original. La anchura como te decía antes va perfecta, pero no la altura.

    Bueno, esto es un rollo pero si ves alguna cosa ya me lo dirás.

    Un abarzo querido amigo.

    Gemma

    jueves, 5 de noviembre de 2015 11:33
  • Bonito diseño, supongo que lo estarás generando con paneles de AplitContainer. Si no es así te lo recomiendo porque te permite dividir el formulario en zonas. Podrás tener una zona (panel) para el menú izquierdo, otra para la rejilla, ... y poner la rejilla con Dock = Fill

    Saludos, Javier J

    jueves, 5 de noviembre de 2015 13:28
  • Hola Javier:

    No, todos los componentes son de visual y la grilla es el datagridview.

    Estoy probando de hacerle alguna trampa a la grilla pero no hay manera.

    Un abrazo.

    Gemma

    jueves, 5 de noviembre de 2015 13:53
  • Hola:

    El problema de la no adaptación a la nueva resolución, radica en que le tengo que dar el valor de Heigth = 775 en el datagridview original, ya que hace una serie de selecciones y necesito que con ello vuelva al tamaño original. Claro está, eso cuando lo llevo a un nuevo ordenador, continua trabajando con esa cifra de 775, por lo que no funciona correctamente y no se ajusta a la medida real del datagridview. Ahora el problema consistiría en como se puede hacer para que esa altura o fórmula para la misma pueda funcionar en otro ordenador con diferente escala.

    Un saludo.

    Gemma

    jueves, 5 de noviembre de 2015 15:13
  • Hola:
    Prueba con esto

    Me. DataGridView1.Anchor = AnchorStyles.Top Or AnchorStyles.Left Or AnchorStyles.Right Or AnchorStyles.Bottom

    Un saludo desde Bilbo
    Carlos

    viernes, 6 de noviembre de 2015 8:47
  • Hola querido Carlos:

    No me funciona, lo he probado en varios sitios de las propiedades del grid y nada, a la que cambia la altura del grid no hace caso y no vuelve a su estado original, sino es poniéndole una altura predeterminada, entonces si funciona, pero el problema es que en otras resoluciones toma esa altura y queda a media pantalla la grilla.

    He estado mirando el tema de las resoluciones y los pixeles que utilizan y voy a ver si por ahí puedo convertir únicamente para esa grilla la altura que le doy en mi pantalla a que tome otra resolución, simplemente con una regla de tres. Por otro lado, se ya como detectar la resolución de la pantalla y a partir de ahí y aplicando esa regla de tres a ver si toma las nuevas medidas.

    De cualquier forma un fierte abrazo y muchas gracias como siempre.

    Gemma


    viernes, 6 de noviembre de 2015 11:58
  • Bueno doy por cerrado el hilo.

    La solución que estoy aplicando es conocer la resolución en máquina del cliente y aplicar una regla de tres a la resolución que estoy utilizando actualmente.

    Un cordial saludo.

    Gemma

    • Marcado como respuesta gemma_campillo domingo, 8 de noviembre de 2015 9:25
    domingo, 8 de noviembre de 2015 9:25
  • wow me quede impresionado con tu aplicacion
    lunes, 9 de noviembre de 2015 21:41