none
¿como hacer para que un programa se ajuste automaticamente a la resolucion de pantalla predeterminada?

    Question

  • Buenas Dias a todos y feliz navidad, he estado realizando un sistema en visual basic 2005, con una computadora que tiene la resolucion de pantalla en 1024 x 768 pixeles, por lo que el sistema se ve bien en computadoras con esta resolucion como predeterminada, algo que siempre me he preguntado y se los pregunto ahora, como le puedo hacer para que el sistema se ajuste a cualquier resolucion de pantalla manteniendo su aspecto original, ya que en pantalla de 800 x 600 pixeles hay elementos del programa que no se visulizan los cuales son muy importantes para el manejo del sistema. esto en programas anteriores me ha traido problemas porque no se puede acceder a ciertas funciones por botones ocultos cuando ejecuto el programa en otras resoluciones, me imagino que ha de existir alguna funcion para que el programa reconosca la resolucion y se ajuste a ella, sin mas que decir agradeciendo de antemano sus respuestas y sujerencias.

     

    Eimis

    Friday, December 21, 2007 9:47 PM

Answers

  • Hola a todos!

    Después de dar tanta vuelta lo logré y nunca pensé que fuera tan fácil. Los formularios deben tener la propiedad
    "Autoscalemode" en DPI, pues los parámetros utilizados en Sizef son valores DPI. Aunque se puede manejar en Font, pero me
    pareció mejor así.
    
    class Resolucion
    
        {
    	void ajustarResolucion(System.Windows.Forms.Form formulario)
            {
                String ancho = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size.Width.ToString();//Obtengo el ancho de la pantalla
                String alto = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size.Height.ToString();//Obtengo el alto de la pantalla
                String tamano = ancho + "x" + alto;//Concateno para utilizarlo en el switch
                switch(tamano){
                    case "800x600":
                        cambiarResolucion(formulario, 110F, 110F);//Hago el ajuste con esta función
                        break;
                    case "1024x600":
                        cambiarResolucion(formulario, 96F, 110F);
                        break;
                    default:
                        cambiarResolucion(formulario, 96F, 96F);
                        break;
                }
            }
    
           private static void cambiarResolucion(System.Windows.Forms.Form formulario, float ancho, float alto)
            {
                formulario.AutoScaleDimensions = new System.Drawing.SizeF(ancho, alto); //Ajusto la resolución
                formulario.PerformAutoScale(); //Escalo el control contenedor y sus elementos secundarios.
            }
    
        }
    Espero sirva.

     

     

     



    Thursday, October 06, 2011 2:22 AM

All replies

  • Este tema ya lo hemos tratado en el foro con anterioridad. Pásate por ejemplo por el siguiente enlace:

    http://forums.microsoft.com/msdn-es/ShowPost.aspx?PostID=2108892&SiteID=11

     

    Espero que te sea de ayuda.

     

    Salud y suerte!

     

    Friday, December 21, 2007 10:11 PM
  • Hola toni, primero que nada muchas gracias por responder, se que puedes ayudarme, visite los enlaces que me dijiste y todo lo que indicaron yo ya lo habia hecho anteriormente, no tengo problemas con la ubicacion de los controles al maximizar o minimizar un formulario; lo que pasa es que el tamaño de los formularios son proporcionales a la resolucion predeterminada de pantalla donde realice la aplicacion, en otra computadora con otra resolucion menor los formularios salen tan grandes que el formulario supera el espacio disponible dentro de la pantalla impidiendome hasta ver los controles de cerrar, maximizar y minimizar de todo formulario, lo cual lo hace inmanipulable, espero me entiendas, quiero redimensionar o ajustar el formulario para que se vea proporcional a como se ve en la resolucion original donde fue creado por lo tanto tambien lo deben hacer sus controles, tu publicaste una funcion en c, a una integrante del foro llamada Siux, que creo que me pudiera servir, pero no se como seria el visual basic ese codigo, era para ajustar el web form,

    de antemano gracias nuevamente espero puedas ayudarme

    Friday, December 28, 2007 7:47 PM
  • Mediante la propiedad Anchor que se comentaba en el hilo que te indiqué, no sólo puedes ubicar correctamente el control, sinó que también puedes adaptar su tamaño al de la resolución. Si por ejemplo pones un botón con el anchor a los cuatro costados del formulario, verás como el botón se adapta al tamaño de dicho formulario.

     

    En cuanto al ejemplo que comentas, la verdad es que no lo recuerdo, pero si me pasas el enlace miraré de ayudarte con él.

     

    Aunque para otra vez, recuerda que hay disponibles de forma online muchos traductores VB.net <-> C#, como por ejemplo:

    http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx

     

    Salud y suerte!

     

    Friday, December 28, 2007 10:45 PM
  • Ok Toni, Nuevamente gracias, eres muy colaborador, volvere a ajustar el anchor de la forma que e indicaste, y tambien visitare, el link que me dejaste, gracias.

    Thursday, January 03, 2008 10:17 PM
  • Genial! Big Smile

     

    No olvides marcar el hilo como contestado cuando creas oportuno, gracias! Wink

     

    Friday, January 04, 2008 7:47 AM
  • Hola Eimis, disculpa que te escriba aun cuando tu posteaste tu problema en diciembre del 2007, pero te pregunto si encontraste la solución.

     Yo he buscado por todos los foros, literalmente he estado meses buscando como hacer que mis aplicaciones se adapten a la resolución del monitor del usuario, pero no he podido encontrar como hacerlo, he probado muchos códigos e inclusive trabajados con ocx que se suponen que hacen el trabajo, pero funciona de manera muy lenta.

    La propiedad Anchor y Dock no sirven para el problema ellas sólo acomodan los objetos en proporción al formulario, pero cuando cambias de resulución todo se deforma, se agranda o empequeñese, los objetos mantienen su distancias desde los lados pero en algunos casos no se ven en pantalla.

    Por eso la solución no pasa por los Anchor y dock de eso estoy seguro.

    Además no se si NET permite hacer esto de manera automatica o simplemente debo tratar de escalarlo con programacion leyendo la resolucion del usuario y cambiando sus tamaños cuando encuentre una u otra resolución, pero no he encontrada nadie que me diga que NET no lo hace automatico, por eso he seguido buscando.

    Se que tu tuviste o tienes el mismo problema y te agradeceria si le encontraste solución que me ayudaras, si es posible
    Friday, April 17, 2009 3:33 PM
  • Hola a a todos,

    Bueno.... lamentablemente no puedo aportar una solución a esta pregunta..... sólo quiero decir que yo estoy buscando la solución a este problema hace tiempo y todavia no la he encontrado, y tambien explicar mi experiencia.

    He hecho una aplicación de visual basic net con visual studio 2010 y me pasa eso, que si diseño con una resolución de 1280/1024....... cuando luego ejecuto en un monitor con una resolución distinta no se ve bien...... si es de 800/600, por ejemplo, se ve todo enorme.

    Por lo que yo he leido  existe la variable "autoscaledimensions" que guarda la resolución que hay durante el diseño y luego la variable "currentautoscaledimensions" que guarda la resolución en la ejecución y cuando se inicia se comprueba automàticamente si son distintas y si no son iguales se ejecuta un procedimiento que hace el escalado automàticamente.

    Tambien estan "autoscalefactor" que guarda el factor de escala (de ancho y de alto) que corresponderia aplicar y "autoscalemode" que determina el modo de escalado.

    Por lo que parece que esto se deberia poder hacer automáticamente....... yo he hecho muchas pruebas y no he conseguido que funcione.

    Tambien he probado de hacer un escalado manual poniendo "scale(factor de ancho, factor de alto)" en el load del formulario de inicio, y efectivamente el formulario y todos los controles se ajustan a la escal que le digo.... pero los textos y los graficos no quedan bien.

    Bueno....... si alguien puediera ayudarme con este tema le estaria muy agradecido.

    Un cordial saludo

    Santi

     

     

     

    Saturday, October 16, 2010 10:46 AM
  • Hola el prgrama o los formularios siempre se ajustaran a la pantalla del cliente ya sea el tamaño que sea el problema es que hay pantallas que traen la resolucion muy baja osea los mega pixeles unas se ven con mucho aumento otras se ven ajustadas y otras nomales.. esto no es por desirlo asi por el tipo del proyecto o por el tipo de tu programa esto tiene que ver lo con la resolucion de los graphics del screen. y es por eso que tu programa se ve con muy no buena apariencia

    puedes ajustar la pantalla

     

    haciendo click derecho en el scritorio

    -propiedades o personalize

    -display o apariencia y alli configura la resolucion de tu screen

    por el momento  ami no me ha pasado algo asi , pero se me ha ocurrido esto...

     

    espero te ayude.


    Mark the better answers for you,do not turn off your mind

    Visit http://www.melvinsofts.com

    Sunday, October 17, 2010 3:43 PM
  • Hola,

    En su día también estuve mirando este tema y tratando de sacar algo con el siguiente enlace:

    http://msdn.microsoft.com/es-es/library/ms229605(VS.90).aspx

    Quizás esté aquí la solución, hay que hacer pruebas con todos las propiedades y métodos que se indica en el enlace que por falta de tiempo no lo pude llevar a cabo, por lo que podríais echar un vistazo a ver si conseguís algo vosotros.

    Un saludo. 

    Sunday, October 17, 2010 5:41 PM
  • Hola a todos!

    Después de dar tanta vuelta lo logré y nunca pensé que fuera tan fácil. Los formularios deben tener la propiedad
    "Autoscalemode" en DPI, pues los parámetros utilizados en Sizef son valores DPI. Aunque se puede manejar en Font, pero me
    pareció mejor así.
    
    class Resolucion
    
        {
    	void ajustarResolucion(System.Windows.Forms.Form formulario)
            {
                String ancho = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size.Width.ToString();//Obtengo el ancho de la pantalla
                String alto = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size.Height.ToString();//Obtengo el alto de la pantalla
                String tamano = ancho + "x" + alto;//Concateno para utilizarlo en el switch
                switch(tamano){
                    case "800x600":
                        cambiarResolucion(formulario, 110F, 110F);//Hago el ajuste con esta función
                        break;
                    case "1024x600":
                        cambiarResolucion(formulario, 96F, 110F);
                        break;
                    default:
                        cambiarResolucion(formulario, 96F, 96F);
                        break;
                }
            }
    
           private static void cambiarResolucion(System.Windows.Forms.Form formulario, float ancho, float alto)
            {
                formulario.AutoScaleDimensions = new System.Drawing.SizeF(ancho, alto); //Ajusto la resolución
                formulario.PerformAutoScale(); //Escalo el control contenedor y sus elementos secundarios.
            }
    
        }
    Espero sirva.

     

     

     



    Thursday, October 06, 2011 2:22 AM
  • Que tal, yo se que han pasado años desde que inicio este hilo pero ahi les va el dato, yo encontre un proyecto que hace el ajuste a la resolucion en la que este contruido el proyecto y en caso de realizar la instalacion en una maquina con resolucion diferente se siga respetando el tañalo original de los objetos, el unico detalles son la fuentes, ya lo veran por ustedes mismos: http://www.codeproject.com/KB/dotnet/Resolution_Independent.aspx

    Saludos a todos y sigan esforzandoce, vale la pena.

    Tuesday, December 06, 2011 7:42 PM
  • Hola Cristian, me interesa su respuesta , he intentado esto y no lo he logrado, le agradezco si me pudiera regalar un ejemplo de ayuda o algo asi, mi correo es yonormal@hotmail.com
    Wednesday, January 04, 2012 5:52 PM
  • ..tengo el mismo de problema, necesito que mi aplicacion se ajuste a diferentes resoluciones de pantalla pero no se como hacerlo. La solucion me parece interesante pero tengo varias dudas. ¿El codigo en donde lo pongo? Comó hago para llamar esa clase?

    Sunday, January 22, 2012 12:17 AM
  • buenas, me parece muy interesante la solucion pero no se como hacer que funcione. Me puedes ayudar..??

    Gracias!!

    Sunday, January 22, 2012 12:43 AM
  • La solución esta aqui..

    http://www.codeproject.com/KB/dotnet/Resolution_Independent.aspx

    este link ya esta en otro comentario arriba, lo pongo de nuevo porque a mi me funciono perfecto.

    Solo tienes que mandar a ejecutar el procedimiento de la clase en la forma en el metodo Form_Load con la resolución de tu pantalla donde desarrollaste la aplicación y la forma.

    por ejemplo:    

    dim VResolucion as New ClsResolucion

    VResolucion.ResizeForm(Me, 1024,1280)    ' Mi PC donde desarrolle es de  1280 de ancho x 1024 de alto

    • Proposed as answer by pepe_tony Wednesday, February 29, 2012 10:20 PM
    Wednesday, February 29, 2012 10:20 PM
  • PRUEBEN ESTE FUNCION:

    PublicFunctionESCALIZARPANTALLA(ByValforma AsSystem.Windows.Forms.Form) AsForm


           

    'ESTA FUNCION ADAPTA TODOS LOS CONTROLES DE UNA FORMA A LA RESOLUCION DE LA PANTALLA


           

    Dimz AsDouble


           

    DimintX AsInteger= Screen.PrimaryScreen.WorkingArea.Width

           

    DimintY AsInteger= Screen.PrimaryScreen.WorkingArea.Height

            z = (((intX) ^ 2 + (intY) ^ 2) ^ 0.5) / (((forma.Size.Width) ^ 2 + (forma.Size.Height) ^ 2) ^ 0.5)

           

    Dimciclo = 0

           

    DoWhileciclo < forma.Controls.Count

                forma.Controls.Item(ciclo).Size =

    NewSize(((forma.Controls.Item(ciclo).Size.Width * intX) / forma.Size.Width), ((forma.Controls.Item(ciclo).Size.Height * intY) / forma.Size.Height))

                forma.Controls.Item(ciclo).Location =

    NewPoint(((forma.Controls.Item(ciclo).Location.X * intX) / forma.Size.Width), ((forma.Controls.Item(ciclo).Location.Y * intY) / forma.Size.Height))

                forma.Controls.Item(ciclo).Font =

    NewSystem.Drawing.Font(forma.Controls.Item(ciclo).Font.FontFamily, (forma.Controls.Item(ciclo).Font.Size * z))

                ciclo = ciclo + 1

           

    Loop


            forma.Size =

    NewSystem.Drawing.Size(intX, intY)

           

    Returnforma

       

    EndFunction

    Y EN EL LOAD DE LA FORMA LA LLAMAN DE LA SIGUIENTE MANERA

    ESCALIZARPANTALLA(ME)

    Friday, April 20, 2012 10:54 PM
  • Hola a todos!

    Después de dar tanta vuelta lo logré y nunca pensé que fuera tan fácil. Los formularios deben tener la propiedad
    "Autoscalemode" en DPI, pues los parámetros utilizados en Sizef son valores DPI. Aunque se puede manejar en Font, pero me
    pareció mejor así.
    
    class Resolucion
    
        {
    	void ajustarResolucion(System.Windows.Forms.Form formulario)
            {
                String ancho = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size.Width.ToString();//Obtengo el ancho de la pantalla
                String alto = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size.Height.ToString();//Obtengo el alto de la pantalla
                String tamano = ancho + "x" + alto;//Concateno para utilizarlo en el switch
                switch(tamano){
                    case "800x600":
                        cambiarResolucion(formulario, 110F, 110F);//Hago el ajuste con esta función
                        break;
                    case "1024x600":
                        cambiarResolucion(formulario, 96F, 110F);
                        break;
                    default:
                        cambiarResolucion(formulario, 96F, 96F);
                        break;
                }
            }
    
           private static void cambiarResolucion(System.Windows.Forms.Form formulario, float ancho, float alto)
            {
                formulario.AutoScaleDimensions = new System.Drawing.SizeF(ancho, alto); //Ajusto la resolución
                formulario.PerformAutoScale(); //Escalo el control contenedor y sus elementos secundarios.
            }
    
        }
    Espero sirva.




    Lo he intentado con el código que has puesto Cristian, pero el método AutoScaleDimensions no me funciona, no sé por qué motivo, pero le intento asignar cualquier valor y siempre me da el mismo (96F,96F), ¿a alguien se le ocurre porqué? He cambiado el autoscaleMode a DPI, Font, None y nada, e incluso he cambiado la resolución de la pantalla y sigue con exactamente el mismo valor AutoScaleDimensions... por favor ayuda!
    • Proposed as answer by Yording_cala Monday, June 18, 2012 4:28 PM
    • Unproposed as answer by Yording_cala Monday, June 18, 2012 4:28 PM
    Tuesday, June 05, 2012 8:45 PM
  • ya he solucionado el problema de la resolucion

     public class Neg_General
        {
            float f_HeightRatio = new float();
            float f_WidthRatio = new float();
            public void ResizeForm(Form ObjForm, int DesignerHeight, int DesignerWidth)
            {
                #region Code for Resizing and Font Change According to Resolution
                //Specify Here the Resolution Y component in which this form is designed
                //For Example if the Form is Designed at 800 * 600 Resolution then DesignerHeight=600
                int i_StandardHeight = DesignerHeight;
                //Specify Here the Resolution X component in which this form is designed
                //For Example if the Form is Designed at 800 * 600 Resolution then DesignerWidth=800
                int i_StandardWidth = DesignerWidth;
                int i_PresentHeight = Screen.PrimaryScreen.Bounds.Height;//Present Resolution Height
                int i_PresentWidth = Screen.PrimaryScreen.Bounds.Width;//Presnet Resolution Width
                f_HeightRatio = (float)((float)i_PresentHeight / (float)i_StandardHeight);
                f_WidthRatio = (float)((float)i_PresentWidth / (float)i_StandardWidth);
                ObjForm.AutoScaleMode = AutoScaleMode.None;//Make the Autoscale Mode=None
                ObjForm.Scale(new SizeF(f_WidthRatio, f_HeightRatio));
                foreach (Control c in ObjForm.Controls)
                {
                    if (c.HasChildren)
                    {
                        ResizeControlStore(c);
                    }
                    else
                    {
                        c.Font = new Font(c.Font.FontFamily, c.Font.Size * f_HeightRatio, c.Font.Style, c.Font.Unit, ((byte)(0)));
                    }
                }
                ObjForm.Font = new Font(ObjForm.Font.FontFamily, ObjForm.Font.Size * f_HeightRatio, ObjForm.Font.Style, ObjForm.Font.Unit, ((byte)(0)));
                #endregion
            }
     
            private void ResizeControlStore(Control objCtl)
            {
                if (objCtl.HasChildren)
                {
                    foreach (Control cChildren in objCtl.Controls)
                    {
                        if (cChildren.HasChildren)
                        {
                            ResizeControlStore(cChildren);
                        }
                        else
                        {
                            cChildren.Font = new Font(cChildren.Font.FontFamily, cChildren.Font.Size * f_HeightRatio, cChildren.Font.Style, cChildren.Font.Unit, ((byte)(0)));
                        }
                    }
                    objCtl.Font = new Font(objCtl.Font.FontFamily, objCtl.Font.Size * f_HeightRatio, objCtl.Font.Style, objCtl.Font.Unit, ((byte)(0)));
                }
                else
                {
                    objCtl.Font = new Font(objCtl.Font.FontFamily, objCtl.Font.Size * f_HeightRatio, objCtl.Font.Style, objCtl.Font.Unit, ((byte)(0)));
                }

            }
        }
    }

    y al llamar al metodo en el formulario lo hacen desde el load

     neg_general.ResizeForm(this, 768, 1366); //los 3 valores que mande fue el formulario,el segundo y tercer valor son el alto y el ancho de la resolucion donde el aplicacion se ve mejor

    al que desee deme su correo y le mando un ejemplo


    • Proposed as answer by JMS SoftWare Wednesday, August 15, 2012 4:51 PM
    • Edited by Yording_cala Friday, August 17, 2012 2:46 PM
    Monday, June 18, 2012 5:07 PM
  • hola que tal YORDING_CALA la  verdad e intentado y buscado por todos lados una resolucion para este problema que se ha vuelto un tormento para muchos que hemos realizado una aplicacion y nos encontramos con este problemon ya que e buscado y buscado y no encontre una solucion a esto por favor me podrias enviar un ejemplo de dicho problema me salvarias de volver a realizarlo pero ahora en miniatura ya que la resolucion de mi pantalla es de 1366 y la quiero pasar a una de 1024 (vaya problema que me a resultado saludos)

    correo piotro4475@hotmail.com

    Saturday, June 23, 2012 7:52 AM
  • Yording_cala podrías enviarme un ejemplo, ya que tengo que entregar un programa

    y me están pidiendo que se ajuste a las diferentes resoluciones, se agradece de

    antemano. neftali.chocano@gmail.com

    Wednesday, July 25, 2012 3:47 PM
  • Realice un código basado en el tuyo, es sólo una prueba pero es un poco más abierto sin tener que declarar las resoluciones exactas. Sin embargo no funciona. Me puedes decir por qué no cambia la resolución del formulario?? el código es este:

                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
                int ancho =System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size.Width;
                int alto = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size.Height;
                float anchoN = 96F;
                float altoN = 96F;
                if (ancho < 1200)
                    anchoN = 110F;
                if (alto < 800)
                    altoN = 110F;
                this.AutoScaleDimensions = new System.Drawing.SizeF(anchoN , altoN); //Ajusto la resolución
                this.PerformAutoScale();

    Wednesday, August 15, 2012 4:09 PM
  • Excelente solución, muchas gracias Yording_cala.  Tenia tiempo buscando solucion a este problema.

    Les comento a la demas gente del foro que la solución que planteo Yording_cala funciona, si...al fin, lo probe en el sistema que hice para la empresa donde trabajo y todo OK. el algoritmo funciona a la perfección.

    para los que trabajamos con vb.net solo basta con traducirlo al equivalente en dicho lenguaje.

    Otra cosa para complementar la solución de Yording_cala, deben colocar en la propiedad Anchor = Top, Left en todos los controles del formulario a ajustar.

    Exitos y saludos a todos!!

    Wednesday, August 15, 2012 4:46 PM
  • Pelubey te cuento que la solucion de yording_cala funciona, pruebala y veras.

    yo ya implemente esa solución en mi programa y funciona 100%.

    Exitos y saludos!

    Wednesday, August 15, 2012 4:49 PM
  • Hola Yording_cala, tendras el ejemplo en VB.net porfa lo necesito urgente, gracias

    Mi correo es: chriserc@outlook.com


    Christian Ramirez Castillo (PERU) Soporte Tecnico - Programador

    Wednesday, August 15, 2012 5:24 PM
  • perdonen amigos me habia olvidado de este post aqui le adjunto el archivo 

    al que le haya servido marquela como util o como respuesta

    Ajustar resolucion en c#

    ajustar resolucion visual


    Yording cala



    Friday, August 17, 2012 2:33 PM
  • Excelente solución, muchas gracias Yording_cala.  Tenia tiempo buscando solucion a este problema.

    Les comento a la demas gente del foro que la solución que planteo Yording_cala funciona, si...al fin, lo probe en el sistema que hice para la empresa donde trabajo y todo OK. el algoritmo funciona a la perfección.

    para los que trabajamos con vb.net solo basta con traducirlo al equivalente en dicho lenguaje.

    Otra cosa para complementar la solución de Yording_cala, deben colocar en la propiedad Anchor = Top, Left en todos los controles del formulario a ajustar.

    Exitos y saludos a todos!!


    de nada hermano yo tambien llevava mucho tiempo buscandolo y me meti ha este foro y encontre algo que me ayudo ha solucionarlo, era de un men arriba en el foro aunque estaba muy incompleto y no me terminaba de dar, lo que le faltaba era un foreach que me recorriera todos los controles y dependiendo de la resolucion me lo ajustara, tambien le falta ajustar el tamaño de la fuente de cualquier tipo de letra este problema no fue para nada facil de solucionara y le faltaba ajustar el formulario a la resolucion.

    pero  le agradezco al men  de ariba porque sin la informacion que me brindo hubiera sido imposible.

    tambien te agradezco a ti JMS SoftWare por el aporte que mi hiciste lo tendre muy en cuenta

    y a todos me alegro que les haya servido es muy gratificante que dias que dure solucionando esto le haya servido a alguien y a los que no la han intentado les aconsejo que la hagan porque esta 100% full.

    y en unos dias me pongo a realizar el ejemplo para visual basic, y hay perdonemen a los que estuvieron esperando tanto tiempo a que les enviaran el ejemplo sino que  hace dias no ingresaba a los foros


    Yording cala

    Friday, August 17, 2012 3:18 PM
  • Realice un código basado en el tuyo, es sólo una prueba pero es un poco más abierto sin tener que declarar las resoluciones exactas. Sin embargo no funciona. Me puedes decir por qué no cambia la resolución del formulario?? el código es este:

                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
                int ancho =System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size.Width;
                int alto = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size.Height;
                float anchoN = 96F;
                float altoN = 96F;
                if (ancho < 1200)
                    anchoN = 110F;
                if (alto < 800)
                    altoN = 110F;
                this.AutoScaleDimensions = new System.Drawing.SizeF(anchoN , altoN); //Ajusto la resolución
                this.PerformAutoScale();


    oye nos tienes que hacer eso, el algoritmo se ajusta automaticamente a la resolucion de la pantalla

     neg_general.ResizeForm(this, 768, 1366);

    le di dos variables preterminadas porque es la resolucion con la que mejor se ve en mi pc, pero este ejemplo funciona para cualquier resolucion solo mandale las variables de ancho y alto con la que mejor se ve tu pc y ya esta, no hay necesidad de hacer esto, un brother de mas arriba del foro etiqueto un ejemplo con lo que estas planteando yo tambien lo intente pero no sucedia nada, entonces mejor desisti de eso

    intentalo con el ejemplo que te adjunte  mas arriba a,pruebalo y luego me dices que tal.

    Yording cala


    Friday, August 17, 2012 4:39 PM
  • Ola soy nuevo por aca.. tengo el mismo problema y necesito que me pasen un ejemplo (demo) para poder realizar mi proyecto en mi universidad.. ayudenme.. jokesito24@hotmail.com.. ese es mi correo.. porfa!!.. gracias.. :D
    Friday, September 14, 2012 7:57 PM
  • Ola soy nuevo por aca.. tengo el mismo problema y necesito que me pasen un ejemplo (demo) para poder realizar mi proyecto en mi universidad.. ayudenme.. jokesito24@hotmail.com.. ese es mi correo.. porfa!!.. gracias.. :D

    mira los link la proxima vez fijate en el foro

    Ajustar resolucion en c#

    ajustar resolucion visual


    Yording cala


    • Edited by Yording_cala Saturday, September 15, 2012 12:04 AM
    Saturday, September 15, 2012 12:02 AM
  • Yording_cala 
    puxa hermano eres el mejor gracias por el codigo,... estoy seguro que a todos les ha pasado el problema de ajustar form a cualkier pantalla.
    te doy las gracias por todos :)

    Sunday, December 16, 2012 4:42 PM
  • yashrahul fue todo un placer la ayuda a mi tambien me pasaba este error y fue muy duro conseguir una buena solucion, se que el demo no esta del todo completo aun le falta cositas, por eso espero que el tenga una mejor solucion la publique para que todos nos retroalimentes de este. y para eso existen este tipo de plataformas para que todos compartamos nuestro conocimientos


    Yording cala

    Sunday, December 16, 2012 5:10 PM
  • Saludos a todos, hace un tiempo tenía un programa en vb6 que se ajustaba perfectamente a cualquier resolución. Pero ni idea donde esta. Voy a tomar el ejemplo que el amigo Yording_cala proporciona y espero poder ayudar... Saludos y gracias por otorgar sus conocimientos.

    Enyelber Altube

    Wednesday, December 19, 2012 3:27 AM
  • Buenas noches.. posiblemente ya no estes en este foro.. pero queria decirte que yo utilizo V.B 6.0 y me sucede que no puedo ajustar un programa creado a cualquier resolucion, y no logro comprender tu codigo... me seria de gran ayuda que me dieras una mano, desde ya.. muchas gracias! :) mi correo es crissanabria_95@hotmail.com
    Wednesday, August 28, 2013 5:30 AM
  • hola Yording_cala, mi nombre es carlos y tengo el problema de la resolucion, en una aplicacion en visual basic 6.0 talvez tengas una solucion en esa version de visual.

    agradezco tu ayuda.

    Carlos B.

    Monday, June 16, 2014 8:06 AM
  • Hola:

    Busca en google el ocx AResize.

    Un saludo desde Bilbo

    Carlos

    Monday, June 16, 2014 9:12 AM