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

lumesh Messages postés 564 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 7 novembre 2008 - 6 oct. 2006 à 10:10
pomedeterre Messages postés 4 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 8 novembre 2006 - 8 nov. 2006 à 09:03
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
8 nov. 2006 à 09:03
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 7
11 oct. 2006 à 09:35
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
6 oct. 2006 à 10:10
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!
Rejoignez-nous