none
Application qui s'ouvre sur le coté droit de l'écran du PC RRS feed

  • Question

  • Bonjour, j'ai conçu une appli dont la forme du MainWindow est une bande qui ressemblerait à la barre des taches Windows mais qui occuperait le coté droit de l'écran et non le bas.

    Est-il possible de programmer l'ouverture de ce Form sur la droite de l'écran?

    merci


    JF Collombet ® CreateSpecificCulture

    vendredi 29 janvier 2016 16:24

Réponses

  • Dans Form Load:

            Dim PositionX = My.Computer.Screen.Bounds.Size.Width - 100
            Dim PositionY = 0
            Dim FormHeight = My.Computer.Screen.Bounds.Size.Height - 100
            Me.Width = 100
            Me.Height = FormHeight
    
            Me.Location = New Point(PositionX, PositionY)

    Il vous reste à trouver la taille de la TaskBar et de changer dans formheight -100 en -hauteur Taskbar...

    Vous pouvez aussi utiliser My.Computer.Screen.WorkingArea.Height

    La mèthode Me.SetBounds(PositionX, 0, 100, FormHeight) est plus compact...


    Cyrille Precetti



    vendredi 29 janvier 2016 16:48

Toutes les réponses

  • Dans Form Load:

            Dim PositionX = My.Computer.Screen.Bounds.Size.Width - 100
            Dim PositionY = 0
            Dim FormHeight = My.Computer.Screen.Bounds.Size.Height - 100
            Me.Width = 100
            Me.Height = FormHeight
    
            Me.Location = New Point(PositionX, PositionY)

    Il vous reste à trouver la taille de la TaskBar et de changer dans formheight -100 en -hauteur Taskbar...

    Vous pouvez aussi utiliser My.Computer.Screen.WorkingArea.Height

    La mèthode Me.SetBounds(PositionX, 0, 100, FormHeight) est plus compact...


    Cyrille Precetti



    vendredi 29 janvier 2016 16:48
  • Salut,

    Si ta form a déjà l'apparence idéale tu peut simplement dans Load (Event) de ton application implémenter le code

                int aHeight = SystemInformation.VirtualScreen.Height;
                int aWidth = SystemInformation.VirtualScreen.Width;
                this.DesktopLocation = new Point( aWidth - this.Width, aHeight - (aHeight - 50));

    Ceci est valable si tu utilises C#

    J’espère que ça aide


    Many


    vendredi 29 janvier 2016 17:40
  • J'ai tester ce code sur un projet WPF et dans le code :

    Me.Location = New Point(PositionX, PositionY)

    le terme "Location" est souligné en rouge.Par quoi doit on le remplacer?


    JF Collombet ® CreateSpecificCulture

    dimanche 31 janvier 2016 08:42
  • Autant pour moi, il suffisait de dire :

    Public Property Location As Point

    pour régler le problème

    Par contre fait étrange, avec exactement le même code, lorsque je créer un projet WindowsForm, le form s'ouvre à droite (comme désiré) et dans un projet WPF il est à gauche de l'écran!

     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim PositionX = My.Computer.Screen.Bounds.Size.Width - 130
            Dim PositionY = 0
            Dim FormHeight = My.Computer.Screen.Bounds.Size.Height - 50
            Me.Width = 100
            Me.Height = FormHeight
    
            Me.Location = New Point(PositionX, PositionY)
        End Sub


    JF Collombet ® CreateSpecificCulture


    dimanche 31 janvier 2016 09:00