Introduction |
|
1 | (1) |
|
|
2 | (1) |
|
Conventions Used in This Book |
|
|
2 | (1) |
|
|
3 | (1) |
|
|
3 | (1) |
|
How This Book Is Organized |
|
|
4 | (1) |
|
Part I: Getting to Know .NET Using VB |
|
|
4 | (1) |
|
Part II: Building Applications with VB 2005 |
|
|
4 | (1) |
|
Part III: Making Your Programs Work |
|
|
5 | (1) |
|
Part IV: Digging into the Framework |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
6 | (3) |
|
Part I: Getting to Know .NET Using VB |
|
|
9 | (52) |
|
|
11 | (12) |
|
Visual Basic's Role in the Framework |
|
|
11 | (3) |
|
|
14 | (6) |
|
|
14 | (1) |
|
Starting a Windows Forms project |
|
|
15 | (2) |
|
Adding functionality to the form with VB code |
|
|
17 | (1) |
|
Running and operating your Windows form |
|
|
18 | (2) |
|
Finding More Power in Visual Studio |
|
|
20 | (3) |
|
Visual Studio doesn't just do Windows! |
|
|
20 | (1) |
|
|
21 | (1) |
|
VB as your one-stop development shop |
|
|
21 | (2) |
|
|
23 | (20) |
|
Understanding Visual Studio Tools |
|
|
23 | (12) |
|
|
24 | (2) |
|
Accessing controls with the Toolbox |
|
|
26 | (1) |
|
Changing details with the Properties window |
|
|
27 | (2) |
|
Organizing your project with the Solution Explorer |
|
|
29 | (1) |
|
Accessing outside resources with the Server Explorer |
|
|
30 | (3) |
|
Dynamically editing data with the Data Sources window |
|
|
33 | (2) |
|
|
35 | (2) |
|
|
37 | (3) |
|
|
37 | (1) |
|
|
37 | (1) |
|
Reading the documentation |
|
|
38 | (2) |
|
|
40 | (1) |
|
Increasing Efficiency with Third-Party Tools |
|
|
41 | (2) |
|
Designing Applications in VB 2005 |
|
|
43 | (18) |
|
Making Software Simple Using the .NET Framework |
|
|
44 | (4) |
|
Getting to the operating system |
|
|
45 | (2) |
|
Integrating servers and services |
|
|
47 | (1) |
|
Interacting with the user |
|
|
48 | (1) |
|
Comparing Abstract Concepts with the Real World |
|
|
48 | (1) |
|
|
49 | (1) |
|
|
49 | (1) |
|
Planning for a Project Using the Project Lifecycle |
|
|
49 | (4) |
|
|
51 | (1) |
|
|
52 | (1) |
|
Designing the Date Calculator |
|
|
53 | (8) |
|
|
53 | (1) |
|
|
54 | (2) |
|
|
56 | (2) |
|
|
58 | (1) |
|
|
58 | (3) |
|
Part II: Building Applications with VB 2005 |
|
|
61 | (96) |
|
Building Windows Applications |
|
|
63 | (20) |
|
A Quick Look Back at Visual Basic |
|
|
63 | (2) |
|
Discovering Windows Controls |
|
|
65 | (2) |
|
Making a Windows Application |
|
|
67 | (3) |
|
Adding Functionality to a Windows Form |
|
|
70 | (2) |
|
Adding Features to Windows Forms |
|
|
72 | (11) |
|
Managing text input with the TextBox |
|
|
72 | (2) |
|
Communicating with the user using the status bar |
|
|
74 | (3) |
|
Giving hints with the ToolTip control |
|
|
77 | (1) |
|
Navigating with the MenuStrip control |
|
|
78 | (3) |
|
Activating the right-click with the ContextMenuStrip |
|
|
81 | (2) |
|
Building Web Applications |
|
|
83 | (26) |
|
Seeing How ASP.NET Works with Your Web App |
|
|
84 | (2) |
|
PostBack: Not a returned package |
|
|
85 | (1) |
|
|
85 | (1) |
|
Discovering the Web Controls |
|
|
86 | (3) |
|
Building Your First Web Application |
|
|
89 | (9) |
|
Viewing the extras in Web Forms |
|
|
89 | (2) |
|
Constructing the Web Forms application |
|
|
91 | (2) |
|
Viewing the results in Source View |
|
|
93 | (3) |
|
Running your Web application |
|
|
96 | (2) |
|
Looking Below the Surface of Web Forms |
|
|
98 | (5) |
|
|
98 | (3) |
|
|
101 | (2) |
|
Checking Out Some Cool Web Tricks |
|
|
103 | (6) |
|
Getting from one page to another |
|
|
103 | (1) |
|
|
104 | (1) |
|
Getting information about the user |
|
|
105 | (4) |
|
|
109 | (16) |
|
Past to Present: DLLs Defined |
|
|
110 | (1) |
|
|
111 | (4) |
|
|
112 | (1) |
|
The parts of a class library |
|
|
112 | (2) |
|
|
114 | (1) |
|
|
115 | (6) |
|
|
115 | (1) |
|
Building the Date Calculator |
|
|
116 | (2) |
|
|
118 | (3) |
|
|
121 | (4) |
|
Telling between friends and foes |
|
|
121 | (1) |
|
|
122 | (1) |
|
|
123 | (2) |
|
|
125 | (16) |
|
Getting to Know XML Web Services |
|
|
125 | (3) |
|
Web services: Characteristics |
|
|
127 | (1) |
|
|
127 | (1) |
|
Designing for Web Services |
|
|
128 | (1) |
|
Planning the design strategy |
|
|
128 | (1) |
|
Getting a grip on the tactics |
|
|
129 | (1) |
|
|
129 | (5) |
|
Building the DateCalc Web service |
|
|
131 | (1) |
|
Viewing the DateCalc service in action |
|
|
132 | (2) |
|
|
134 | (3) |
|
Web Services in More Depth |
|
|
137 | (4) |
|
|
141 | (16) |
|
Cool Visual Tools for Debugging |
|
|
141 | (6) |
|
|
142 | (3) |
|
|
145 | (1) |
|
|
146 | (1) |
|
Using the Debugging Tools in the .NET Framework |
|
|
147 | (3) |
|
|
147 | (1) |
|
|
148 | (2) |
|
|
150 | (7) |
|
|
150 | (1) |
|
|
151 | (2) |
|
|
153 | (1) |
|
|
154 | (3) |
|
Part III: Making Your Programs Work |
|
|
157 | (80) |
|
Interpreting Strings and Things |
|
|
159 | (18) |
|
Types of Information in Visual Basic |
|
|
160 | (5) |
|
Understanding types in Visual Basic |
|
|
161 | (1) |
|
Changing types with CType |
|
|
162 | (2) |
|
Controlling types with validation |
|
|
164 | (1) |
|
Making Words Work with the String Type |
|
|
165 | (2) |
|
The fantastic tools built into strings |
|
|
165 | (1) |
|
Emptiness --- handling nulls |
|
|
166 | (1) |
|
Finding Tools for Managing User Input |
|
|
167 | (4) |
|
Constructing strings with the StringBuilder class |
|
|
168 | (1) |
|
Manipulating strings with regular expressions |
|
|
169 | (2) |
|
Things That Aren't Strings --- Numbers and Dates |
|
|
171 | (3) |
|
Integers and reals and imaginaries, oh my! |
|
|
171 | (1) |
|
Working with dates and date math |
|
|
172 | (2) |
|
Changing Types with Parse and TryParse |
|
|
174 | (3) |
|
|
177 | (12) |
|
|
177 | (1) |
|
Depicting Logic with Flowchart Components |
|
|
178 | (4) |
|
Communicating with the user |
|
|
179 | (1) |
|
|
180 | (1) |
|
|
181 | (1) |
|
Implementing These Processes in Visual Basic |
|
|
182 | (7) |
|
|
182 | (2) |
|
|
184 | (2) |
|
|
186 | (3) |
|
|
189 | (10) |
|
|
190 | (2) |
|
|
190 | (1) |
|
Comparing specific loops and indefinite loops |
|
|
190 | (2) |
|
Writing Loops with For-Next |
|
|
192 | (1) |
|
Using the For-Each Listing with Collections |
|
|
193 | (2) |
|
Writing Indefinite Loops with Do-Loop |
|
|
195 | (3) |
|
Do-While loop, checked at start |
|
|
196 | (1) |
|
Do-While loop, checked at end |
|
|
196 | (1) |
|
Do-Until loop, checked at start |
|
|
197 | (1) |
|
Do-Until loop, checked at end |
|
|
198 | (1) |
|
Checking at the Beginning with While |
|
|
198 | (1) |
|
|
199 | (22) |
|
Reusing Code to Build Software |
|
|
200 | (5) |
|
Building functions with reuse in mind |
|
|
201 | (2) |
|
Extending reusability with class files |
|
|
203 | (2) |
|
Avoiding the Code-Complexity Trap |
|
|
205 | (4) |
|
Protecting the values of parameters |
|
|
206 | (1) |
|
Handling errors effectively in an abstract environment |
|
|
207 | (2) |
|
Finding Other Ways to Reuse Code |
|
|
209 | (4) |
|
|
209 | (2) |
|
|
211 | (1) |
|
|
212 | (1) |
|
Reusing Programs Outside of the Framework |
|
|
213 | (5) |
|
Referencing the old Component Object Model |
|
|
214 | (1) |
|
Calling methods in COM objects |
|
|
215 | (1) |
|
Using other programs with the Process class |
|
|
215 | (3) |
|
Accessing DOS: But Only as a Last Resort |
|
|
218 | (3) |
|
Running command line programs with Shell |
|
|
218 | (1) |
|
Getting focus with AppActivate |
|
|
219 | (2) |
|
Making Arguments, Earning Returns |
|
|
221 | (16) |
|
Using Classes Effectively |
|
|
222 | (2) |
|
Making and destroying objects |
|
|
222 | (1) |
|
|
223 | (1) |
|
|
224 | (1) |
|
|
224 | (3) |
|
Event handling using the Properties window |
|
|
225 | (1) |
|
Event Handlers using IntelliSense |
|
|
226 | (1) |
|
Making Sensible Procedures with Overloading |
|
|
227 | (4) |
|
Reusing your procedure names |
|
|
227 | (1) |
|
Changing built-in functions with operator overloading |
|
|
228 | (1) |
|
Designing for overloading |
|
|
229 | (1) |
|
|
230 | (1) |
|
Flexible Objects with Generics |
|
|
231 | (2) |
|
|
231 | (2) |
|
|
233 | (1) |
|
Controlling Objects with Threading |
|
|
233 | (4) |
|
|
233 | (1) |
|
|
234 | (3) |
|
Part IV: Digging into the Framework |
|
|
237 | (72) |
|
|
239 | (14) |
|
Designing Secure Software |
|
|
240 | (3) |
|
Determining what to protect |
|
|
240 | (1) |
|
Documenting the components of the program |
|
|
240 | (1) |
|
Decomposing the components into functions |
|
|
241 | (1) |
|
Identifying potential threats in those functions |
|
|
241 | (1) |
|
|
242 | (1) |
|
Building Secure Windows Forms Applications |
|
|
243 | (4) |
|
Authentication using Windows login |
|
|
243 | (2) |
|
|
245 | (1) |
|
|
246 | (1) |
|
Building Secure Web Forms Applications |
|
|
247 | (4) |
|
|
247 | (1) |
|
|
248 | (2) |
|
Best practices for securing your Web Forms applications |
|
|
250 | (1) |
|
|
251 | (2) |
|
|
253 | (18) |
|
Getting to Know System.Data |
|
|
254 | (2) |
|
How the Data Classes Fit into the Framework |
|
|
256 | (1) |
|
|
256 | (1) |
|
Using the System.Data Namespace |
|
|
257 | (14) |
|
Connecting to a data source |
|
|
257 | (6) |
|
Working with the visual tools |
|
|
263 | (3) |
|
|
266 | (5) |
|
Working with the File System |
|
|
271 | (12) |
|
Getting to Know System.IO |
|
|
272 | (2) |
|
Using the System.IO Namespace |
|
|
274 | (9) |
|
|
274 | (3) |
|
Changing the contents of a file |
|
|
277 | (1) |
|
|
277 | (2) |
|
Listing directories and files |
|
|
279 | (1) |
|
|
279 | (1) |
|
|
280 | (3) |
|
|
283 | (16) |
|
Getting to Know System.Net |
|
|
284 | (1) |
|
How the Net Classes Fit into the Framework |
|
|
285 | (1) |
|
Using the System.Net Namespace |
|
|
286 | (13) |
|
Checking the network status |
|
|
287 | (1) |
|
Downloading a file from the Internet |
|
|
288 | (2) |
|
E-mailing a status report |
|
|
290 | (3) |
|
|
293 | (6) |
|
|
299 | (10) |
|
Getting to Know System.Drawing |
|
|
300 | (2) |
|
|
300 | (1) |
|
|
301 | (1) |
|
|
301 | (1) |
|
|
302 | (1) |
|
How the Drawing Classes Fit into the Framework |
|
|
302 | (1) |
|
Using the System.Drawing Namespace |
|
|
303 | (6) |
|
|
304 | (1) |
|
|
305 | (2) |
|
|
307 | (2) |
|
|
309 | (30) |
|
Ten Tips for Using the VB User Interface |
|
|
311 | (12) |
|
Generating Event Handlers from the Properties Window |
|
|
311 | (2) |
|
Generating Event Handlers from the Code View |
|
|
313 | (1) |
|
|
314 | (1) |
|
Customizing Your Toolbars for Every File Type |
|
|
315 | (1) |
|
Adding Extender Providers |
|
|
316 | (1) |
|
Using Visual Components That Are Not So Visual |
|
|
317 | (1) |
|
|
318 | (2) |
|
|
320 | (1) |
|
Inserting Snippets in Your Code |
|
|
321 | (2) |
|
Ten Ideas for Taking Your Next Programming Step |
|
|
323 | (12) |
|
Get Visual Basic 2005 for Home Use |
|
|
323 | (1) |
|
|
324 | (1) |
|
Join In an Online Competition at TopCoder |
|
|
325 | (1) |
|
Participate in an Open Source Project |
|
|
326 | (1) |
|
Use Third-Party Tools in Your Projects |
|
|
327 | (1) |
|
Integrate a Public Web Service |
|
|
328 | (2) |
|
Try Out CodeRush and Other Code Generators |
|
|
330 | (1) |
|
|
331 | (1) |
|
|
332 | (1) |
|
Write an Article about What You Have Discovered |
|
|
333 | (2) |
|
Ten Resources on the Internet |
|
|
335 | (4) |
|
|
335 | (1) |
|
|
336 | (1) |
|
|
336 | (1) |
|
|
336 | (1) |
|
The Microsoft Public Newsgroups |
|
|
337 | (1) |
|
|
337 | (1) |
|
|
337 | (1) |
|
|
337 | (1) |
|
|
338 | (1) |
|
<Microsoft> Google for Code Snarfing |
|
|
338 | (1) |
Index |
|
339 | |