|
|
 |

 |
|
MCAD/MCSD Self-Paced Training Kit: Developing Windows®-Based Applications with Microsoft® Visual Basic® .NET and Microsoft Visual C#® .NET, Second Ed
|
|
|
Author
|
|
Matthew A. Stoecker with Microsoft Corporation
|
|
|
Pages
|
624
|
|
Disk
|
1 Companion CD(s); 1 DVD(s)
|
|
Level
|
Beg/Int
|
|
Published
|
05/14/2003
|
|
ISBN
|
9780735619265
|
|
Price
|
$69.99
To see this book's discounted price, select a reseller below.
|
|
|
|
|
 |
|
|
Index
Symbol
: (colon), implementing interfaces, 185-187
A
abstract classes
creating, 199
declaring, 201
inheritance, 200-201
members, 199-201
abstract keyword, 199-201
abstract members, creating, 199-200
abstraction, object-oriented programming, 172-174
AcceptRejectRule, 314
access
access keys, menu access, 80-81
access levels, 27-29
constants, 121
protected members, 197-199
ADO.NET data
binding data, 323-331
connecting to databases, 281-284
data architecture, 271-274
data commands, 284-290
DataAdapters, 297-305
DataReaders, 290-297
DataSet objects, 306-322
exercises, 345-356
filtering data, 331-336
sorting data, 331-336
XML, 337-344
base class members
hidden, 196-197
shadowed, 196-197
code, 484-490
caspol.exe, 492-494
declarative security, 489-490
groups, 492
imperative security, 478, 481-483, 486-490
permissions, 484-485
security policy levels, 491-494
COM type libraries, 417-419
modifiers, 27-30
.NET type libraries, 417-419
shared members, 31-32
Web services, 419-424
Windows API, 424-425
XML data stores, 354-356
accessibility
Certified for Windows Program requirements, 428-429
design, 427-428
Windows Forms control properties, 429-430
AccessibilityObject property, 429-430
AccessibleDefaultActionDescription property, 429-430
AccessibleDescription property, 429-430
AccessibleName property, 429-430
AccessibleRole property, 429-430
Activate method, 56-57
Activated event, 61
ActiveX controls, instantiating, 419
Add Dialog dialog box, 524-525
Add method
adding controls to control collections, 71-72
ArrayList class, 128-129
Add New Item command (File menu), 470
Add New Item menu commands, Application Configuration File, 470
Add Reference dialog box, 13, 417-418
Add Special Folder menu (File System Editor), 518
Add Web Reference window, 419-420
-addgroup flag, 493
AddHandler keyword, 147-150
AddRemoveProgramsIcon property, 515
administrative installation
distributing setup projects via network shares, 512-513
User Interface Editor, 524
ADO.NET, 270-358
binding data, 323-331
creating simple-bound controls, 325-326
data consumers, 324
data currency, 328-330
data providers, 323-324
run time data binding, 326-328
connecting to databases, 281-284
data architecture, 271-274
data commands, 284-290
DataAdapters
configuring, 297-300
creating, 297-300
retrieving data, 300-305
DataReaders, 290-297
accessing columns of data, 292-293
applying multiple result sets, 294-295
creating, 290-291
executing ad hoc SQL queries, 295-297
retrieving typed data, 293-294
simple data access, 291-292
DataSet objects
constraints, 312-315
creating without DataAdapters, 306-310
DataRelations objects, 311-312
editing data, 315-321
updating data, 315-321
disconnected database access, 270-271
filtering data
creating DataViews, 331-332
DataSets, 333-334
DataViewManager class, 335-336
editing data with DataViews, 334-335
sorting data
creating DataViews, 331-332
DataSets, 333-334
DataViewManager class, 335-336
editing data with DataViews, 334-335
SQL (Structured Query Language), 275-280
DELETE statement, 278
INSERT INTO statement, 279
SELECT statement, 275-278
UPDATE statement, 278-279
XML, 337-344
DataSets, 338-340
retrieving from SQL Server 2000 database, 337-338
XmlDataDocument class, 340-343
Advanced Data Binding dialog box, 326
aesthetics, user interface composition, 45-46
aliases, creating, 13
All code code group, 492
Alpha parameter (Color structure), 365
Alt property (KeyEventArgs class), 89
Anchor property, 68-70
anchoring controls, 68-71
Application Configuration File command (Add New Item menu), 470
Application Directory code group, 492
Application Domain policy level, 491
ApplicationException class, 253
applications
accessibility
Certified for Windows program requirements, 428-429
design, 427-428
Windows Forms control properties, 429-430
adding forms at run time, 49
compiling, 4-5
controls
adding, 65
setting tab order, 66
debugging, 217-267
Break mode, 220-223
breakpoint properties, 225-226
Debug classes, 231-240
debugging windows, 226-229
errors, 218-220
exceptions, 246-255
exercises, 256-259
setting breakpoints, 223-225
Trace classes, 231-240
unit test plans, 241-245
deployment. See deployment
enabling printing, 410
executing, 4-5
help, 431-432
optimization, 475-477
security, 497-499
testing, 217-267
Break mode, 220-223
breakpoint properties, 225-226
Debug classes, 231-240
debugging windows, 226-229
errors, 218-220
exceptions, 246-255
exercises, 256-259
setting breakpoints, 223-225
Trace classes, 231-240
unit test plans, 241-245
AppSettingReader class, 473-474
arguments, events, 59-60
Arguments property, 522, 526
ArrayList class, 128-129
arrays, 124-127
declaring, 124-126
For Each statement, 131-133
initializing, 124-126
jagged, 127
multidimensional, 126-127
rectangular, 126-127
upper bound, 124
assemblies, 3-4, 456-458
adding to setup projects, 519
assembly manifest, 3-4, 456-457
class library, 458
installing to Global Assembly Cache, 467, 519
loading, 463-464
modules, 4
native assembly images, 529-530
private, 465-466
resources, 458-461
creating, 461
embedding, 461
retrieving at run time, 462-464
retrieving from satellite assemblies, 463-464
satellite, 462-464
security policies, verifying, 529-530
shared, 465-467
strong names, 466-467
Assembly object, 463-464
AssemblyTitle attribute, 458
Assert method (CodeAccessPermission class), 232, 486
assignment operator, assigning values, 9, 54
AssociatedIndex value (HelpNavigator property), 433
associations (file), creating, 521-523
asynchronous calls, Web service methods, 421, 424
attributes
AssemblyTitle, 458
DllImportAttribute, 424-425
audiences (target), designing user interfaces, 42-45
Author property, 515
authoring controls, 374-384
adding members to controls, 376-377
inheritance, 375-376
automatic memory management. See garbage collection
Autos window, 227
AutoScroll property, 67
B
BackColor property (user controls), 381
backgrounds (forms), changing color, 53-54
base class library (.Net Framework), 2, 6-14. See also class libraries; classes; namespaces
hiding base class members, 194-196
access, 196-197
compatibility, 195-196
namespaces, 6-7
overriding base class members, 192-194
shadowing base class members, 194-197
types. See types
base keyword, 196
Beep method, 95
Begin method, 421-422
BeginTransaction method, 318
binding data, 323-331
creating simple-bound controls, 325-326
data consumers, 324
data currency, 328-330
data providers, 323-324
run time data binding, 326-328
BindingContext objects, 324, 328
BitArray class, 131
Bitmap objects, 362
BlinkRate property, 97
BlinkStyle property, 97
Blue parameter (Color structure), 365
BooleanSwitch, 264-265
Bootstrapper option, 509-510
boxing, 117
Break mode, 220-223
Code window pop-up menu, 222
Debug menu items, 221
Step Into, 222
Breakpoint Condition window, 225
Breakpoint Hit Count window, 226
breakpoints, 223-225
Breakpoints window, 224-225
clearing, 225
conditions, 225-226
disabling, 225
function breakpoints, 224
properties, 225-226
Breakpoints window, 224-225
brushes (GDI+), 366
Build properties, configuring for setup projects (Windows Installer), 507-511
Authenticode Signature, 511
Bootstrapper option, 509-510
CAB Size property, 509
Compression property, 510
Output File Name option, 508
Package Files option, 508-509
Build Property Page, 477
Button property (MouseEventArgs object), 75
ByRef keyword, 23
Byte parameter, 23
ByVal keyword, 23
C
CAB files, 509
CAB Size property, 509
Cabinet files (CAB), 509
calling
functions, 8
methods, 21, 421, 424
Cancel property (PrintPageEventArgs object), 403
CanFocus property, 92
caspol.exe, 492-494
CausesValidation property, 92-93
CenterParent setting (FormStartPosition property), 52
CenterScreen setting (FormStartPosition property), 52
Certified for Windows program, accessibility requirements, 428-429
Char data type, 91
character encodings, converting, 441-443
characters, validating, 91
check marks (menus), displaying, 83
Checked property, 83
circular references, 34-35
Class keyword (Visual Basic .NET), 16
class keyword (Visual C#), 16
class libraries. See also base class library
assemblies, creating, 458
external, referencing, 13
classes, 4, 8. See also forms; namespaces
Abstract, 200-201
abstract
creating, 199
members, 199-201
adding methods to, 20-21
aliases, creating, 13
ApplicationException class, 253
AppSettingReader, 473-474
ArrayList, 128-129
CodeAccessPermission permission, 485-486
collections, 131, 209-214
compared to structures, 19
CompoundFraction (Lab 4), 203-208
creating, 16, 36-37, 164-169, 260-261
CultureInfo, 435-436, 439
Debug, 231-240
DefaultTraceListener, 234
delegates, 148
Demo, 36-37
Encoding, 441
Fraction (Lab 3-2), creating, 164-169
garbage collection, 36-38
Help, 431-432
inheritance
creating CompoundFraction class (Lab 4), 203-208
inherited classes, 191
polymorphic behavior, 190
uninherited classes, 192
instantiating, 172-173
KeyEventArgs, properties, 89-90
members, 15-17
nested, 17
OleDbCommand, 290
OleDbRowUpdatedEventArgs, 320
PaintEventArgs, 382
polymorphism, 174-176
relationship to objects, 172-173
ResourceManager, 462-464
SqlCommand (Command object), 290, 337-338
SqlRowUpdatedEventArgs, 320
String, 118-119
System.ApplicationException, 253
SystemBrushes, 367
System.Collections.CollectionBase, 142
SystemColors, 367
System.IO.StreamReader, 309
SystemPens, 367
System.String, 309
System.Windows.Forms.Form, 55
TextWriterTraceListener, 234
ToolboxBitmapAttribute, 386-387
Trace, 231-240
TraceSwitch, 237-238
type access modifiers, 29
Web services. See Web services
XmlDataDocument, 340-343
XmlReader, 337-338
classid (Windows Forms controls), 390
clauses (handles), 147-150
clearing breakpoints, 225
Click event, 74, 81, 85
Click event handler, 81
Clicks property (MouseEventArgs object), 75
CloneMenu method, 84
cloning menus, 84
Close method, 57
Closed event, 62
Closing event, 62
closing forms, 57
CLR (common language runtime)
compiling .NET applications, 4-5
cross-language compatibility, 2-3
executing .NET applications, 4-5
garbage collection, 8
JIT, 5
CLS (Common Language Specification), 3
code. See also common language runtime
adding forms to projects, 49
assembly manifest, 3-4, 456-457
configuring access security, 484-490
caspol.exe, 492-494
code groups, 492
declarative code access, 489-490
imperative code access, 478, 481-483, 486-490
permissions, 484-485
policy levels, 491-494
conversions to IL, 4
creating inherited forms, 50
optimization, 475-477
Code window pop-up menu, 222
CodeAccessPermission class
members, 485-486
methods, 486
CollectionBase class, 131
collections, 128-131
ArrayList class, 128-129
classes, 131
creating strongly typed collection classes (Lab 4), 209-214
controls, 71-72
adding controls, 71
removing controls, 71
Count property, 131
For Each statement, 131-133
indexers, 129
Item property, 129
properties, 140-142
strong type, 142
removing items, 130-131
colon (:), implementing interfaces, 185-187
color
backgrounds, 53-54
printing, 409-410
user interface composition, 46
Color structure (System.Drawing namespace), 365
Color structure, GDI+, 365-367
COM type libraries, accessing, 417-419
ComboBox controls, 331
Command object, ADO.NET
data architecture, 273
DataReader commands, 290-297
methods, 286
Command property, 521
Command window, 228-229
commands
Add New Item menu, Application Configuration File, 470
File menu, Add New Item, 470
menus, disabling, 82-83
MS-DOS XCOPY, 502-503
View menu, Tab Order, 66
CommandType property, Command object, 285-286
comma-separated values. See CSV
common language runtime, 2. See also code
compiling .NET applications, 4-5
cross-language compatibility, 2-3
executing .NET applications, 4-5
garbage collection, 8
JIT, 5
Common Language Specification (CLS), 3
common type sytem (CTS), 2
communication, DataAdapter database options, 299
compatibility, shadowed/hidden members, 195-196
compiler optimizations, 476-477
compilers, JIT (Just-In-Time compiler), 5
compiling .NET applications, common language runtime, 4-5
complex data binding, 324, 331
complex shapes, GraphicsPath object, 370-372
components, 64-77
compared to controls, 64
ContextMenu, creating context menus, 82
cross-language compatibility, 2-3
default properties, 139-140
DoughnutMachine (Lab 3-1)
adding to user interface, 159-163
creating, 152-159
ErrorProvider, 87, 96-97, 104-106
extender provider, 76-77
accessing property values, 76
setting property values, 77
ToolTipProvider, 76
HelpProvider, 432-433
MainMenu, creating menus at design time, 78-80, 103-104
PrintDocument, 402-405
registering at installation, 516-517
composite controls. See user controls
composition, user interfaces, 44-47
aesthetics, 45
color, 46
consistency, 45
control position, 45
fonts, 46
icons, 46-47
images, 46-47
shapes, 47
simplicity, 44-45
transparency, 47
CompoundFraction class (Lab 4), creating, 203-208
Compression property, 510
Condition property, 526, 528
conditions, breakpoints, 225-226
.config file schema, 470-471
configurations
adding configuration files, 495-497
adding data to configuration files, 475
application security (Lab 9), exercise, 495-497
Build properties for setup projects (Windows Installer), 507-511
Authenticode Signature, 511
Bootstrapper option, 509-510
CAB Size property, 509
Compression property, 510
Output File Name option, 508
Package Files option, 508-509
code access security, 484-490
caspol.exe, 492-494
code groups, 492
declarative code access, 489-490
imperative code access, 478, 481-483, 486-490
permissions, 484-485
policy levels, 491-494
.config file schema, 470-471
creating configuration file, 469-471
dynamic properties, 471-475
deployed applications, 473
Properties window, 472-473
retrieving manually, 473-474
setting manually, 473-474
printing, 412-415
page settings, 415
PrintDialog dialog box, 412-413
PrintSetupDialog dialog box, 414
role-based authorizations, 479-483
declarative role-based security, 483
imperative role-based security, 481-483
Principal object, 480-481
setup projects, 532
installation editors, 517-528
properties, 515-517
trace switches, 238-240
Connection object, ADO.NET
connecting to databases, 281-284
data architecture, 272
connections (ADO.NET, databases), 281-284
ConnectionString property (Connection object), 283
consistency, user interface composition, 45
Const keyword, 120
constants, 120-121
constituent controls, 379
Constraint collection (DataTable objects), 271
Constraints (ADO.NET DataSet objects), 312-315
foreign key, 314-315
property values, 314-315
unique, 313
constructors, 10, 25-26
consumers (data consumers), data binding, 324
container controls, 67-68
context menus, creating, 82
ContextMenu component, creating context menus, 82
Control class, authoring controls, 374
Control property (KeyEventArgs class), 89
ControlBindingsCollection objects, 326
controls, 44, 64-77
ActiveX, instantiating, 419
Adding
to applications, 65
to Toolbox, 72-73
anchoring, 68-71
collections, 71-72
compared to components, 64
container, 67-68
custom, 382-383
creating exercise, 392-397
testing exercise, 397-398
docking, 68-71
editing properties, 65-66
event handlers, creating, 58-59, 73-74
events, mouse interactions, 74-75
Focus method, 91
frmMain form (Virtual Doughnut Factory), 100-102
inherited, 377-379
.NET Framework
authoring, 374-384
GDI+, 360-374
positioning, 45
PrintPreview, 411-412
PrintPreviewDialog, 411-412
tab order, setting, 66
tasks, 385-391
adding controls to Toolbox, 385
debugging controls, 387-388
hosting controls in Internet Explorer, 390
managing control licensing, 388-390
Toolbox bitmaps, 386-387
user, 375-376, 379-381
Control.SetStyle method, 383
converting
character encodings, 441-443
data types, 113-116
explicit conversions, 115-116
implicit conversions, 114-115
strings, 118-119
coordinates (GDI+ Graphics object), 362-363
Copy method (IPermission interface), 479
Count property, 131
CreateDataView method, 336
CreateGraphics method, 361
Cryptographic Hash code group, 492
CSV (comma-separated values), 309
CTS (common type system), 2
CType function, converting data types, 116
CultureInfo class, 435-436, 439
CultureInfo.CurrentUICulture property, 436-437
cultures, 434-436
formatting, 439-443
neutral, 435
retrieving resources from satellite assemblies, 464
setting current cultures, 435-437
specific cultures, 435
currency (data currency), data binding, 328-330
CurrencyManager objects, data providers, 324, 328
current cultures, setting, 435-437
custom actions
Custom Actions Editor, 525-526
custom controls, 382-383
creating, 392-397
OnPaint method, 382
Paint event, 382
testing exercise, 397-398
custom exceptions, 253-254
CustomActionData property, 526
Customize Toolbox option, 385
Customize Toolbox window, 73
D
data access (ADO.NET), 270-358
binding data, 323-331
connecting to databases, 281-284
data architecture, 271-274
data commands, 284-290
DataAdapters, 297-305
DataReaders, 290-297
DataSet objects, 306-322
disconnected database access, 270-274
exercises, 345-356
filtering data, 331-336
sorting data, 331-336
SQL (Structured Query Language), 275-280
XML, 337-344
Data Adapter Configuration Wizard, 299-300
data architecture (ADO.NET), 271-274
Command object, 273
Connection object, 272
Data Provider, 271-272
DataAdapter object, 273-274
DataReader object, 273
data binding, 323-331
creating simple-bound controls, 325-326
data consumers, 324
data currency, 328-330
data providers, 323-324
run time data binding, 326-328
data commands (ADO.NET), 284-290
creating Command objects, 285-286
creating data commands, 285
executing nonquery commands, 289
executing commands, 286
parameters, 286-289
returning single values, 289-290
Data Form Wizard
updating data
connecting data forms to databases, 352-353
creating master-detail data forms, 351-352
viewing, 351-353
Data Provider, ADO.NET data architecture, 271-272
data stores (XML), accessing, 354-356
data types, 110-119
boxing, 117
Char, 91
converting, 113-116
explicit conversions, 115-116
implicit conversions, 114-115
strings, 118-119
floating-point, 111-112
integer, 110-111
methods, 116-117
non-numeric, 112-113
numeric, converting strings to, 118-119
string, converting to numeric, 118-119
data validation, 87-98
characters, 91
field-level validation, 87-91
focus, 91-93
form-level validation, 93-95
user feedback, 95-97
DataAdapter objects (ADO.NET), 297-305
configuring DataAdapters, 298-300
creating DataAdapters, 298-300
data architecture, 273-274
retrieving data, 300-305, 347-349
updating data, 300-305, 347-349
DataAdapters (ADO.NET), 304-305
DataBindings property, 325-326
DataBindings.Add method, 327
DataBindings.Remove method, 327
DataColumns collection (DataTable objects), 271
DataCommand objects (ADO.NET), 346-347
DataGrid controls, 331
DataReaders (ADO.NET), 290-297
accessing columns of data, 292-293
adding data access, 345-347
applying multiple result sets, 294-295
creating, 290-291
data architecture, 273
executing ad hoc SQL queries, 295-297
retrieving typed data, 293-294
simple data access, 291-292
DataRelations objects (DataSet), 271, 311-312
DataRows collection (DataTable objects), 271, 307
DataSet objects (ADO.NET)
constraints
foreign key, 314-315
unique, 313
creating without DataAdapters, 306-310
data architecture, 271
DataRelations objects, 271, 311-312
DataTable objects, 271, 307
editing data, 315-321
handling update errors, 319-321
transactions, 315-319
updating the database, 317
filling without DataAdapters, 306-310
filtering data, 333-334
retrieving data, 347-349
sorting data, 333-334
updating data, 347-349
XML, 338-340
reading XML into DataSets, 339
writing XML from DataSets, 339-340
DataSet.ReadXml method, 339
DataSet.ReadXmlSchema method, 339
DataSet.WriteXml method, 340
DataSet.WriteXmlSchema method, 340
DataTable objects (DataSet), 271, 307
DataTable.NewRow method, 308
DataView objects, 334-335
DataViewManager class, 335-336
DataView.RowState property (DataRow objects), 334
DataViews, 331-332
DataViewSettings property, 335
DateTimeFormat member (CultureInfo class), 439
DbType property (Command object), 287
Deactivate event, 58, 61
Debug class, 231-240
implementing tracing exercises, 264-266
writing output to Listeners collection, 232-233
Debug menu, 221, 226-229
additional windows, 229
Autos window, 227
Command window, 228-229
Locals window, 226-227
Output window, 226
Watch window, 227-228
debugging applications, 217
Break mode, 220-223
breakpoints, 223
Breakpoints window, 224-225
clearing, 225
disabling, 225
function, 224
properties, 225-226
controls, 387-388
Debug class, 231-240
implementing tracing exercises, 264-266
writing output to Listeners collection, 232-233
debugging windows, 226-229
Autos window, 227
Command window, 228-229
Locals window, 226-227
Output window, 226
Quickwatch dialog box window, 228
Watch window, 227-228
errors, 218-220
logical, 220, 258-259
run-time, 219, 257-258
syntax, 218-219, 256-257
exceptions, 260-263
exception handlers, 246-250
throwing, 251-254
Trace class, 264-266
unit test plans, 241-245
bad data, 243
boundary conditions, 243
data combinations, 244
designing test cases, 242-243
normal data, 243
testing data, 243
declarative role-based security, 483
declarative security, 478
Declare keyword, 424-425
declaring
arrays, 124-126
classes
Abstract, 201
inherited, 191
enumerations, 121-122
events, 146-147
external functions, 425
objects, 10-11
static variables, 22
Default keyword, 139
default properties, 139-140
default values
enumerations, 122
user interface composition, 44
DefaultPageSettings property (PrintDocument object), 402
DefaultPageSettings.Color property, 409
DefaultTraceListener class, 234
defining interfaces, 182-184
delegates
creating, 145
myDelegate, 145
System.EventHandler, 148
DELETE statement (SQL), 278
DeleteRule, foreign key constraints, 314
Delta property (MouseEventArgs object), 75
Demand method
CodeAccessPermission class, 486
IPermission interface, 479
Permission object, 486
Demo class, creating, 36-37
DemoTest project, creating Demo class, 36-37
Deny method
CodeAccessPermission class, 486
Permission object, 486-487
deployment
deployed applications, 472-473
installation editors
configuring setup projects, 517-528
Custom Actions Editor, 525-526
File System Editor, 517-521
File Types Editor, 521-523
Launch Conditions Editor, 527-528
Registry Editor, 520-521
User Interface Editor, 523-525
setup projects (Windows Installer). See setup projects
XCOPY, 502-503
Description property, 516
design
accessibility, 427-428
test cases, unit test plans, 242-243
user interfaces
composition, 44-47
controls, 43
forms, 43
design time, creating menus, 78-80
destructors, 25-26
DetectNewerInstall property, 516
dialog boxes
Add Dialog, 524-525
Add Reference, 13, 417-418
adding, 524-525
Advanced Data Binding, 326
New Breakpoint, 226
PrintPreviewDialog, 412
PrintSetupDialog, 414
QuickWatch, 227-228
Setup Property Pages, 508
Dim statement, 9
Direction property (Command objects), 287
DirectoryServicesPermission permission, 484
disabling
breakpoints, 225
menu commands, 82-83
disconnected database access (ADO.NET), 270-271
displaying
check marks (menus), 83
errors, 96-97
radio buttons (menus), 83
DisplayResults method, 150
Dispose() method, 34
distributing setup projects (Windows Installer), 511-514
DllImportAttribute attribute, 424-425
Dock property, 71
docking controls, 68-71
DoubleClick event, 74
DoughnutMachine component (Lab 3-1)
adding to user interface, 159-163
creating, 152-159
drawing shapes (GDI+ Graphics object), 363-364
DrawString method (Graphics object), 369-370
dynamic properties, configuring applications, 471-475
deployed applications, 473
Properties window, 472-473
retrieving properties manually, 473-474
setting properties manually, 473-474
E
editing
data, DataSet objects (ADO.NET), 315-321
properties
controls, 65
multiple controls, 65-66
editors, installation
configuring setup projects, 517-528
Custom Actions Editor, 525-526
File System Editor, 517-521
File Types Editor, 521-523
Launch Conditions Editor, 527-528
Registry Editor, 520-521
User Interface Editor, 523-525
embedding resources in assemblies, 461
enabling printing, 410
Encoding class, 441
Encoding.Convert method, 442
End method, 423
Enter event, 92
Enterprise policy level, 491
EntryPoint property, 526
enumerations, 121-123
EnvironmentPermission permission, 484
Equals method, 116
EqualsHandler method, 258
ErrorProvider component, 87, 96-97, 104-106
errors
debugging applications, 218-220
displaying, 96-97
input, user feedback, 95-97
logical, 220, 258-259
run-time, 218, 257-258
syntax, 218-219, 256-257
testing applications, 218-220
updating data, 319-321
Errors property (RowUpdated events), 321
event handlers, 57-58
Click, 81
creating, 58-59, 73-74
events with multiple handlers, 149-150
implementing, 147-150
multiple events, 149
removing at run time, 150
Visual Basic .NET, 147-148
Visual C#, 148
EventLogPermission permission, 484
events, 15, 144
adding to interfaces, 184
arguments, 59-60
Click, 74, 81, 85
Deactivate, 58
declaring, 146-147
DoubleClick, 74
EventArgs, 60
field-level validation, 88-91
focus, 92
forms, 57-62
handling, 57
KeyDown, 89-90
KeyPress, 90
KeyUp, 89-90
lifetime, 60-62
menus, 81
mouse interactions, 73-75
multiple event handlers, 149-150
multiple events, event handlers, 149
Popup, 81
PrintPage, 403-405
raising, 146-147
Select, 81
shared, 147
static, 147
Validate, 74
Validated, 92-93
Validating, 74, 92-93
VisibleChanged, 58
exceptions
exception handlers, 247-250, 490
exercises, 260-263
InvalidCastException, 132
throwing, 251-252
ExecuteNonQuery method (Command object), 286, 289
ExecuteReader method (Command object), 286, 290-291
ExecuteScalar method (Command object), 286, 289-290
ExecuteXmlReader method, 337-338
exercises
ADO.NET data access
connecting with databases, 345-353
connecting with XML data stores, 354-356
CompoundFraction class, creating, 203-208
creating custom controls, 392-397
debugging applications
identifying logical errors, 258-259
identifying run-time errors, 257-258
identifying syntax errors, 256-257
Demo Class, 36-37
DoughnutMachine component
adding to user interfaces, 159-163
creating, 152-159
exceptions
creating MyDivideByZero class, 260-261
handling exceptions, 261-263
raising exceptions, 261-262
forms, creating, 445-448
fractions, creating, 164-169
garbage collection, 37-38
localized forms, 445-448
menus, adding, 103-104
overloaded operators, creating, 208-209
print support, adding to applications, 451-453
strongly typed Collection class, creating, 209-214
testing custom controls, 397-398
trace switches, 264-266
adding trace functionality, 264-265
creating .config file, 265-266
user interfaces, 99-102
validation handlers, 104-106
explicit conversions, data types, 115-116
ExtendedProperties collection (DataSet), 271
extender provider components, 76-77
Extensions property, 521
external functions, declaring, 425
external libraries, referencing, 13
F
Fail method, 232
fields, 15
default values, 44
field-level validation, 87-91
events, 88-91
properties, 88
File menu commands, Add New Item, 470
File searches, 527
File System Editor, 517-521
Add Special Folder menu, 518
adding assemblies to setup projects, 519
adding files to setup projects, 519
adding registry keys, 521
adding shortcuts, 520
File Types Editor, 521-523
FileDialogPermission permission, 484
FileIOPermission permission, 484
files
adding to setup projects using File System Editor, 519
assembly manifest, 457
associations, creating, 521-523
bootstrapper, 510
Cabinet (CAB), 509
configuration
adding, 495-497
creating, 469-471
Fill method (DataAdapter object), 300-302
filling shapes, 364
filtering data, 331-336
creating DataViews, 331-332
DataSets, 333-334
DataViewManager class, 335-336
editing data with DataViews, 334-335
finalizers (Visual Basic .NET), 24-25
Overrides keyword, 26
Sub Finalize(), 25
Find value (HelpNavigator property), 433
FirstPagePrinted variable, 407
flags
-addgroup, 493
-listgroups, 493
PermissionState.None, 485
PermissionState.Unrestricted, 485
SecurityAction, 490
flat files, ADO.NET DataSet objects, 309-310
floating-point types, 111-112
float-pointing values (structures), 363
Flush method, 235
focus
events, 92
forms, 56-57, 61
validating user input, 91-93
Focus method, 91
fonts, user interface composition, 46
For Each statement
arrays, 131-133
collections, 131-133
foreign key constraints, ADO.NET DataSet objects, 314-315
formatting cultures, 439-443
character encoding conversions, 441-443
right-to-left display, 440-441
Form.Load event handlers, 264
Form.Show method, 56
forms, 44, 48-63. See also classes
accessibility properties, 429-430
adding to applications at run time, 49
adding to projects, 48-49
background color, changing, 53-54
closing, 57
controls. See controls
events, 57-62
arguments, 59-60
creating event handlers, 58-59
lifetime, 60-62
focus, 56-57, 61
frmMain (Virtual Doughnut Factory), 100-102
inherited
creating with code, 50
creating with Inheritance Picker, 49-50
localized
creating, 437-439
print support (Lab 8), 445-453
methods, 55-57
properties
appearance, 53-54
assigning values, 54
BackColor, 54
BackGroundImage, 54
Cursor, 54
Font, 54
ForeColor, 54
Opacity, 54-55
Text, 54
start-up, 50-52
locations, 52-53
Visual Basic .NET, 51-52
Visual C#, 52
translucent, 55
transparent, 55
visibility, 56-57
FormStartPosition property, 52
For...Next loop, 132-133
Fraction class, creating (Lab 3-2), 164-169
Friend keyword, 121
Friend members, 197-199
frmMain form (Virtual Doughnut Factory)
controls, 100-102
properties, 100-102
fully-qualified names, 12
functionality, adding to inherited controls, 377-378
functions, 20. See also methods
calling, 8
CType, converting data types, 116
external, declaring, 425
syntax, converting data types, 116
Windows API, accessing, 424-425
G
garbage collection, 8, 33-35
circular references, 34-35
classes, 36-38
GDI+ (Graphical Device Interface), 360-374
brushes, 366
Color structure, 365-367
Graphics object, 361-364
coordinates, 362-363
drawing shapes, 363-364
pens, 366-367
rendering
complex shapes, 370-372
simple shapes, 368-369
text, 369-370
SystemColors class, 367
System.Drawing namespace, 360-361
Get methods (DataReaders), 293-294
GetChars method, 443
GetChildRows method, 312
GetFocus event, 92
GetHashCode method, 116
GetLicense method, 388-390
GetParentRow method, 312
getter methods, 134
GetType method, 116, 132
Global Assembly Cache
installing assemblies to, 467, 519
sharing assemblies, 465-466
global variables, optimizing application performance, 475
globalization, 434-443
cultures, 434-436
formatting, 439-443
retrieving resources from satellite assemblies, 464
implementation, 436
international input validation, 439
Graphical Device Interface. See GDI+
graphics, printing, 405-407
Graphics object (GDI+), 361-364
coordinates, 362-363
drawing shapes, 363-364
Graphics property (PrintPageEventArgs object), 403
Graphics.DrawString method, 369-370
Graphics.FromImage method, 362
GraphicsPath object, 370-372, 405
Green parameter (Color structure), 365
GroupBox control, 67
groups, code, 492
H
Handled property (KeyEventArgs class), 89
Handles clause, 147-150
Hashtable class, 131
HasMorePages property (PrintPageEventArgs object), 403
heap (memory), 8
help
Help class, 431-432
HelpProvider component, 432-433
properties, 432-433
HelpKeyWord property, 432-433
HelpNavigator property, 432-433
HelpProvider component, 432-433
HelpString property, 432-433
Hide method, 57
hiding
base class members, 194-197
menu items, 83-84
High Contrast option (Certified for Windows Program requirement), 428
hosting controls in Internet Explorer, 390
I
Icon property, 97
icons, user interface composition, 46-47
identity, assemblies
assembly manifest, 457-458
strong names, 466-467
IL (Intermediate Language), 3
code conversions to, 4
compiling .NET applications, 4-5
executing .NET applications, 4-5
IList interface, data providers, 324
images
native assembly images, installing, 529-530
user interface composition, 46-47
Immediate mode (Command window), 228
imperative role-based security, 478, 481-483, 486-490
Implements keyword, 185-188
implicit conversions (data types), 114-115
Imports statement, 12-13
Indent method, 233
Index value (HelpNavigator property), 433
indexers, 129, 139-140
inheritance, 190-202
classes
Abstract, 200-201
Control, 376-377
creating, 190-192, 203-208
declaring, 191
polymorphic behavior, 190
UserControl, 375-376
controls, 376-379
adding new functionality, 377-378
creating appearances, 378-379
existing, 375
members, 192-199
hiding base class, 194-196
overriding base class, 192-194
shadowing base class, 194
polymorphism, 175
Inheritance Picker, creating inherited forms, 49-50
inherited forms, creating
with code, 50
with Inheritance Picker, 49-50
Inherits keyword, 50
initialization
arrays, 124-126
value types, 11
input errors, user feedback, 95-97
INSERT INTO statement (SQL), 279
installation editors
configuring setup projects, 517-528
Custom Actions Editor, 525-526
File System Editor, 517-521
File Types Editor, 521-523
Launch Conditions Editor, 527-528
Registry Editor, 520-521
User Interface Editor, 523-525
installations
assemblies to Global Assembly Cache, 467, 519
native assembly images, 529-530
setup projects (Windows Installer), 512-513, 532-533
InstallerClass property, 526
instances, creating, 9-11
instantiation, 10-11
ActiveX controls, 419
classes, 172-173
user-defined types, 18-19
InstMsiA.exe, 510
InstMsiW.exe, 510
integer types, 110-111
integer values (structures), 363
Interface keyword (Visual Basic .NET), 182-184
interface keyword (Visual C#), 182-184
interfaces
implementation, 185-188
members, 186-187
methods, 186-187
Visual Basic .NET, 187-188
Visual C#, 187
IPermission, 479
polymorphism, 175, 182-189
Intermediate Language. See IL
internal members, 197-199
international input, validation, 439
Internet Explorer, hosting controls, 390
Intersect method, IPermission interface, 479
InvalidCastException, 132
IPermission interface, 479
IsSubsetOf method, IPermission interface, 479
Item property, 71, 129
J
jagged arrays, 127
JIT (Just-In-Time compiler), 5
K
keyboards
access, menus, 80-81
Certified for Windows program requirements, 429
handlers, form-level validation, 94-95
KeyCode property (KeyEventArgs class), 89
KeyData property (KeyEventArgs class), 89
KeyDown event, 89-90
KeyEventArgs class, 89-90
KeyPress event, 90
KeyUp event, 89-90
KeyValue property (KeyEventArgs class), 89
KeywordIndex value (HelpNavigator property), 433
keywords
abstract, 199-201
access modifiers, 27
AddHandler, 147-150
aliases, 13
base, 196
ByRef, 23
ByVal, 23
Class (Visual Basic .NET), 16
class (Visual C# .NET), 16
Const, 120
Declare, 424-425
Default, 139
Friend, 121
Implements, 185-188
Inherits, 50
Interface (Visual Basic .NET), 182-184
interface (Visual C# .NET), 182-184
Me, 55
MustInherit, 199, 201
MustOverride, 200
MyBase, 196
New (Visual Basic .NET)
instantiating classes, 172-173
instantiating user-defined types, 18-19
new (Visual C# .NET), 194
hiding base class members, 194-195
instantiating user-defined types, 18-19
Noninheritable, 192
operator, 179-181
Optional, 25
out, 24
Override (Visual Basic .NET), 26, 192
override (Visual C# .NET), 192
Preserve, 125
Private (Visual Basic .NET), 121, 197-199
private (Visual C# .NET), 197-199
Protected (Visual Basic .NET), 121, 197-199
protected (Visual C# .NET), 197-199
Public, 121
ref, 23
sealed, 192
Static, 22
struct, 16
Structure, 16
this, 55
Value, 134
virtual, 199
WithEvents, 147-148
Keywords property, 516
Next
Last Updated: May 15, 2003
|