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 :

[VB.NET] déplacer une form sans bodure


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 14
    Points
    14
    Par défaut [VB.NET] déplacer une form sans bodure
    bonjour

    sa fait bientot 2 jour que je recherche comment deplacer une form
    à laquelle j'ai hoté ses bordure avec FormBorderStyle=none
    je suis sur visual studio 2005
    j'ai tenté plusieurs approche mais aucune n'a marcher
    si quelqu'un pourrais me filer un coup de patte
    merci d'avance

  2. #2
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Et pouquoi tu ne mets pas une bordure ? comme ca tu pourras la déplacer !
    Mets la en SizableToolWindow, y'a pratiquement pas de bordure si c'est la ControlBox qui te gene, tu ne l'auras pas.
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  3. #3
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 55
    Points
    55
    Par défaut
    Grosso modo, il suffit de récupérer le mousedown sur ta form. Si la souris bouge (mousemove ou quelque chose comme ça) pendant que le bouton de la souris est appuyé, il faut déplacer la fenêtre. Lorsque le clic gauche est relevé, plus d'effet.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par Aspic
    Et pouquoi tu ne mets pas une bordure ? comme ca tu pourras la déplacer !
    Mets la en SizableToolWindow, y'a pratiquement pas de bordure si c'est la ControlBox qui te gene, tu ne l'auras pas.
    en fait le form n'est pas rectangulaire donc avec ta technique il reste des vide pour combler le carré windows

    et pour la technique du mousedown/mousemove/mouseup c'est ce que j'essai de faire mais vue que j'ai commencer vb ya 1 mois j'ai un peut de mal à me dépatoiller

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    voila où j'en suis

    Dim x_form As Integer
    Dim y_form As Integer
    Dim click_ok As Integer



    Private Sub MainForm_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown

    click_ok = 1

    End Sub

    Private Sub MainForm_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
    If click_ok = 1 Then

    Me.Location = New System.Drawing.Point(e.X, e.Y)

    End If

    End Sub

    Private Sub MainForm_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
    click_ok = 0
    End Sub
    sa marche mais pas comme il faudrais
    il y'a une sorte de clignotement lorsque je deplace la form
    si quelqu'un sait comment amélioré mon code

  6. #6
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 55
    Points
    55
    Par défaut
    Lorsque tu déplaces une fenêtre dans Windows, le système attend que tu ais relaché la souris pour redessiner entièrement la fenêtre. Pendant le déplacement seul un cadre est affiché. Ca permet d'éviter les clignotements.

  7. #7
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 55
    Points
    55
    Par défaut
    Ce lien t'intéressera peut-être : Shaped Windows Forms and Controls in Visual Studio .NET. Ca parle de Form avec des formes particulières, et ca traite aussi du déplacement des fenêtres sans bordure.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    merci pour le lien
    sa marche niquel
    voilou le code :
    Dim mouse_offset
    Private Sub Form1_MouseDown(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles MyBase.MouseDown
    mouse_offset = New Point(-e.X, -e.Y)
    End Sub

    Private Sub Form1_MouseMove(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles MyBase.MouseMove
    If e.Button = Windows.Forms.MouseButtons.Left Then
    Dim mousePos As Point = Control.MousePosition
    mousePos.Offset(mouse_offset.X, mouse_offset.Y)
    Location = mousePos
    End If
    End Sub

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/08/2010, 01h44
  2. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 12h45
  3. Déplacer une Form sans barre de titre
    Par stigma dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 16/02/2006, 13h45
  4. [VB.NET] Comment déplacer une Form d'une appli. exterieure?
    Par jazz matazz dans le forum Windows Forms
    Réponses: 8
    Dernier message: 03/02/2006, 01h24
  5. [C#] [VS.NET] Réutiliser une Form d'une application windows?
    Par yannick_sch dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/10/2004, 14h28

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