| About the Author | p. xi |
| Acknowledgments | p. xiii |
| Preface | p. xv |
| Overview of Visual Basic Programming and the Visual Basic Development Environment | p. 1 |
| An Overview of Visual Basic Application Development | p. 1 |
| The Visual Basic Development Environment | p. 2 |
| Working with WinForms | p. 21 |
| WinForms and the .NET Framework | p. 21 |
| Controls and Their Uses | p. 39 |
| Controls and the .NET Framework | p. 39 |
| Adding Controls to Your Forms | p. 40 |
| Moving Controls on a Form | p. 41 |
| Resizing Controls on a Form | p. 42 |
| Labels | p. 42 |
| Text Boxes and Rich Text Boxes | p. 44 |
| Buttons | p. 49 |
| List Boxes and Combo Boxes | p. 51 |
| Radio Buttons | p. 54 |
| Check Boxes | p. 56 |
| Timers | p. 56 |
| New .NET Controls | p. 58 |
| Message and Input Boxes | p. 64 |
| Using Multiple Controls Together: A Sample Application | p. 67 |
| Third-Party Scientific Controls | p. 69 |
| Variables, Data Types, and Operators | p. 73 |
| Data Types in VB .NET | p. 73 |
| Strings | p. 73 |
| The Char Data Type | p. 76 |
| Numerical Data Types | p. 77 |
| Guidelines for Choosing the Appropriate Numerical Data Type | p. 79 |
| Numerical Operators | p. 80 |
| The Boolean Data Type | p. 82 |
| Private and Public Variables | p. 92 |
| Static Variables | p. 93 |
| Arrays and Loop Structures | p. 95 |
| One-Dimensional Arrays | p. 95 |
| Multidimensional Arrays | p. 103 |
| The Erase Statement | p. 105 |
| For...Next Loops | p. 105 |
| Nested For...Next Loops | p. 108 |
| Gaussian Elimination | p. 109 |
| Indeterminate Loops (Do...Loops) | p. 114 |
| Nested Loops Revisited | p. 122 |
| Built-in Functions | p. 125 |
| Conversion Functions | p. 126 |
| String Functions | p. 131 |
| Mathematical Functions | p. 142 |
| UCalc Fast Math Parser | p. 154 |
| MatrixVB | p. 155 |
| Writing Your Own Functions and Procedures | p. 157 |
| Custom Functions | p. 157 |
| The Trapezoidal Rule | p. 161 |
| Custom Procedures | p. 164 |
| Passing Arrays and Array Elements into Procedures and Functions | p. 169 |
| Passing By Reference and By Value | p. 170 |
| Functions and Procedure with Optional Arguments | p. 171 |
| Getting Data from External Sources | p. 175 |
| File Commands | p. 176 |
| File-Handling Functions | p. 179 |
| Basic Sequential File Handling | p. 181 |
| New VB .NET File-Handling Methods | p. 191 |
| The MSComm Control | p. 193 |
| Programming Your Own Spreadsheets | p. 199 |
| The MSFlexGrid Control | p. 199 |
| Entering Text into MSFlexGrid Cells | p. 204 |
| Working with Excel Data | p. 212 |
| Getting Your Grids to Dynamically Respond | p. 212 |
| Scientific Graphics | p. 221 |
| The MSChart Control | p. 221 |
| The Flipper CAD Control | p. 234 |
| The System. Drawing Namespace | p. 234 |
| Debugging and Error Handling | p. 241 |
| Making Use of Microsoft's IntelliSense Technology | p. 241 |
| Compile as You Go Technology | p. 242 |
| Testing for Errors | p. 242 |
| Grammatical Errors | p. 243 |
| Logical Errors | p. 244 |
| VB Debugging Tools | p. 246 |
| Dr. Watson | p. 251 |
| Error Handling | p. 252 |
| Packaging and Deploying Your Application | p. 259 |
| First Steps | p. 259 |
| The Setup Wizard | p. 260 |
| Final Steps | p. 269 |
| Mathematical Modeling | p. 271 |
| Defining the Problem | p. 271 |
| Defining Variables and Parameters | p. 272 |
| Relating Variables and Parameters | p. 273 |
| Degree of Freedom Analysis | p. 276 |
| Mathematical Modeling of a Chemical Plant | p. 277 |
| Bioinformatics | p. 285 |
| Predicting Protein Sequences | p. 285 |
| Restriction Mapping | p. 295 |
| Web-Based Applications | p. 305 |
| Web Forms and the .NET Framework | p. 307 |
| Server Controls | p. 310 |
| Events and Web-Based Applications | p. 316 |
| A Simple Web-Based Application | p. 317 |
| Conclusion | p. 320 |
| Index | p. 321 |
| Table of Contents provided by Syndetics. All Rights Reserved. |