IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Basculer form sur un autre écran


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut Basculer form sur un autre écran
    Bonjour à vous tous et merci d'avance de votre.

    Voilà que j'ai réussi à déplacé une form d'un écran à un autre.
    Cela fonctionne parfaitement.

    Mon soucis est le suivant.
    Si la form est en FormWindowState.Maximized
    Le code n'agit pas. J'ai tout essayer mais rien à faire.

    Voici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
      Private Sub ChangeScreenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChangeScreenToolStripMenuItem.Click
     
     
            Dim screens() As Screen = Screen.AllScreens
     
     
            Dim currentScreen As Screen = Screen.FromControl(Me)
            Dim currentScreenIndex As Integer = Array.IndexOf(screens, currentScreen)
     
     
            Dim nextScreenIndex As Integer = currentScreenIndex + 1
            If nextScreenIndex = screens.Length Then
                nextScreenIndex = 0
            End If
     
            Dim locationInScreenCoordinates As New Point()
            locationInScreenCoordinates.X = Location.X - currentScreen.Bounds.X
            locationInScreenCoordinates.Y = Location.Y - currentScreen.Bounds.Y
     
            Dim nextScreen As Screen = screens(nextScreenIndex)
            Dim newLocation As New Point()
            newLocation.X = 0
            newLocation.Y = 0
     
            If Not nextScreen.Bounds.Contains(newLocation) Then
                If nextScreen.Bounds.Right < newLocation.X Then
                    newLocation.X = nextScreen.Bounds.Right - Width
                ElseIf newLocation.X < nextScreen.Bounds.Left Then
                    newLocation.X = nextScreen.Bounds.Left
                End If
     
                If newLocation.Y < nextScreen.Bounds.Top Then
                    newLocation.Y = nextScreen.Bounds.Top
                ElseIf nextScreen.Bounds.Bottom < newLocation.Y Then
                    newLocation.Y = nextScreen.Bounds.Bottom - Height
                End If
            End If
     
            If Width > nextScreen.Bounds.Width Then
                Width = nextScreen.Bounds.Width
            End If
     
            If Height > nextScreen.Bounds.Height Then
                Height = nextScreen.Bounds.Height
            End If
     
     
            Me.Location = newLocation
     
     
     
        End Sub

  2. #2
    Membre averti
    Avatar de Ogotcha
    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Points : 398
    Points
    398
    Par défaut
    As tu essayé de la "dé maximiser" par programme juste avant l'exécution et ensuite de la maximiser a nouveau ?
    Mon Blog
    FAQs DotNet
    Fonction utile : Recherche

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut
    Effectivement tu avais raiso, pour ceux que ça intéresse voici:

    Au début
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.WindowState = FormWindowState.Normal
    A la fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.WindowState = FormWindowState.Maximized
    Merci à toi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JFrame] Basculer une JFrame sur un autre écran
    Par rno38 dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 15/09/2009, 11h49
  2. ouvrit une base à partir d'un form sur une autre
    Par Stéph utilisateur d'acces dans le forum IHM
    Réponses: 3
    Dernier message: 22/04/2008, 08h12
  3. Comment afficher une form sur le deuxième écran
    Par saidm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 16/04/2008, 23h38
  4. Réponses: 4
    Dernier message: 07/05/2007, 21h20
  5. Ajustement d'une forme sur tout l'écran
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 21/06/2005, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo