COMPOSANT QUI COLLE UNE FENÊTRE AUX BORDS DE L'ÉCRAN

Signaler
Messages postés
564
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
7 novembre 2008
-
pomedeterre
Messages postés
4
Date d'inscription
jeudi 19 janvier 2006
Statut
Membre
Dernière intervention
8 novembre 2006
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34975-composant-qui-colle-une-fenetre-aux-bords-de-l-ecran

pomedeterre
Messages postés
4
Date d'inscription
jeudi 19 janvier 2006
Statut
Membre
Dernière intervention
8 novembre 2006

Bonjour !!!

Heuuu, je me sens tout petit là mais j'ai une question toute bête...

Comment on s'en sert de ce koli code ???

Désolé pour cette horrible question, merci !
cs_yoannd
Messages postés
305
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
4
Génial, merci pour l'info !
C'est vrai que ce problème de clignotement était assez génant, j'essaierai bientot ta nouvelle méthode !
lumesh
Messages postés
564
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
7 novembre 2008

pour le deplacement et le collage de ta form:

private bool mouseIsDown = false;
private Point mouseLastPoint;
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (e.X >= 0 && e.X <= this.Width && e.Y >= 0 && e.Y <= 24 && e.Button == MouseButtons.Left)
{
mouseIsDown = true;
mouseLastPoint = new Point(e.X, e.Y);
}
}
protected override void OnMouseMove(MouseEventArgs e)
{
Point a = new Point();
if (mouseIsDown)
{
a = new Point(this.Left - (mouseLastPoint.X - e.X), this.Top - (mouseLastPoint.Y - e.Y));
if (a.X <= 10)
{
a = new Point(0, a.Y);
}
if (a.Y <= 10)
{
a = new Point(a.X, 0);
}
if (a.X >= (Screen.GetWorkingArea(this).Width - this.Width - 10))
{
a = new Point(Screen.GetWorkingArea(this).Width - this.Width, a.Y);
}
if (a.Y >= (Screen.GetWorkingArea(this).Height - this.Height - 10))
{
a = new Point(a.X, Screen.GetWorkingArea(this).Height - this.Height);
}
this.Location = a;
}
base.OnMouseMove(e);
}
protected override void OnMouseUp(MouseEventArgs e)
{
base.OnMouseUp(e);
mouseIsDown = false;
}

Et la pas de pb ca clignote plus! il faut modifier la position de la form d'abord en memoire et une fois le tout calculé tu dois le definir dans la form.
Tu fais toutes tes conditions et apres seulement du donnes la position a la fenetre!