@stanav. good answer. i'm sure you know but:

this:

vb Code:
  1. MessageBox.Show(String.Format("Total purchase: {0}{3}Total discount: {1}{3}Net Due: {2}", _
  2.                                       totalPurchased.ToString("C"), totalDiscount.ToString("C"), _
  3.                                       (totalPurchased - totalDiscount).ToString("C"), Environment.NewLine))

can be more efficiently written as this:

vb Code:
  1. MessageBox.Show(String.Format("Total purchase: {0:C}{3}Total discount: {1:C}{3}Net Due: {2:C}", _
  2.                               totalPurchased, totalDiscount, _
  3.                               (totalPurchased - totalDiscount), Environment.NewLine))