private void item_TextCleared(object sender, EventArgs e)
 {
     ExpressionItem item = (ExpressionItem)sender;
     if (item == secondLastItem && item != firstItem)
     {
         Control parent = item.Parent;
         parent.Controls.Remove(item);
         secondLastItem = (ExpressionItem)parent.Controls[parent.Controls.Count - 2];
     }
 }
        private void AddItem()
        {
            ExpressionItem item = new ExpressionItem();
            if (firstItem == null)
            {
                firstItem = item;
            }
            else if (secondLastItem == null)
            {
                secondLastItem = item;
            }

            item.TextChanged += item_TextChanged;
            item.TextCleared += item_TextCleared;

            topDockPanel1.SuspendDrawing();
            topDockPanel1.AddControl(item);
            topDockPanel1.ResumeDrawing();
        }