[C#] przeciąganie elementu z toolboxa


(Masters87) #1

Witam,

chcę zrobić program, który będzie posiadał toolboxa z elementami graficznymi (strzałki w lewo, prawo,do góry,na dół). Te elementy będą przeciągane przez użytkownika i umieszczane na kontrolce PictureBox ( nie wiem czy to najlepsze rozwiązanie z tą kontrolką). Tylko że nie będzie można umieszczać dowolnie takie strzałki tylko będzie siatka, i na niej będzie można umieszczać strzałki. Nie wiem jak się do tego zabrać, nie wiem jak stworzyć takiego toolboxa, jak umieszczać później takie strzałki. Nie oczekuje gotowego rozwiązania. Chce żeby mnie ktoś naprowadził.


(Tomek Matz) #2

Jako toolbox może Ci posłużyć standardowa kontrolka TreeView. Umieścisz na niej 4 root-y (strzałka w lewo, prawo, do góry, na dół) i do każdego z nich przypiszesz sobie jakiś obrazek. Na kontrolce PictureBox będziesz musiał rysować siatkę. Ten link może być pomocny http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvcs/thread/4f3e1a60-1891-447c-bdcf-7e031bb685bb (pierwszy lepszy, który trafił mi się w wyszukiwarce). Gdy już to będziesz miał to będziesz musiał oprogramować Drag & Drop z TreeView na PictureBox. W obrębie zdarzenia DragDrop (dla PictureBox) odczytasz sobie współrzędne, na których wybrany element z TreeView został "upuszczony" oraz wartość tego elementu. Znając wartość i miejsce upuszczenia będziesz wiedział w którym miejscu kontrolki PictureBox dodać kontrolkę Button oraz jakiego rodzaju ma to być Button (czy strzałka w lewo, czy w prawo, itd.).

Zaznaczam, że nie wiem, czy jest to najlepsze rozwiązanie (nigdy czegoś takiego nie robiłem). Jeśli się na to rozwiązanie zdecydujesz to nie gwarantuję, że po drodze nie napotkasz jakiś trudności.