WISE OWL EXERCISES
VISUAL C# EXERCISES
- Creating forms (4)
- Coding form events (1)
- Laying out your code (2)
- C# variables (4)
- Enumerations and constants (2)
- Conditions (2)
- Modular code (3)
- Arrays (2)
- Looping (2)
- Files and folders (3)
- Properties in C# (3)
- Using lists (3)
- Validating forms (6)
- Toolbars, menus and status bars (1)
- FileDialogs and StreamReaders (1)
- Debugging and trapping errors (1)
- Introduction to DataGridViews (1)
- DataGridView events (3)
- Complex DataGridViews (2)
- Creating classes (4)
- The form as a class (1)
- Data structures (6)
- Inheritance (5)
- Interfaces (2)
- Delegates and events (2)
- Writing LINQ (2)
- Advanced LINQ (2)
- Entity Frameworks (1)
- LINQ with Entity Frameworks (4)
- Grouping using LINQ (2)
- LINQ to SQL (2)
Visual C# | Looping exercise | Validate all a form's controls by looping over them
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!
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.
To avoid having to draw the form needed for this exercise, right-click on the name of your project in Solution Explorer then choose Add --> Existing Item... (you can also press SHIFT + ALT + A to do the same thing).
Choose only the file called frmApplication.cs in the above folder to import it into your project (you may need to overwrite existing files as you do this), then edit Program.cs to make this the default form. When you run your application, you should now see this:
The button should run code to check all text boxes and combo boxes are filled in.
The problem that you may have is that you can't just loop over all of the controls on a form, because the two group boxes shown will conceal the controls they contain. Because of this, you'll need the algorithm shown below.
Here's a suggested algorithm (shown in fairly sketchy pseudo-code):
// FOR EACH CONTROL ON THE FORM
// IF IT'S A GROUPBOX - IE IF (g is GroupBox)
// FOR EACH CONTROL IN THE COLLECTION OF CONTROLS
// WITHIN THIS GROUPBOX g
// CHECK THIS CONTROL ISN'T A LABEL (NOT INTERESTED
// IN THESE)
// IF THE LENGTH OF THIS CONTROL IS 0, SET THE
// FOCUS TO THIS CONTROL AND REPORT ERROR
When you've checked whether your validation code works OK, close down the application and the form.