Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Запретить перемещение формы по одной из координат (http://forum.oszone.net/showthread.php?t=299090)

corbis 28-04-2015 16:39 2501858

Запретить перемещение формы по одной из координат
 
Нужна идея реализации, не соображу в каком направлении копать.

Grabber2006 28-04-2015 17:21 2501877

Идея реализации:
Код:

const formpositionx; {расположение по горизонтали - константа}

form.x changed event; {событие изменения оси x}

event handler (var x) {обработчик события}
  if x<>formpositionx then x := formpositionx;

PS: Язык выдуманный (больше похож на Паскаль)

corbis 28-04-2015 22:41 2501995

Пока что получилось вот так:
Код:

private void Form_MouseDown(object sender, MouseButtonEventArgs e)
        {
            this.DragMove();
            if (!(Form.Top == 0))
            Form.Top = 0;
        }

Это Visual Studio 2013. WPF C#. Знакомство со студией непродолжительное совсем.
При данном варианте таскать форму можно в любой место, но при отпускании мышки форма отпрыгивает к краю экрана.
А вот какое событие обработать, чтобы координата Y вообще не менялась, не сообразил.
Но всё равно, спасибо.

Grabber2006 29-04-2015 11:44 2502169

У формы есть LocationChanged, если написать обработчик:
Код:

private void handelr1(object sender, EventArgs e)
        {
            if (!(this.Top == 0))
                this.Top = 0;
        }

То она "приклеивается" к верхнему краю экрана. VS2012

corbis 01-05-2015 00:26 2502723

Я, кстати, пробовал обработать это событие. Почему-то не сработало, вот и стал спрашивать. Наверно, ошибка где-то была.


Время: 20:37.

Время: 20:37.
© OSzone.net 2001-