I thought that I would quickly share this code with you that removes all empty tables in a document.

An ArrayList is used to collect all tables in which cells are empty. This is required, because it is not possible to remove an object from a collection when iterating through this collection. Therefore, we are using two loops: The first to get the empty tables and the second loop to remove the tables from the collection.

private void removeEmptyTables()
{
    ArrayList deleteTables = new ArrayList();

    foreach (TXTextControl.Table curTable in textControl1.Tables)
    {
        deleteTables.Add(curTable);

        foreach (TXTextControl.TableCell curCell in curTable.Cells)
        {
            if (curCell.Text != "")
            {
                deleteTables.Remove(curTable);
                continue;
            }
        }
    }

    foreach (TXTextControl.Table delTable in deleteTables)
    {
        textControl1.InputPosition = new TXTextControl.InputPosition(delTable.Cells.GetItem(1, 1).Start);
        textControl1.Tables.Remove();
    }
}