Dynamiczne rozmieszczanie komponentów

0

W mojej aplikacji użytkownik może sam zdefiniować ilość przycisków i ich położenie.
Na początku jest łatwo, bo jeśli ktoś wpisze np 5 przycisków to mogę jakoś obliczyć kolejne miejsca gdzie ten przycisk ma się znaleźć.
Ale jeśli ktoś rozmieści sam te przyciski a później dojdzie więcej przycisków, to jak teraz mam rozmieścić te przyciski ?
Te już ustawione zostają na swoich miejscach a te nowe muszą sobie wyszukać wolne miejsce na formie.
Jak wyszukać wolne miejsce skoro nie znam ani położenia ani rozmiaru innych przycisków ?
Wiem tylko jaki rozmiar ma nowo tworzony przycisk.

0

a z poprzednimi to co, przepadaja ?
FindComponent, albo tablicowanie buttonow. A wtedy latwo sobie mozesz poprzegladac ich Boundsy.

0

Nadawaj tworzonym przyciskom sensowną własnośc Name z kolejnym licznikiem, a później poprzez FindComponent możesz je
odszukać na formatce i w pętli sprawdzać położenie i dopasować nowe przyciski - tak aby się jakoś ładnie układaly na formatce.

0
olesio napisał(a)

Nadawaj tworzonym przyciskom sensowną własnośc Name z kolejnym licznikiem, a później poprzez FindComponent możesz je
odszukać na formatce i w pętli sprawdzać położenie i dopasować nowe przyciski - tak aby się jakoś ładnie układaly na formatce.

Ale problemem nie jest odnalezienie przycisków tylko zmierzenie przestrzenie między nimi (czy nowy button tam się zmieści)

Ewentualnie wpadłem na pomysł, żeby umieścić nowe przyciski gdzieś ma jakimś innym panelu, a użytkownik sam sobie przeciągnie je gdzie będzie chciał. Ale jak przeciągnąć przycisk z jednego panelu na inny ?

0

Koledzy napisali już. Ja do takiego czegoś używam listy/tablicy obiektów - wystarczy obliczyć odleglosc miedzy Left+Width poprzedniego, a Left Nastepnego i jest jasne czy sie zmiesci czy nie

1 użytkowników online, w tym zalogowanych: 0, gości: 1