![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| larinva |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
Всем привет! подскажите как в этом коде реализовать перетаскивание картинки по форме с Label и тому подобными контролами все понятно а вот с картинкой у меня затруднение
Form2
Form1
Суть кода из Form2 на Form1 добавляется картинка и ее нужно двигать по форме. Помогите очень нужно |
||||
|
|||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
кто нибудь отзовитесь
|
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
что то не пойму каким образом перетаскиванеи происходит
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
как раз и нужно добавить в этот проект перетаскивание
|
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
а зачем переопределен онпаинт? может засадить картинку в PictureBox лучше?
Суть описана тут http://blog.ninethsense.com/move-a-control...h-mose-on-form/ -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
онпайнт переопределен для того чтобы добавлять картику из form2 на form1. Я знаю как перемещать кнопки листбоксы и тому подобные контролы, проблема у меня именно в перемещении картинки которую добавляю с form1 на form2
Это сообщение отредактировал(а) larinva - 7.9.2010, 12:00 |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
для этого переопределять думаю не обязательно. А в чем конкретно проблема?
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 5 Всего: 40 |
larinva,
1. загнать картинку в свой класс, которому передавать координаты клика мыши, а он будет определять попал ли клик именно по картинке. 2. Держать в Form1 2 переменных типа Point (левый верхний и нижний правый угол картинки), и смотреть попадает ли мышь в данный диапазон. Я бы пошел по первому пути, ибо он расширяем (например в дальнейшем надо будет поворачивать картинку, тогда надо будет добавить один метод в свой класс, а не городить непонятные действия в коде формы). Если надо, то через пол часика накидаю пример |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
Отлично gambit пример нужен
|
|||
|
||||
| Fortnox |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 31.10.2008 Где: Ростов-на-Дону Репутация: 14 Всего: 22 |
Время было, набросал пример.
Наш PictureBox:
И небольшой пример. Присоединённый файл ( Кол-во скачиваний: 3 )
WindowsFormsApplication1.zip 39,15 Kb |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
если не сложно gambit скинте тоже примерчик
|
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
в итоге используется то же самое что и по ссылке было.
Fortnox, по ходу вариант этот не подойдет) от PictureBox отказался автор) -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
да ты прав CYBERDREAM через PictureBox не подходит
Это сообщение отредактировал(а) larinva - 7.9.2010, 14:23 |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
larinva, колись, в чем проблема то, что именно не получается? Ты так и не ответил на мой вопроис
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
CYBERDREAM прикрепил проект. Нужно реализовать перетаскивание роз по форме в этом у меня и заключается проблема
Присоединённый файл ( Кол-во скачиваний: 10 )
WindowsFormsApplication1.zip 321,74 Kb |
|||
|
||||
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 5 Всего: 40 |
по нажатию на кнопку на второй форме, добавляется 5 картинок на первую. Все можно двигать.
В целом можно все это оптимизировать, доделать, что бы при клике по мышке, левый верхний угол картинки не прыгал под мышь. Так же не реализована подпись под картинкой, но это тебе пример как легко данный подход расширять. Что бы добавить подпись под картинкой, надо в классе картинки завести переменную стринг, этот стринг принимать через конструктор и выводить в методе Draw. Это сообщение отредактировал(а) gambit - 7.9.2010, 14:49 Присоединённый файл ( Кол-во скачиваний: 9 )
DragPicture.zip 13,50 Kb |
|||
|
||||
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 5 Всего: 40 |
larinva, совет: никогда не оставляй имена контролов по умолчанию. В том проекте который я прикрепил, я этим тоже грешу, но грешу в меру, и это все равно пример, который посмотрится и удалиться. А у тебя проект, который тебе расширять и сопровождать - сейчас в нем 2 формы и один класс, а уже нихрена не понятно что и куда.
Присоединённый файл ( Кол-во скачиваний: 6 )
DragPicture.zip 13,50 Kb |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
в итоге суть то таже) по ходу автор не мог понять как отследить нажатие на изображение
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
Сп-бо за совет gambit я стараюсь давать контролам понятные имена этот проект тестовый я в нем отрабатываю, что нужно и потом переношу в настоящий делаю это для того чтобы в нормальном проекте не нахерачить т.к еще мало опыта в программировании. И отдельное сп-бо за примеры и помощь с меня +
Добавлено @ 15:06 подскажите CYBERDREAM как это сделать
Это сообщение отредактировал(а) larinva - 7.9.2010, 15:06 |
|||
|
||||
| Fortnox |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 31.10.2008 Где: Ростов-на-Дону Репутация: 14 Всего: 22 |
CYBERDREAM, уже понял). Значит пойдем другим путем.
larinva, дело в том, хоть вы и создаете элементы управления, и размещаете их. После, судя по коду, вы попросту рисуете картинку и текст поверх элемента. Логичнее было бы, как вариант, размещать картинку и текст внутри элемента управления и, либо рисовать их, либо поместить элементы, тот же PictureBox (для картинки) и Label (для текста). Немного подправил ваш проект, чтобы показать наглядно, что я имел ввиду. Присоединённый файл ( Кол-во скачиваний: 6 )
WindowsFormsApplication1.zip 217,04 Kb |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
так ведь уже сделано, у класса MyPicture определен методо IsMe вот он и проверяет кликнул ты в нем или нет.
Добавлено через 2 минуты и 50 секунд larinva, значит проблема у тебя была именно в этом, определить куда кликнул. Про это я тебя и спрашивал) -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
Знаю, что можно добавлять через контролы как в примере у Fortnox, но не катит потому, что подпись к картинкам обрезается размерами котрола я потому и сделал так а своем примере!!!!
|
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
ну я думаю можно было и так реализовать, было бы желание) ну да ладно. Главное работает
"Мы не ищем легких путей, нам лень" -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
Сп-бо всем кто откликнулся, Примеров много буду разбираться. Думаю что тему можно закрывать
|
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
Все понятно, но при добавлении картинок на panel они перестают двигаться че за хрень с моими кривыми руками. Пришлось продолжить тему, если еще не устали от моей глупости подскажите
|
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
Доброй ночи)
Думаю ты таки не уяснил суть событий. В исходниках gambit'a форма подписана на события MainForm_MouseMove, MainForm_MouseUp, ... и прочая ересь. Теперь же у тебя картинки на панели, так что нужно их подписать на эти же события, а форму можно отписать. (В PropertyWindow в закладке события) Добавлено через 1 минуту и 7 секунд либо вручную в дизайнере) это позапористее -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
И тебе доброй ночи CYBERDREAMщас попробую
Это сообщение отредактировал(а) larinva - 8.9.2010, 23:10 |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
см. Аттач. для формы убираешь ненужные подписки на события, а на панели устанавливай
Присоединённый файл ( Кол-во скачиваний: 6 )
______.PNG 13,77 Kb-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
делал так с примером от gambit никуя не работает (((((
|
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
За возню со мной + тебе CYBERDREAM, Может кто подскажет что нужно читать чтобы не задавать такие вопросы?
Или на начальном этапе у всех так? Это сообщение отредактировал(а) larinva - 9.9.2010, 08:39 |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
А что делать с мерцанием CYBERDREAM? если не сложно
|
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
На начальном этапе я бы почитал книжку. Я читал Троелсена. Хотя и нудновато местами. Остально все прийдет)
А на счет мерцания пока не скажу, надо обмозговать)) чуть позже освобожусь Добавлено через 22 секунды а где плюсик)))))))) -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
За + CYBERDREAM извиняюсь исправился )))
|
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
Боюсь придется создать свой контрол)
В аттаче таковой, отличие от твоего то, что прорисовка происходит в onpaintBackground ну и коллекцию изображений я тоже внес в контрол. Добавлено через 2 минуты и 18 секунд кстати без двойной буферизации никак, так что http://msdn.microsoft.com/ru-ru/library/sy...l.setstyle.aspx было использовано Присоединённый файл ( Кол-во скачиваний: 19 )
DragPicture_7.rar 19,76 Kb-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
а по другому избавиться от мерцания и как?
|
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
а чем не устраивает с контролом своим? По другому никак, ведь перекрыть метод OnPainBackGround никак.
Сделай контрол и не парься) Добавлено через 53 секунды GDI всегда ведь тормознутый был и будет) переходи на WPF -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
а что WPF действительно хорош?
|
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
а с литературой на русском похоже проблемка или я ошибаюсь
Добавлено через 1 минуту и 13 секунд думаю что делать с панелью |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
на счет панели: контрол, который я сделал, можно унаследовать от Panel. И вот у тебя получится расширенный Panel для своих нужд без мерцаний. Иначе не реализуешь - такая уж наша судьба грешная. Да ничем это ведь тебе не помешает, или нет?
На счет WPF WPF. Windows Presentation Foundation в .NET 3.5 с примерами на C# 2008 для профессионалов в сети полно сурсов для закачки. Если не найдешь, напишу в личку - незнаю можно ли выкладывать линки. На днях буду покупать эту книгу. Но все же тебе нужно почитать и про основы шарпа, прежде чем переходить к WPF - на мой взгляд, а то без базы сложновато будет -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
нашел
а на счет основ читаю тока чет с трудом дается читаю вроде все понятно,а как начинаю что - то делать то как баран на новые ворота смотрю (((( Это сообщение отредактировал(а) larinva - 9.9.2010, 22:49 |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
так как с контролом, вариант подошел?
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| larinva |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 24.7.2006 Репутация: нет Всего: 1 |
я еще не пробовал чет с утра загружен как тока так сразу отпишусь )))
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |