A friend of mine had the same quandry last year. We had two weeks in London prior to our week on the QE2. She packed a separate bag with four dinner dresses (formal). We also went again last week, and she brought only three.
Teenagers also wear formal, tuxs or dark suits for the guys and dresses for the gasl. no slacks for the gals. Sports jackets, ties, and khakis for the guys are a Big NO on formal nights.