Exercise: Use basic classes to create a shopping list app in C#

This exercise is provided to allow potential course delegates to choose the correct Wise Owl Microsoft training course, and may not be reproduced in whole or in part in any format without the prior written consent of Wise Owl.

The answer to the exercise will be included and explained if you attend the course listed below!

Category ==> Visual C Sharp  (65 exercises)
Topic ==> Creating classes  (2 exercises)
Level ==> Relatively easy
Course ==> Adv C# | Classes & LINQ
Before you can do this exercise, you'll need to download and unzip this file (if you have any problems doing this, click here for help).

You need a minimum screen resolution of about 700 pixels width to see our exercises. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.

In a new or existing project, create a new from called frmShoppingList.

Open the file called frmShoppingList.Designer.cs.  Replace the entire code with the contents of the text file in the above folder, then change the namespace in the first line to the name of your project.  When you've amended Program.cs accordingly, you should now be able to run this application:

Shopping list dialog box

When you click on the button, it should add an item to the list on the right.

First add code to the Cancel button (it should just close the form, which being the current object you can refer to as this).

Create a class called ShoppingList, and create 3 private fields to hold the 3 things being entered:

// private fields for each textbox

private string itemName;

private string unit;

private double amount;

Create one public property for each of these private fields, to expose the value of it to the world.

Attach code to the Add item button which will create a new instance of the ShoppingList class, and make it work (well, soon):

// can now create and add to list new item

ShoppingItem thing = new ShoppingItem();


// could use our amount property here

thing.Amount = Convert.ToDouble(txtAmount.Text);

thing.ItemName = txtItem.Text;

thing.Unit = txtUnit.Text;



thing = null;

You can assume that a user has typed in sensible things in each of the 3 text boxes, although the answer given does trap for this.

The only thing left now is to create the Add method for the ShoppingItem class.  This should take a TextBox as an argument (hint: you may need to add an additional using statement at the top of your class).

Run your application and try adding a few items:

Shopping list in use

What the form might look like after adding 3 items.

Close down your application and all open files (don't worry about the fact that this loses your shopping list - you can always create another ...).

This page has 0 threads Add post