Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2008, 12:11   #1
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
Плохо drag&drop задание координат

Вот пример как я задаю координаты где должен появится pictureBox, но координаты не верные ... как сделать чтобы появился там где отпустил мышью и если взялся за компонент по-середине, то чтобы и отпустил по-середине компонента???
Код:
 private void pWork_DragDrop(object sender, DragEventArgs e)
{
..............................................................
				Point poi = new Point();
				poi.X = e.X;
				poi.Y = e.Y;
				pictures.Left = PointToClient(poi).X;
				pictures.Top = PointToClient(poi).Y;
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Старый 15.09.2008, 14:00   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

В начале операции нужно запомнить смещение координат мышки относительно угла, а в конце вычесть это смещение. На примере перетаскивания кнопки с панели на панель (button1.enabled = false)

Код:
        private Point Delta;

        private void panel1_MouseDown(object sender, MouseEventArgs e)
        {
            Point p = new Point(e.X, e.Y);
            Delta = new Point(p.X - button1.Left, p.Y - button1.Top);

            panel1.DoDragDrop(button1, DragDropEffects.Move);
        }

        private void panel2_DragDrop(object sender, DragEventArgs e)
        {
            Point p = new Point(e.X - Delta.X, e.Y - Delta.Y);
            p = panel2.PointToClient(p);

            button1.Location = p;
            button1.Parent = panel2;
        }
alexBlack вне форума Ответить с цитированием
Старый 15.09.2008, 14:45   #3
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
По умолчанию

Вопрос:
почему private void panel1_MouseDown(object sender, MouseEventArgs e)
если при нажатии на picture или в Вашем случае Button нужно перетаскивать только ... ммм .... срабатывает событие MouseDown не панели ???
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Старый 15.09.2008, 15:24   #4
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Это ж только пример. Перетаскивание button начинается при нажатии в любой точке панели 1 (не только в button). А когда перетащили на panel2 button располагается относительно курсора так-же как было при захвате на Panel1
alexBlack вне форума Ответить с цитированием
Старый 15.09.2008, 15:24   #5
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
По умолчанию

2alexBlack
всё понял что нужно от меня

Большое спасибо.
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Старый 15.09.2008, 15:26   #6
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
Смех

Цитата:
Сообщение от alexBlack Посмотреть сообщение
Это ж только пример. Перетаскивание button начинается при нажатии в любой точке панели 1 (не только в button). А когда перетащили на panel2 button располагается относительно курсора так-же как было при захвате на Panel1
Просто надо было быстро это сделать - некогда было думать
пришлось подумать немного ....


на 4-рёх форумах этот вопрос выставил, тут ответили

Ещё раз спасибо
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
drag $ drop в DBGrid AlexandrSid Общие вопросы Delphi 13 21.06.2010 10:55
Помогите с drag-and-drop Cezar Win Api 3 19.10.2008 15:48
Drag&Drop в ListBox'ах MAKEDON Общие вопросы Delphi 3 21.08.2008 13:12
Drag&Drop shtuceron Общие вопросы Delphi 3 09.04.2008 19:04
Drag and Drop Xardas Общие вопросы Delphi 8 20.01.2008 23:09