diff --git a/PROMS/Volian.Controls.Library/StepPanel.cs b/PROMS/Volian.Controls.Library/StepPanel.cs index ebe32ddf..f48a4935 100644 --- a/PROMS/Volian.Controls.Library/StepPanel.cs +++ b/PROMS/Volian.Controls.Library/StepPanel.cs @@ -228,6 +228,56 @@ namespace Volian.Controls.Library } #endregion #region Constructors + private Timer _RefreshTimer = null; + public Timer RefreshTimer + { + get + { + if (_RefreshTimer == null) + { + _RefreshTimer = new Timer(); + _RefreshTimer.Tick += new EventHandler(_RefreshTimer_Tick); + } + _RefreshTimer.Enabled = false; + _RefreshTimer.Interval = 200; + _RefreshTimer.Enabled = true; + return _RefreshTimer; + } + } + void _RefreshTimer_Tick(object sender, EventArgs e) + { + _RefreshTimer.Enabled = false; + while (_RefreshList.Count > 0) + { + EditItem myEditItem = _RefreshList[0]; + int newTop = myEditItem.Top; + _MyLog.InfoFormat("TimerTick {0}", myEditItem.MyItemInfo.ShortPath); + myEditItem.Top = newTop + 100; + Application.DoEvents(); + myEditItem.Top = newTop; + _RefreshList.RemoveAt(0); + if (_SelectedEditItem != null && _SelectedEditItem.Bottom > Height) + ScrollControlIntoView(_SelectedEditItem); + } + } + private List _RefreshList; + public List RefreshList + { + get + { + if (_RefreshList == null) + _RefreshList = new List(); + return _RefreshList; + } + } + public void AddToRefreshList(EditItem myEditItem) + { + if (!RefreshList.Contains(myEditItem)) + { + RefreshList.Add(myEditItem); + RefreshTimer.Enabled = true; + } + } public StepPanel() { InitializeComponent();