| |
| |
Preface | |
| |
| |
| |
Introduction | |
| |
| |
| |
Computer Processing | |
| |
| |
Software Categories | |
| |
| |
Digital Computers | |
| |
| |
Binary Numbers | |
| |
| |
| |
Hardware Components | |
| |
| |
Computer Architecture | |
| |
| |
Input/Output Devices | |
| |
| |
Main Memory and Secondary Memory | |
| |
| |
The Central Processing Unit | |
| |
| |
| |
Networks | |
| |
| |
Network Connections | |
| |
| |
Local-Area Networks and Wide-Area Networks | |
| |
| |
The Internet | |
| |
| |
The World Wide Web | |
| |
| |
Uniform Resource Locators | |
| |
| |
| |
The C# Programming Language | |
| |
| |
A C# Program | |
| |
| |
Debugging: Starting and Single Stepping Through the Program | |
| |
| |
Program Structure | |
| |
| |
Comments | |
| |
| |
Identifiers and Reserved Words | |
| |
| |
| |
C# Identifiers | |
| |
| |
White Space | |
| |
| |
| |
Program Development | |
| |
| |
Programming Language Levels | |
| |
| |
Editors, Compilers, and Interpreters | |
| |
| |
Development Environments | |
| |
| |
Syntax and Semantics | |
| |
| |
Errors | |
| |
| |
| |
Object-Oriented Programming | |
| |
| |
Problem Solving | |
| |
| |
Object-Oriented Software Principles | |
| |
| |
| |
Data and Expressions | |
| |
| |
| |
Character Strings | |
| |
| |
The Write and WriteLine Methods | |
| |
| |
String Concatenation | |
| |
| |
Escape Sequences | |
| |
| |
| |
Variables and Assignment | |
| |
| |
Variables | |
| |
| |
The Assignment Statement | |
| |
| |
Constants | |
| |
| |
| |
Primitive Data Types | |
| |
| |
Integers and Floating Points | |
| |
| |
Signed and Unsigned Integers | |
| |
| |
The Decimal Data Type | |
| |
| |
Characters | |
| |
| |
Booleans | |
| |
| |
| |
Expressions | |
| |
| |
Arithmetic Operators | |
| |
| |
Operator Precedence | |
| |
| |
Increment and Decrement Operators | |
| |
| |
Assignment Operators | |
| |
| |
| |
Data Conversion | |
| |
| |
Conversion Techniques | |
| |
| |
| |
Interactive Programs | |
| |
| |
Debugging: Breakpoints and Viewing Contents of Variables | |
| |
| |
| |
Windows-Based Applications | |
| |
| |
Event-Based Programming | |
| |
| |
Handling Events | |
| |
| |
Graphical User Interface (GUI) | |
| |
| |
| |
The Graphics Model | |
| |
| |
Coordinate Systems | |
| |
| |
Representing Color | |
| |
| |
| |
Your First GUI Program | |
| |
| |
Adding to the Program | |
| |
| |
Analysis of the Einstein Application | |
| |
| |
| |
Drawing Shapes | |
| |
| |
The Graphics Class | |
| |
| |
| |
Using Classes and Objects | |
| |
| |
| |
Creating Objects | |
| |
| |
Overview of Strings | |
| |
| |
Aliases | |
| |
| |
| |
String and StringBuilder Class Details | |
| |
| |
| |
.NET Architecture and Base Class Libraries | |
| |
| |
Base Class Libraries | |
| |
| |
The using Declaration | |
| |
| |
| |
The Random Class | |
| |
| |
| |
The Math Class | |
| |
| |
| |
Formatting Output | |
| |
| |
Standard Numeric Formatting | |
| |
| |
Custom Numeric Formatting | |
| |
| |
Composite Formatting | |
| |
| |
| |
Enumerated Types | |
| |
| |
| |
Components and Containers | |
| |
| |
Forms | |
| |
| |
Loading Forms | |
| |
| |
Creating New Forms | |
| |
| |
Accessing Forms Controls in the Form Designer | |
| |
| |
Placing Controls on the Form | |
| |
| |
Displaying and Closing the Copyright Form | |
| |
| |
Displaying the Copyright Form and Using the Load Event | |
| |
| |
| |
Drawing Lines and Pen Styles | |
| |
| |
Enumerations in Visual Studio | |
| |
| |
Pen Example Program | |
| |
| |
Client Rectangle and Setting Screen Height | |
| |
| |
| |
Images | |
| |
| |
Label Demo Program | |
| |
| |
| |
Writing Classes | |
| |
| |
| |
Anatomy of a Class | |
| |
| |
Adding Classes to a Project | |
| |
| |
Instance Data | |
| |
| |
UML Class Diagrams | |
| |
| |
| |
Encapsulation | |
| |
| |
Visibility Modifiers | |
| |
| |
Accessors and Mutators | |
| |
| |
| |
Anatomy of a Method | |
| |
| |
The return Statement | |
| |
| |
Parameters | |
| |
| |
Local Data | |
| |
| |
Bank Account Example | |
| |
| |
| |
Properties | |
| |
| |
Coding Standards | |
| |
| |
| |
Constructors Revisited | |
| |
| |
Debugging: Viewing Contents of Object Variables | |
| |
| |
Debugging: Step Into, Step Out, and Step Over | |
| |
| |
| |
Using Classes for Graphical Images | |
| |
| |
| |
Brushes | |
| |
| |
Hatch Brushes | |
| |
| |
Gradient Brushes | |
| |
| |
| |
Graphical User Interfaces | |
| |
| |
| |
Buttons | |
| |
| |
Finding Code in Your Source File | |
| |
| |
Adding Event Handlers Manually | |
| |
| |
Accept and Cancel Buttons | |
| |
| |
| |
Text Fields | |
| |
| |
Cursor Control and Selecting Portions of Text Boxes in Code | |
| |
| |
Multiline Text Boxes | |
| |
| |
Control Characters in Text Boxes | |
| |
| |
| |
Setting Tab Stops | |
| |
| |
| |
Conditionals and Loops | |
| |
| |
| |
Boolean Expressions | |
| |
| |
Equality and Relational Operators | |
| |
| |
Logical Operators | |
| |
| |
| |
The if Statement | |
| |
| |
The if-else Statement | |
| |
| |
if Statement | |
| |
| |
Using Block Statements | |
| |
| |
The Conditional Operator | |
| |
| |
Nested if Statements | |
| |
| |
| |
Comparing Data | |
| |
| |
Comparing Floats | |
| |
| |
Comparing Characters | |
| |
| |
Comparing Objects | |
| |
| |
| |
The switch Statement | |
| |
| |
| |
The while Statement | |
| |
| |
Infinite Loops | |
| |
| |
Nested Loops | |
| |
| |
Other Loop Controls | |
| |
| |
| |
The do Statement | |
| |
| |
| |
The for Statement | |
| |
| |
| |
The foreach Statement and An Introduction to Arrays | |
| |
| |
Simple File I/O | |
| |
| |
Comparing Loops | |
| |
| |
Debugging: The Watch Window | |
| |
| |
Debugging: The Command Window | |
| |
| |
| |
Drawing with Loops and Conditionals | |
| |
| |
| |
Determining Event Sources | |
| |
| |
| |
Dialog Boxes | |
| |
| |
Using Dialog Box Results | |
| |
| |
MessageBox: The System-Supplied Dialog Box | |
| |
| |
| |
More Button Components | |
| |
| |
Check Boxes | |
| |
| |
Radio Buttons | |
| |
| |
TextBox Validations | |
| |
| |
Infinite Loops in Event Handlers | |
| |
| |
| |
Object-Oriented Design | |
| |
| |
| |
Software Development Activities | |
| |
| |
| |
Identifying Classes and Objects | |
| |
| |
Assigning Responsibilities | |
| |
| |
| |
Static Class Members | |
| |
| |
Static Variables | |
| |
| |
Static Methods | |
| |
| |
| |
Class Relationships | |
| |
| |
Dependency | |
| |
| |
Dependencies Among Objects of the Same Class | |
| |
| |
Aggregation | |
| |
| |
The this Reference | |
| |
| |
| |
Interfaces | |
| |
| |
The IComparable Interface | |
| |
| |
| |
Method Design | |
| |
| |
Method Decomposition | |
| |
| |
Method Parameters Revisited | |
| |
| |
The ref keyword | |
| |
| |
The out keyword | |
| |
| |
| |
Method Overloading | |
| |
| |
| |
Operator Overloads in Classes | |
| |
| |
Creating Class Libraries | |
| |
| |
| |
Object Browser | |
| |
| |
| |
Testing | |
| |
| |
Reviews | |
| |
| |
Defect Testing | |
| |
| |
Debugging: Module-Level Testing and Changing Program Order | |
| |
| |
Debugging: Tracing Problems and the Output Window | |
| |
| |
| |
GUI Design | |
| |
| |
| |
Panels and Picture Boxes | |
| |
| |
Panels | |
| |
| |
Picture Boxes | |
| |
| |
Drawing on Controls | |
| |
| |
| |
Tab Controls | |
| |
| |
| |
Arrays | |
| |
| |
| |
Array Elements | |
| |
| |
| |
Declaring and Using Arrays | |
| |
| |
Bounds Checking | |
| |
| |
Initializer Lists | |
| |
| |
Arrays as Parameters | |
| |
| |
| |
Arrays of Objects | |
| |
| |
| |
Command-Line Arguments | |
| |
| |
| |
Variable-Length Parameter Lists | |
| |
| |
| |
Two-Dimensional Arrays | |
| |
| |
Multidimensional Arrays | |
| |
| |
| |
The ArrayList Class | |
| |
| |
Specifying an ArrayList Element Type | |
| |
| |
ArrayList Efficiency | |
| |
| |
| |
The foreach Loop | |
| |
| |
| |
Polygons and Polylines | |
| |
| |
The Point and PointF Classes | |
| |
| |
The Size and SizeF Classes | |
| |
| |
The Rectangle and RectangleF Classes | |
| |
| |
Using ArrayList for Size, Point, and Rectangle | |
| |
| |
Drawing with Point, PointF, Rectangle, RectangleF, and Arrays | |
| |
| |
| |
Mouse Events | |
| |
| |
| |
Key Events | |
| |
| |
| |
Form Special Events | |
| |
| |
| |
Inheritance | |
| |
| |
| |
Creating Subclasses | |
| |
| |
The protected Modifier | |
| |
| |
The base Reference | |
| |
| |
Multiple Inheritance | |
| |
| |
| |
Overriding Methods | |
| |
| |
Shadowing Variables | |
| |
| |
| |
Class Hierarchies | |
| |
| |
The Object Class | |
| |
| |
Abstract Classes | |
| |
| |
Interface Hierarchies | |
| |
| |
| |
Visibility | |
| |
| |
| |
Designing for Inheritance | |
| |
| |
Restricting Inheritance | |
| |
| |
| |
The Component Class Hierarchy | |
| |
| |
| |
Overriding Event Handlers | |
| |
| |
| |
Extending GUI Components | |
| |
| |
| |
The Timer Class | |
| |
| |
| |
Polymorphism | |
| |
| |
| |
Late Binding | |
| |
| |
| |
Polymorphism Via Inheritance | |
| |
| |
| |
Polymorphism Via Interfaces | |
| |
| |
| |
Sorting | |
| |
| |
Selection Sort | |
| |
| |
Insertion Sort | |
| |
| |
Comparing Sorts | |
| |
| |
| |
Searching | |
| |
| |
Linear Search | |
| |
| |
Binary Search | |
| |
| |
Comparing Searches | |
| |
| |
| |
Designing for Polymorphism | |
| |
| |
| |
System Supplied Dialog Boxes | |
| |
| |
Open File Dialog Box (OpenFileDialog) | |
| |
| |
Save File Dialog Box (SaveFileDialog) | |
| |
| |
Folder Browser Dialog Box (FolderBrawserDialog) | |
| |
| |
Color Dialog Box (ColorDialog) | |
| |
| |
Font Dialog Box (FontDialog) | |
| |
| |
Page Setup Dialog Box (PageSetupDialog) | |
| |
| |
Print Dialog Box (PrintDialog) | |
| |
| |
| |
Sliders and Up-Down Counters | |
| |
| |
| |
System Registry Operations | |
| |
| |
| |
Exceptions | |
| |
| |
| |
Exception Handling | |
| |
| |
| |
Uncaught Exceptions | |
| |
| |
| |
The try-catch Statement | |
| |
| |
The finally Clause | |
| |
| |
| |
Exceptions Propagation | |
| |
| |
| |
The Exception Class Hierarchy | |
| |
| |
| |
I/O Exceptions | |
| |
| |
| |
Generating Custom Events | |
| |
| |
Creating the Delegate | |
| |
| |
Defining the Event | |
| |
| |
Generating the Event | |
| |
| |
Handling the Event | |
| |
| |
Reviewing Event Processing | |
| |
| |
| |
Tool Tips and Mnemonics | |
| |
| |
Tool Tips | |
| |
| |
Mnemonics | |
| |
| |
Disabling Components | |
| |
| |
| |
List Boxes and Combo Boxes | |
| |
| |
Miscellaneous Controls Example | |
| |
| |
| |
Calendar Controls | |
| |
| |
| |
Status Bar | |
| |
| |
| |
Menus | |
| |
| |
| |
Serialization | |
| |
| |
| |
Scroll Panels | |
| |
| |
| |
Scrolling Text Boxes | |
| |
| |
| |
Split Panes | |
| |
| |
| |
Other Sample Programs | |
| |
| |
| |
Recursion | |
| |
| |
| |
Recursive Thinking | |
| |
| |
Infinite Recursion | |
| |
| |
Recursion in Math | |
| |
| |
| |
Recursive Programming | |
| |
| |
Recursion vs. Iteration | |
| |
| |
Direct vs. Indirect Recursion | |
| |
| |
| |
Using Recursion | |
| |
| |
Traversing a Maze | |
| |
| |
The Towers of Hanoi | |
| |
| |
| |
Recursion in Graphics | |
| |
| |
Tiled Pictures | |
| |
| |
Fractals | |
| |
| |
| |
Printing | |
| |
| |
The Print Document (PrintDocument) | |
| |
| |
Printer Settings (PrinterSettings) | |
| |
| |
Using the Preview Dialog (PrintPreviewDialog) | |
| |
| |
The Printed Page | |
| |
| |
The PrintPage Event Handler | |
| |
| |
A Print Example | |
| |
| |
| |
Collections and Data Structures | |
| |
| |
| |
Collections and Data Structures | |
| |
| |
Separating Interface from Implementation | |
| |
| |
| |
Dynamic Representations | |
| |
| |
Dynamic Structures | |
| |
| |
A Dynamically Linked List | |
| |
| |
Other Dynamic List Representations | |
| |
| |
| |
Linear Data Structures | |
| |
| |
Queues | |
| |
| |
Stacks | |
| |
| |
| |
Nonlinear Data Structures | |
| |
| |
Trees | |
| |
| |
Graphs | |
| |
| |
| |
C# Collection Classes | |
| |
| |
| |
Adding Custom Indexers to a Class | |
| |
| |
| |
Number Systems | |
| |
| |
| |
The Unicode Character Set | |
| |
| |
| |
Coding Standards, Software Engineering and Related Topics | |
| |
| |
| |
Visual Studio Installation Guide | |
| |
| |
Appendices E through G are available at www.aw.com/cssupport under "Author: Lewis." | |
| |
| |
Index | |