Added logic to allow a timer to refresh items which were not being positioned properly.
This commit is contained in:
parent
2a585b7ac5
commit
240265e070
@ -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<EditItem> _RefreshList;
|
||||
public List<EditItem> RefreshList
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_RefreshList == null)
|
||||
_RefreshList = new List<EditItem>();
|
||||
return _RefreshList;
|
||||
}
|
||||
}
|
||||
public void AddToRefreshList(EditItem myEditItem)
|
||||
{
|
||||
if (!RefreshList.Contains(myEditItem))
|
||||
{
|
||||
RefreshList.Add(myEditItem);
|
||||
RefreshTimer.Enabled = true;
|
||||
}
|
||||
}
|
||||
public StepPanel()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
Loading…
x
Reference in New Issue
Block a user