Tworzę sobie kontrolkę która jedną z właściwości jest jako kolekcja. Po dodaniu w desingerze itema na mojej kontrolce tworzy się groupbox i wszystko ok. Zrobiłem to poprzez nadpisanie metody listy generycznej (InsertItem) i reagowaniu na zdarzenie AfterItemInserted poniżej kod. Przy debugowaniu kontrolki wszystko ok. Designer też dobrze działa i jak ustawie sobię pułapki wchodzi ładnie. Idąc tą drogą nadpisałem metodę RemoveItem no i chciałem aby po naciśniećiu w desinerze usuwał mi stworzone groupboxy no i tu pojawił się zonk. A mianowicie po kliknięciu usuń w ogóle nie wchodzi w to zdarzenie i ugrzązłem w martwym punkcie nie wiem co dalej wykombinować. Byłbym wdzięczny za pomoc.
protected override void InsertItem(int index, T item)
{
EventHandler<ItemInsertedArgs<T>> beforehandler = BeforeItemInserted;
EventHandler<ItemInsertedArgs<T>> afterhandler = AfterItemInserted;
EventHandler handlerListChanged = ListChanged;
if (beforehandler != null)
{
beforehandler(this, new ItemInsertedArgs<T>(index, item));
}
base.InsertItem(index, item);
if (afterhandler != null)
{
afterhandler(this, new ItemInsertedArgs<T>(index, item));
}
if (handlerListChanged != null)
{
handlerListChanged(this, null);
}
}
protected override void RemoveItem(int index)
{
EventHandler<ItemRemovedArgs<T>> beforehandler = BeforeItemRemoved;
EventHandler<ItemRemovedArgs<T>> afterhandler = AfterItemRemoved;
EventHandler handlerListChanged = ListChanged;
T item = default(T);
if (index >= 0)
item = this[index];
WRListClass<T> old = this;
if (beforehandler != null)
{
beforehandler(this, new ItemRemovedArgs<T>(index, item));
}
base.RemoveItem(index);
if (afterhandler != null)
{
afterhandler(this, new ItemRemovedArgs<T>(index, item));
}
if (handlerListChanged != null)
{
if (old != this)
handlerListChanged(this, null);
}
}