Пристыковка окна к краю экрана

  1. private void Form1_Move(object sender, EventArgs e)
  2. {
  3.     const int MAGNETE_PIXELS = 15;
  4.     int x = this.Location.X;
  5.     int y = this.Location.Y;
  6.     int ww = Screen.PrimaryScreen.Bounds.Width;
  7.     int hh = Screen.PrimaryScreen.Bounds.Height;
  8.     //горизонталь
  9.     if (x <= MAGNETE_PIXELS) x = 0;
  10.     else if ((ww - this.Location.X - this.Width) <= MAGNETE_PIXELS) x = ww - this.Width;
  11.     //вертикаль
  12.     if (y <= MAGNETE_PIXELS) y = 0;
  13.     else if ((hh - this.Location.Y - this.Height) <= MAGNETE_PIXELS) y = hh - this.Height;
  14.  
  15.     this.Location = new Point(x, y);
  16. }
Создать обработчик формы Move и записать в него этот код.
MAGNETE_PIXELS задаёт, сколько пикселей экрана должна пересечь форма, чтобы пристыковаться к краю.

Реклама

Мы в соцсетях

tw tg yt gt