We've covered a tremendous amount of ground in this chapter!
We discussed the two primary FCL GUI namespaces—System.Windows.Forms and System.Drawing.
We've looked specifically at the following building blocks of GUIs:
A top-level container: the Form class
Other GUI classes: Label, Button, ListBox, TextBox
How to define the state of the GUI objects by setting property values
How to position GUI objects inside a Form
How to display model message dialog boxes using the MessageBox class
We covered the .NET event handling model; in particular, about how delegates are used to associate event handling methods with an event source.
We've discussed the philosophy and advantages of model-view separation.
We talked about the development of a concept of operations, or "storyboard," as a means for getting sponsor/client/user buy-in before any code has been written, to ensure that the proposed look and flow of a GUI meets the use case requirements for the system.
We've discussed state retrieval methods as a data sharing technique.
And, we saw the "pi郼e de r閟istance"—adding a GUI front-end to the SRS application! We've now come through the full life cycle of the SRS application, beginning with an expression of requirements via use cases in Chapter 9, to an object model in Chapters 10 and 11, a command line–driven program in Chapter 14, a program with file persistence in Chapter 15, and a GUI-driven application in Chapter 16.