Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> перетаскивание картинки в PictureBox 
:(
    Опции темы
HelgaZaharova
Дата 24.4.2008, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Нажимаю кнопку на мыши и пытаюсь перетащить картинку

Код:
private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
        {      p.X=pictureBox1.Location.X;//запомнили расположение картинки            p.Y=pictureBox1.Location.Y;
            ps.X=e.X;//запомнили где ткнули            ps.Y=e.Y;}

        
private void pictureBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
        {
                   if(!p.IsEmpty){//перемещаем картинку
       pictureBox1.Location=new Point(p.X+(e.X-ps.X),p.Y+(e.Y-ps.Y));}
            
        }

private void pictureBox1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            p.X=0;
            p.Y=0;
        }
Картинка не перетаскивается как надо.
В чем может быть дело? smile 
PM MAIL   Вверх
amarenkov
Дата 25.4.2008, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 21.2.2008
Где: Воронеж

Репутация: нет
Всего: нет



По-идее, лучше это делать DragAndDrop...
PM MAIL ICQ   Вверх
vponomarov
Дата 25.4.2008, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 5
Всего: 12



HelgaZaharova, а че неправильно-то?
такой вот код вполне ожидаемо перемещает пикчерБокс
Код

        private Point ps = new Point(0, 0);
        bool mouseLeftDown = false;
        private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            ps.X = e.X;//запомнили где ткнули            
            ps.Y = e.Y;
            if (e.Button == MouseButtons.Left)
                mouseLeftDown = true;
        }

        private void pictureBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            if (mouseLeftDown)
                pictureBox1.Location = new Point(pictureBox1.Location.X + (e.X - ps.X), pictureBox1.Location.Y + (e.Y - ps.Y));
        }

        private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
                mouseLeftDown = false;
        }



--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
HelgaZaharova
  Дата 26.4.2008, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



vponomarov, Ошибок-то нет, но вот картинка не перемещается... Может дело в обрботчике...
PM MAIL   Вверх
Dennnis
Дата 26.4.2008, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 23.3.2008

Репутация: 2
Всего: 4



Здесь ответ на точно такой же вопрос
--------------------
Get Rich or Die Tryin'
PM   Вверх
vponomarov
Дата 26.4.2008, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 5
Всего: 12



Цитата(HelgaZaharova @  26.4.2008,  15:48 Найти цитируемый пост)
vponomarov, Ошибок-то нет, но вот картинка не перемещается... Может дело в обрботчике... 

а ты и не пытался переместить картинку. двигается пикчурБокс а не картинка. причем правильно двигается smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
amarenkov
Дата 28.4.2008, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 21.2.2008
Где: Воронеж

Репутация: нет
Всего: нет



Цитата(vponomarov @  26.4.2008,  22:18 Найти цитируемый пост)
... причем правильно двигается.


А вот как раз и неправильно. У меня она мерцает и двигается с какими-то дикими спецэффектами :(.

PM MAIL ICQ   Вверх
vponomarov
Дата 28.4.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 5
Всего: 12



Цитата(amarenkov @  28.4.2008,  08:26 Найти цитируемый пост)
А вот как раз и неправильно. У меня она мерцает и двигается с какими-то дикими спецэффектами :(.

ну так это уже другой вопрос.
нужно ж было написать, что именно неправильно работает, потому что экстрасенсов тут не очень много smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
HelgaZaharova
Дата 7.5.2008, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



А если все-таки перетаскивать картинку в PictureBox?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0542 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.