//Добавляем экземпляр класса в список и отрисовываем объекты private void AddPair(string marketName) { Point _left_loc = NewLocationForPanel(_activeMarketList.Count); //отключаем ScrollBar (из за специфики отображения компанента Panel необходимо отключить прокрутку) MainPanelWithScroll.AutoScroll = false; MarketPair marketPair = new MarketPair(marketName, _left_loc, _activeMarketList, ref MainPanelWithScroll, _panelElementsHeight, _panelDistance, consoleForm); //подписываем на событие обновления StatusBar marketPair.onUpdateEnd += IncrementProgressBar; //отрисовываем элементы marketPair.AddMarketElement(); //включаем ScrollBar MainPanelWithScroll.AutoScroll = true; //добавляем в список _activeMarketList.Add(marketPair); }
public List <MarketPair> ReLocationElement() { int currentIndex = 0; _mainPanel.AutoScroll = false; foreach (var refPair in _referenceListPairs) { string _name = refPair._marketName; int _posY = refPair.PosY; //поиск пары MarketPair pair = _onShowListPairs.Find(x => x._marketName == _name); //получаем индекс пары в не сортированном списке int indexShowPair = _onShowListPairs.IndexOf(pair); // если индексы не совпадают то перемещаем в позицию как в сортированном списке if (currentIndex != indexShowPair) { pair.PanelMoveTo(NewLocationForPanel(currentIndex)); } currentIndex++; } _mainPanel.AutoScroll = true; return(_onShowListPairs); }