Ограничить границы перемещения формы. - C#
Формулировка задачи:
Как ограничить границы перемещения формы на экране. Пробывал просто если левая позиция < то установить на нужное место, но смотрится не очень. Есть способы это сделать красиво?
пробовал на Move и LocationChanged.
получается что когда форму перетягиваешь, она моргает.
есть ещё какие-нибудь способы? или как от моргания избавиться)
Решение задачи: «Ограничить границы перемещения формы.»
textual
Листинг программы
//переменные класса private bool isDragging = false; private Point oldPos; //в конструкторе this.MouseDown += new MouseEventHandler(MyForm_MouseDown); this.MouseMove += new MouseEventHandler(MyForm_MouseMove); this.MouseUp += new MouseEventHandler(MyForm_MouseUp); //методы private void MyForm_MouseDown(object sender, MouseEventArgs e) { this.isDragging = true; this.oldPos = new Point(); this.oldPos.X = e.X; this.oldPos.Y = e.Y; } private void MyForm_MouseMove(object sender, MouseEventArgs e) { if(this.isDragging) { Point tmp = new Point(this.Location.X, this.Location.Y); tmp.X += e.X - this.oldPos.X; tmp.Y += e.Y - this.oldPos.Y; this.Location = tmp; } } private void MyForm_MouseUp(object sender, MouseEventArgs e) { this.isDragging = false; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д