public void Sort()
{
bool topMostForms = true;
int lastTopMost = -1;
for (int i = items.Count - 1; i >= 0; i--)
{
var form = items[i];
if (topMostForms)
{
if (form.TopMost == false)
topMostForms = false;
else
lastTopMost = i;
}
else
{
if (form.TopMost)
{
if (lastTopMost != -1)
{
items.Insert(lastTopMost, form);
lastTopMost--;
}
else
{
lastTopMost = items.Count - 1;
items.Add(form);
}
items.RemoveAt(i);
}
}
}
}