Souci de Form non déplaçable

Résolu
Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 - 25 oct. 2011 à 11:53
Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 - 26 oct. 2011 à 16:08
Bonjour,
J'ai un petit souci avec un form
dans ses propriétés, j'ai locked a "false", j'ai egalement FormborderStyle sur "sizable"
benefice net, quand je lance le form, il se lance en "centerscreen" (ca c'est bon) mais je ne peux ni le redimensionner, encore moins le deplacer sur l'ecran
aurais je oublié quelque chose dans les proprietes ou le code ??

Ps : Je n'ai pas vu de
form.locked = True
dans le code

Merci

31 réponses

ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
26 oct. 2011 à 12:34
Attila54, suite

Sais-tu que mon second vrai prénom est "Attila"

Bon, oui... le debuger je doute qu'il déniche ce genre de truc car ton code est bon puisque ça marche

Examine aussi les procédure évènementielles, certaines sont sans doute capables d'interférer (les Move les Mouse ...)...

Ce qu'il faut maintenant essayer c'est de créer une nouvelle form vide de la même espèce et de voir si elle se déplace, de telle sorte qu'on isole ou pas un problème issu des paramètres généraux de configuration de l'application, peux-tu dire ?

@+ alors, cordialement, Joe.
3
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
26 oct. 2011 à 13:00
Suite...

Ouais, alors généralement le plus rapide dans ce cas, c'est de recopier ton code et tes objets par copier/coller, et de voir si ça tourne en ajustant les noms si besoin à la nouvelle forme, si "oui" ça vient des propriétés, si "non" ça vient du code.

(après, une forme en trop n'a aucune importance)...

Qu'en est-il ?

Cordialement, Joe.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 oct. 2011 à 14:47
Ce code que tu nous montre-là n'est pas seulement "suspect" ! Il remet le Form au centre systématiquement *
Bien évidemment, qu'il faut donc le supprimer, si tu veux pouvoir déplacer ton Form.
Et d'un, donc ! Continue à chercher ===>> tu vas en trouver ailleurs du même jus.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
26 oct. 2011 à 15:00
Eh ouais que j'avais écrit :


Examine aussi les procédure évènementielles, certaines sont sans doute capables d'interférer (les Move les Mouse ...)...


La procédure évènementielle Move s'active dès que la feuille bouge...

C'est quand même bizarre ce que ton prédécesseur a fait, c'est un code autoritaire pour le moins

Tu aurais gagné à déposer ton code ici, on à l'habitude de le lire le code, on aurait sans doute trouvé rapidement, surtout en sachant à peu près ce qui pouvait provoquer ça... serait-ce un code qui contient des secrets... normalement c'est dans les fichiers les secrets...
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 1
26 oct. 2011 à 16:08
ca y est j'ai trouvé

J'avais un deuxieme event sur un move qui bloquait le form (pour resoudre un souci de résolution d'ecran)

J'ai enlevé chaque event, j'ai conservé le traitement de l'erreur de resolution et j'ai mis le demarrage en centerscreen la ou ca n'y etait pas.

Du coup j'ai aussi resolu le souci de freeze du form que j'evoquais sur un autre topic.

Merci a tous et a toutes pour vos aides et conseils respectifs.
3
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
25 oct. 2011 à 12:34
Bonjour,

Propriétés
------
FormBorderStyle = FixedSingle
OU
FormBorderStyle = Fixed3D
+
MaximizBox = false
+
MinimizBox = false

Pour le déplacement je ne sais pas s'il y a une propriété car ça va à l'encontre du principe même des forms de MS...
Tu peux au moins le faire par le code ainsi :

En variable globale :
Option Explicit On
Public Class Form1
  Dim positionLeft As Integer
  Dim positionTop As Integer


+

En procédure évènementielles
Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
    positionLeft = Me.Left
    positionTop = Me.Top
End Sub

Sub Form1_Move(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Move
    Me.Left = positionLeft
    Me.Top = positionTop
  End Sub


Ça devrait marcher

Cordialement.

Joe.
0
Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 1
25 oct. 2011 à 12:47
Merci EhJoe, je teste cela de suite
0
Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 1
25 oct. 2011 à 12:53
Ban ca ne fonctionne pas exactement comme je voudrais
en fait lorsque je lance le formulaire, il s'affiche en centerscreen, je ne peux pas le redimensionner et je ne peux pas le deplacer a la souris. Il reste figé au milieu de l'ecran.

Ce que je voudrais, c'est
- Que le form se lance au centre de l'ecran
- NE PAS POUVOIR le redimensionner
- POUVOIR le déplacer à la souris sur l'ecran.

Pour mon cas cela se resume a :
Comment pouvoir déplacer a la souris un formulaire qui se lance au centre de l'ecran ?

Merci bien
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
25 oct. 2011 à 15:26
Oh, désolé, j'ai compris ta question à l'envers, oh là là...

Ben alors tu supprimes les deux procédure et les deux variables, puis tu mets :

FormBorderStyle = Sizable
+
MaximizBox = true
+
MinimizBox = true

Cordialement.

Joe.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
25 oct. 2011 à 19:22
Salut

tiens
Public Class Form1
    Private lastmouselocation As New Point
    

    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
        lastmouselocation = e.Location
    End Sub

    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
        Dim pt As New Point
        pt = e.Location

        pt.X = (pt.X + Me.Left) - lastmouselocation.X
        pt.Y = (pt.Y + Me.Top) - lastmouselocation.Y

        Me.Location = pt
        
    End Sub
End Class
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
25 oct. 2011 à 19:57
améliorer

Public Class Form1
    Private lastmouselocation As New Point
    Private moveok As Boolean


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

        If e.X > (Me.Width / 10) And e.X < (9 * Me.Width / 10) And _
         e.Y > (Me.Height / 10) And e.Y < (9 * Me.Height / 10) Then
            lastmouselocation = e.Location
            moveok = True
        Else
            moveok = False
        End If

    End Sub

    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
        Dim pt As New Point

        If moveok Then
            pt = e.Location
            pt.X = (pt.X + Me.Left) - lastmouselocation.X
            pt.Y = (pt.Y + Me.Top) - lastmouselocation.Y

            Me.Location = pt
        End If
    End Sub

    Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
        moveok = False
    End Sub
End Class
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
25 oct. 2011 à 20:11
Locked c'est pour verrouiller les objets lors de la conception, ça ne joue pas sur le déplacement de la form une fois le code compilé...

Tu as quelle version de vbNet et quelle type de form ?

Il n'y a pas de code à écrire pour déplacer avec la souris une form, ce n'est pas normal, t'as du modifier quelque chose ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 oct. 2011 à 20:32
Bonjour, EhJoe,

Je vois une contradiction entre :
Ce que je voudrais, c'est
- Que le form se lance au centre de l'ecran
- NE PAS POUVOIR le redimensionner
- POUVOIR le déplacer à la souris sur l'ecran.

et ton :
FormBorderStyle = Sizable



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
25 oct. 2011 à 20:47
Salut
le bout de code que j'ai écrit permet de déplacer
la form avec la souris à condition que le curseur
ne soit pas trop près du bord
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
25 oct. 2011 à 22:52
Bonsoir UCfoutu,

Voici ce qui est écrit :

j'ai locked a "false",

Aucun rapport je crois...

j'ai egalement FormborderStyle sur "sizable"

Alors c'est qu'il veut redimensionner la form...

benefice net, quand je lance le form, il se lance en "centerscreen"

Quel rapport avec ce qui est susdit ?

(ca c'est bon) mais je ne peux ni le redimensionner,

Si elle est à "Sizable" il peut la redimensionner, or il dit que non en employant une négation "mais je NE peux", ce qui veut dire qu'il VOUDRAIT QUE, c'est ça qui m'a fait plonger dans le contraire de ce qu'il voulait, et encore...

encore moins le deplacer sur l'ecran

On est toujours dans la même négation, il NE peux, donc IL VOUDRAIT, mais cette fois il veut vraiment a contrario du début de la phrase je présume...

aurais je oublié quelque chose dans les proprietes ou le code ??

Il veut quoi au juste... c'est pas clair, désolé

-------------

Quant au code pour déplacer la form à la souris, certes on peut, mais pas dans ce cas, puisque qu'il ne mentionne pas que la form n'a pas de bandeau, donc elle se déplace normalement à la souris sur son bandeau... à moins que...

Là, s'il ne reprend pas sa phrase j'abandonne, je n'y comprends rien car sa phrase dit deux choses contraires...

Bonne soirée, cordialement.

Joe.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 oct. 2011 à 03:26
Il est certain que le demandeur a des curieuses manières de tourner autour du pot pour exposer son problème.
Et qu'il ne dit pas un seul mot concernant la barre de titre, dont la présence ou l'absence fait que l'on serait dans deux cas différents :
- présente, il suffit d'empêcher le redimensionnement (borderstyle à fixe) et de ne rien toucher des autres propriétés par défaut
- absente, il faut y ajouter du code pour un déplacement (du genre de ce qu'a proposé ShayW).


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 1
26 oct. 2011 à 10:09
Bonjour a tous
Bon je vois que je me suis mal exprime alors je recapitule :
sur mon form en question j'ai bien la barre de titre avec les bouton fermeture, reduction et agrandissement. Ces boutons fonctionnent

Quand je lance le logiciel, le form se positionne en centerscreen c'est ce que je veux

Par contre je ne peux pas le deplacer sur l'ecran des que j'essaye avec la souris il ne bouge pas. Il est donc figé au centre de l'ecran

Je voudrais simplement pouvoir le deplacer avec ma souris comme cela se pratique normalement.


j'ai locked a "false",
j'ai egalement FormborderStyle sur "sizable"


Ca c'est ce que je vois dans les proprietes de mon form, c'etais juste pour préciser ce que je voyais.
0
Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 1
26 oct. 2011 à 10:12
Et même, malgré que j'aie FormborderStyle sur "sizable" , je ne peux quand même pas redimensionner le formlulaire à la souris

J'en ai conclu que j'avais quelque chose dans le code qui verrouillait le form d'ou ma question :
aurais je oublié quelque chose dans les proprietes ou le code ??
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 oct. 2011 à 10:28
Nous ignorons totalement ce que tu aurais pu mettre dans ton code qui contrecarrerait les propriétés définies au départ !
Et il y a moult possibilités de figer, etc ...
C'est toi, celui qui a écrit le code ! A moins de l'avoir copié de "quelque-part",sans le comprendre, tu DOIS savoir ce que tu y fais !
A ce niveau, donc ===>> Une seule réponse :
Fais un nouveau projet tout neuf, sans ton code. Si toujours même problème : reviens nous en parler. Si plus de problème : relire ma phrase juste au-dessus (-la partie soulignée, notamment)


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 1
26 oct. 2011 à 10:43
je n'ai pas copie ce code, le developpeur initial est parti de la societe et j'ai simplement pris la suite.
0
Rejoignez-nous