Empecher un formulaire d'etre deplacé [Résolu]

Signaler
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
-
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
-
bonjour,

je met un formulaire en maximised mais j'enleve les boutons maximise et minimise.
a ce moment l'utilisateur peut deplacer le formulaire...
J'aimerais pouvoir l'empecher de deplacer ce formulaire.
Est-ce possible?
Comment faire?

merci

3 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
37
Salut, rajoute ce code dans ta forme :

private const int WM_NCHITTEST = 0x0084;
private const int HTBORDER = 18;
private const int HTCAPTION = 2;


protected override void WndProc( ref Message m )
{
   base.WndProc( ref m );


   if ( m.Msg == WM_NCHITTEST )
   {
      if ( m.Result == ( IntPtr )HTCAPTION )
      {
         m.Result = ( IntPtr )HTBORDER;
      }
   }
}
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
17
tu peux carrément enlever la barre avec bordersize à none...et si le style graphique ne te plait pas comme ca, ca devient plus "compliqué". Dans ce cas il faut soit que tu feinte en mettant une image en border qui va ressembler a la barre des taches, avec un bouton pour fermer dessus qui aie lui aussi le style windows (ca sera moche si ca tourne sous vista par exemple).
Solution autre, intercepter l'envoi de l'API disant que tu as voulu déplacer la fenetre et empêcher l'action...
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
1
nickel !
merci bien lutinore

(j'espere que ca n'aura pas d'effets secondaires ...)