Пример #1
0
        //Добавляем экземпляр класса в список и отрисовываем объекты
        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);
        }
Пример #2
0
        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);
        }