Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

[.NET] [C#] Resolución de Pantalla

Participa en el tema [.NET] [C#] Resolución de Pantalla en el foro Programación.
Hola, mi problema radica en lo siguiente, estoy diseñando un programa que debe funcionar a ...

Buscar en este tema:
1 2 >
 
  •  
    DkAngel escribió el 03/04/2007 a las 13:17 hs.
     
    ¿Mensaje inapropiado?
    #1 [.NET] [C#] Resolución de Pantalla
    Hola, mi problema radica en lo siguiente, estoy diseñando un programa que debe funcionar a modo full screen, pero no tengo idea de como, si por medio de codigo o alguna propiedad del form, puedo ajustarle una resolucion de la pantalla, es decir para unificar todas las configuraciones, o si debo diseñarlo con mi configuración (1024*768) y que los usuarios luego deban cambiar la de ellos para utilizar mi aplicación... Cualquier consejo que me pueda dar alguien un poco mas experienciado en el tema será muy agradecido, ya que soy nuevo diseñando este tipo de programas y todos los manuales en los que busqué hasta ahora no mencionan este aspecto...

    Desde ya muchas gracias por su tiempo...

    Atte. Dark Angel
    +
     
    0
    Me gusta
     
    http://www.psicofxp.com/forums/programacion.313/434531-net-c-resolucion-de-pantalla.html
    | Más
  • ricardogm85 escribió el 03/04/2007 a las 20:17 hs. ¿Mensaje inapropiado?

    #2 Re: [C#] Resolución de Pantalla

    Hola. Mirá, yo hago app's en C#, pero también soy bastante nuevo en esto. Si tuviera que recomendarte algo para app's de este tipo sería que manejes bien los anchors y los docks de cada control que pongas en el formulario. De esta forma no creo que tengas problema ante las distintas resoluciones.
    Otra cosa es que por mí parte, no es recomendable hacer app's que tengan un formulario a full screen, a menos que éste sea un MDI, pero eso ya es cuestión de estética y de gustos.

    De todas formas, si lo que buscas es obtener la resolución de la pantalla actual lo puedes hacer con la clase Screen, que está en el namespace System.Windows.Forms, que ya está referenciado por defecto.
    Dentro de esta clase, tienes una propiedad estática llamada PrimaryScreen que te devuelve una referencia a un objeto Screen que es el que tiene la info que necesitas.

    Entonces, para extraer el ancho, haces:
    // Para el ancho de la pantalla
    Screen.PrimaryScreen.Bounds.Width

    // Para el alto de la pantalla
    Screen.PrimaryScreen.Bouns.Height
    Tanto Width como Height son enteros.

    Espero que te sirva, probalo a ver que pasa. Nos vemos.
    Me gusta este mensaje
  • Usuario inexistente escribió el 03/04/2007 a las 22:43 hs. ¿Mensaje inapropiado?

    #3 Re: [C#] Resolución de Pantalla

    Hola a todos.

    Voy a romper una regla personal: "no opines si no sabes".
    Mi conocimiento en C# es de -1, pero, se me ocurrió una pregunta y no la podía dejar pasar.
    ¿Se puede hacer llamadas a las funciones API's de Windows, como ChangeDisplaySettings, desde éste lenguaje?
    Para no esperar la respuesta, voy a romper la regla.
    Aqui he colocado el código fuente de un proyecto personal "de vieja data",
    está escrito en Visual C++ v.6.0:


    Código:
    /*
    *    'ChangeDisplay'
    *    [IN] Width - Ancho en pixeles.
    *    [IN] Height - Alto en pixeles.
    *    [IN] Bpp - Resolusción en bits.Yo utilizo 16.
    *    [IN] bRestore - si false cambiar modo.
    *              - si true restaurar modo.
    */
    bool ChangeDisplay(int Width, int Height,int Bpp, bool bRestore = false)
    {
        if(FALSE == bRestore)
        {
            DEVMODE pDev;
            LONG lRet;
            memset(&pDev,0,sizeof(pDev));
            pDev.dmSize = sizeof(pDev);
            pDev.dmPelsWidth = Width;
            pDev.dmPelsHeight = Height;
            pDev.dmBitsPerPel = Bpp;
            pDev.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
            lRet = ChangeDisplaySettings(&pDev,CDS_SETRECT | CDS_FULLSCREEN | CDS_SET_PRIMARY);
               if(lRet != DISP_CHANGE_SUCCESSFUL)
            {
                TCHAR szMsj[] = "No se pudo cambiar el modo de pantalla a %dx%dx%d \n Error: %s";
                switch(lRet)
                {
                case DISP_CHANGE_FAILED:  
                    MsgOut(NULL,MB_OK | MB_ICONHAND,"Error",szMsj,Width,Height,Bpp,"Failed");
                    break;
                case DISP_CHANGE_BADMODE:
                    MsgOut(NULL,MB_OK | MB_ICONHAND,"Error",szMsj,Width,Height,Bpp,"Bad Mode");
                    break;
                case DISP_CHANGE_BADFLAGS:
                    MsgOut(NULL,MB_OK | MB_ICONHAND,"Error",szMsj,Width,Height,Bpp,"Bad Flags");
                    break;
                case DISP_CHANGE_BADPARAM: 
                    MsgOut(NULL,MB_OK | MB_ICONHAND,"Error",szMsj,Width,Height,Bpp,"Bad Param");
                    break;
                }
                return (false); 
            }
            ShowCursor(TRUE);
        }else{
            ChangeDisplaySettings(NULL,0);
            ShowCursor(TRUE);
        }
        return (true);
    }
    
    Saludos.
    Me gusta este mensaje
  • cherno escribió el 04/04/2007 a las 00:14 hs. ¿Mensaje inapropiado?

    #4 Re: [C#] Resolución de Pantalla

    Esto debería servirte para poner la aplicación en modo fullscreen:

    http://www.codeproject.com/Purgatory...FullScreen.asp
    Me gusta este mensaje
  • Tololeiro escribió el 04/04/2007 a las 08:25 hs. ¿Mensaje inapropiado?

    #5 Re: [C#] Resolución de Pantalla

    daltomi: Solo para desasnarte (y no hablamos de sacarte al pedro aznar que llevas a adentro XD ):

    http://www.csharphelp.com/archives/archive79.html

    DkAngel: http://www.codeproject.com/csharp/fullscreenmode.asp (otra posibilidad)
    Me gusta este mensaje
  • DkAngel escribió el 04/04/2007 a las 12:30 hs. ¿Mensaje inapropiado?

    #6 Re: [C#] Resolución de Pantalla

    Antes que nada, les agradezco a todos x haberse tomado el tiempo para responder ...

    Les comento un poco mas sobre esto. En base necesitaba saber como hacer correctamente un fullscreen porque estoy desarrollando una suerte de juego en beta... y lo que mas me preocupaba (ya que no lo sabia hacer) era la parte gráfica... ahora con los links que me pasaron estoy trabajando en ello, realmente muy útil la info., les agradezco mucho nuevamente, ya que no lo podía encontrar por ningnun lado...

    Atte. Dark Angel
    Me gusta este mensaje
  • LoncO escribió el 04/04/2007 a las 19:54 hs. ¿Mensaje inapropiado?

    #7 Re: [C#] Resolución de Pantalla

    Excelentes aportes chicos, muchas gracias

    Slds!
    Nacho.-
    Me gusta este mensaje
  • superman9920 escribió el 11/04/2007 a las 17:38 hs. ¿Mensaje inapropiado?

    #8 Re: [C#] Resolución de Pantalla

    mmm, sin duda si estas haciendo un Juego, te recomendaria usar DirectX en C#, es mejor que estar embrollando con las funciones graficas basicas de C#
    Me gusta este mensaje
  • DkAngel escribió el 11/04/2007 a las 21:28 hs. ¿Mensaje inapropiado?

    #9 Re: [C#] Resolución de Pantalla

    Hola... nunca oí de eso de usar DirectX.. voy a buscar a ver que encuentro... quizá me simplifique bastante el codigo...

    Te agradezco =)

    Atte. Dark Angel
    Me gusta este mensaje
  • Tololeiro escribió el 12/04/2007 a las 09:37 hs. ¿Mensaje inapropiado?

    #10 Re: [C#] Resolución de Pantalla

    Te recomiendo visitar el sitio http://www.c-sharpcorner.com/Article...ubSectionID=63
    es un gran recurso para C#
    Me gusta este mensaje
1 2 >
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 16 RESPUESTAS
  • 11937 VISTAS
  • 7 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB