none
Cambiar form de pantalla (con dos monitores) RRS feed

  • Pregunta

  • Estoy intentando que mi aplicación con un boton cambie de un monitor a otro monitor en un entorno de windows con 2 monitores, lo he conseguido con las indicaciones del msdn pero al cambiarlo al monitor secundario la aplicacion se queda mas arriba de la posicion que deberia como si el punto 0,0 se quedara unos 40 pixeles por encima del limite de la pantalla. Que puede ser? este es el procedimiento que utilizo

     

     Sub cambiarmonitor(ByVal monitor As Integer)
            Dim pantalla As Screen
            pantalla = Screen.AllScreens(monitor)   'le paso 0 para el monitor principal y 1 para el secundario
            area = pantalla.Bounds
            Me.WindowState = FormWindowState.Normal
            Me.Hide()
            Me.StartPosition = FormStartPosition.Manual
            Dim p As New Point(pantalla.Bounds.Location.X, pantalla.Bounds.Location.Y)
            Me.Location = p
            Me.Width = area.Width
            Me.Height = area.Height
            Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
            Me.WindowState = FormWindowState.Maximized
             Me.Show()
        End Sub
    


    • Cambiado Enrique M. Montejo jueves, 24 de agosto de 2017 6:17 Pregunta relacionada con Windows Forms.
    miércoles, 5 de octubre de 2011 16:01

Respuestas

Todas las respuestas

  • Hola,

    Porque no pruebas con este código

     Sub cambiarmonitor(ByVal monitor As Integer)
            Dim pantalla As Screen
            pantalla = Screen.AllScreens(monitor)   'le paso 0 para el monitor principal y 1 para el secundario        
            Me.Hide()
            Me.StartPosition = FormStartPosition.Manual
            Dim p As New Point(pantalla.Bounds.Location.X, 0)
            Me.Location = p        
            Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
            Me.WindowState = FormWindowState.Maximized
            Me.Show()
        End Sub
    


    Fijate que he cambiado la posición de Y a 0 y el Size lo he quitado asumiendo que no hace falta puesto que que después maximizas el formulario.

    Saludos,


    phurtado
    miércoles, 5 de octubre de 2011 16:50
  • Voy a probar pero en la depuración ya he comprobado que ese valor es 0 y el form me sigue saliendo mas arriba

     

    miércoles, 5 de octubre de 2011 19:26
  • No, no funciona, sigue dando el mismo problema

     

    miércoles, 5 de octubre de 2011 19:43
  • Solucionado, ya podeis perdonar pero era un tema de hardware, tenia que centrar la pantalla desde los drivers de windows, aunque lo de quitarle lo del size tambien me ha resultado util. Gracias
    jueves, 6 de octubre de 2011 7:18
  • Excelente Justo lo que buscaba...
    martes, 22 de agosto de 2017 19:53
  • Tengo el mismo problema y lo único que pude hacer es modificar los parámetros de la tarjeta, tenia un auto ajustable a 125% y me descontrolaba las capturas de pantalla. Al dejarlo en 100% funciona pero el problema que el texto es demasiado pequeño, seguiré probando y luego les hago saber si se soluciona por medio de código.
    martes, 26 de junio de 2018 6:49