Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237...

47
Special Characters ''' (triple tick) code comment notations, 165 $ mask token, MaskedTextBox, 992 <%@Master%> directive, 1271 <%@Page%> directive, 1236, 1254, 1271, 1277, 1292, 1300 <%Import%> directive, ASP.NET, 1236–1237 & symbol, 85 * (wildcard character), 40 @ (at) symbol, 688 _ (underbar) token, 95 + (plus sign) icon, 476 + operator, 85, 359 = operator, 97, 363 <> operator, 97, 363 ! (error icon), 1015 Numbers 0 mask token, MaskedTextBox, 992 3D rendered animation, 1048 9 mask token, MaskedTextBox, 992 9999100% code approach, 844 A A method, Color object, 944 Abort() method, Thread type, 549 AboutToBlow event, 343, 1026–1027 AboutToBlow() method, 341 AboutToBlow notification, 334 AboutToBlowEventHandler delegate, 341 absolute position, 1039 abstract base classes, 191, 196, 256–257, 295 abstract classes, 191–192 abstract methods, 192–196 Accelerate() method, 335, 340, 342, 346 AccelerationRatio property, 1188 AcceptButton property, 897, 1004 AcceptChanges() method, 708 AcceptReturn property, 1129 AcceptsReturn property, 989 access modifiers default, 153 and field data, 153 and nested types, 152–153 overview, 151–152 accessor method, 154 action attribute, 1221, 1226, 1247 Action property, 815 Activate() method, 897 Activated event, 897–899 Activator.CreateInstance() method, 498 ActiveMdiChildIsMdiChildIsMdi Container property, 897 <Ad> element, 1275 Add Reference dialog box, 450 Add Service Reference option, 800, 825, 833 Add Web Reference button, 835 <add> elements, 480 AddAfterThis()/AddBeforeThis() method, 790 AddArc() method, GraphicsPath class, 970 AddBezier() method, GraphicsPath class, 970 AddBeziers() method, GraphicsPath class, 970 AddCacheDependency() method, 1251 AddClosedCurve() method, GraphicsPath class, 970 AddCurve() method, GraphicsPath class, 970 AddDataTableToCache() method, 1312 Added value, 713 AddEllipse() method, GraphicsPath class, 971 AddFirst() method, 790 AddHandler statement, 344, 349, 889 AddHandler/RemoveHandler, 344–345 AddLine() method, GraphicsPath class, 971 AddLines() method, GraphicsPath class, 971 AddNewCarDialog class, 1163 AddParams object, 568 AddPath() method, GraphicsPath class, 971 AddPie() method, GraphicsPath class, 971 AddPolygon() method, GraphicsPath class, 971 AddRange() method, 296, 985, 998 AddRectangle() method, GraphicsPath class, 971 AddRectangles() method, GraphicsPath class, 971 AddRef() method, 235, 579, 594–595 address attribute, 819 address element, 817 addresses, WCF, 812 AddressOf keyword, 332, 336 AddServiceEndpoint() method, 819, 831 AddString() method, GraphicsPath class, 971 AddSubtractMyPointsWithOpera tors() method, 363 AdjustableArrowCap class, System.Drawing. Drawing2D, 953 ADO.NET additional namespaces, 658 vs. ADO classic, 653 application configuration files, 664–665 asynchronous data access, 697–698 Command object, 681–682 connected layer, 654, 677 connection objects, 678–680 ConnectionStringBuilder object, 680 connectionStrings element, application configuration, 676–677 data provider definition, 655 data providers overview, 655–656 DbDataReader object, 682–683 definition, 653 deleting records, 687 example, data provider factory, 673–674, 676 Index 1331

Transcript of Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237...

Page 1: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

Special Characters''' (triple tick) code comment

notations, 165$ mask token, MaskedTextBox,

992<%@Master%> directive, 1271<%@Page%> directive, 1236,

1254, 1271, 1277, 1292,1300

<%Import%> directive, ASP.NET,1236–1237

& symbol, 85* (wildcard character), 40@ (at) symbol, 688_ (underbar) token, 95+ (plus sign) icon, 476+ operator, 85, 359= operator, 97, 363<> operator, 97, 363! (error icon), 1015

Numbers0 mask token, MaskedTextBox,

9923D rendered animation, 10489 mask token, MaskedTextBox,

9929999100% code approach, 844

AA method, Color object, 944Abort() method, Thread type, 549AboutToBlow event, 343,

1026–1027AboutToBlow() method, 341AboutToBlow notification, 334AboutToBlowEventHandler

delegate, 341absolute position, 1039abstract base classes, 191, 196,

256–257, 295abstract classes, 191–192abstract methods, 192–196Accelerate() method, 335, 340,

342, 346AccelerationRatio property, 1188AcceptButton property, 897, 1004AcceptChanges() method, 708AcceptReturn property, 1129AcceptsReturn property, 989

access modifiersdefault, 153and field data, 153and nested types, 152–153overview, 151–152

accessor method, 154action attribute, 1221, 1226, 1247Action property, 815Activate() method, 897Activated event, 897–899Activator.CreateInstance()

method, 498ActiveMdiChildIsMdiChildIsMdi

Container property, 897<Ad> element, 1275Add Reference dialog box, 450Add Service Reference option,

800, 825, 833Add Web Reference button, 835<add> elements, 480AddAfterThis()/AddBeforeThis()

method, 790AddArc() method, GraphicsPath

class, 970AddBezier() method,

GraphicsPath class, 970AddBeziers() method,

GraphicsPath class, 970AddCacheDependency()

method, 1251AddClosedCurve() method,

GraphicsPath class, 970AddCurve() method,

GraphicsPath class, 970AddDataTableToCache()

method, 1312Added value, 713AddEllipse() method,

GraphicsPath class, 971AddFirst() method, 790AddHandler statement, 344, 349,

889AddHandler/RemoveHandler,

344–345AddLine() method, GraphicsPath

class, 971AddLines() method,

GraphicsPath class, 971AddNewCarDialog class, 1163AddParams object, 568

AddPath() method, GraphicsPathclass, 971

AddPie() method, GraphicsPathclass, 971

AddPolygon() method,GraphicsPath class, 971

AddRange() method, 296, 985,998

AddRectangle() method,GraphicsPath class, 971

AddRectangles() method,GraphicsPath class, 971

AddRef() method, 235, 579,594–595

address attribute, 819address element, 817addresses, WCF, 812AddressOf keyword, 332, 336AddServiceEndpoint() method,

819, 831AddString() method,

GraphicsPath class, 971AddSubtractMyPointsWithOpera

tors() method, 363AdjustableArrowCap class,

System.Drawing.Drawing2D, 953

ADO.NETadditional namespaces, 658vs. ADO classic, 653application configuration files,

664–665asynchronous data access,

697–698Command object, 681–682connected layer, 654, 677connection objects, 678–680ConnectionStringBuilder

object, 680connectionStrings element,

application configuration,676–677

data provider definition, 655data providers overview,

655–656DbDataReader object, 682–683definition, 653deleting records, 687example, data provider factory,

673–674, 676

Index

1331

Page 2: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

example database, 665Firebird Interbase data

provider, 657IBM DB2 Universal Database

data providers, 657IDbCommand interface, 660IDbConnection interface, 659IDbDataAdapter, IDataAdapter

interface, 661IDbDataParameter,

IDataParameter interface,660

IDbDataReader, IDataReaderinterface, 662

IDbTransaction interface, 660inserting records, 686Microsoft data providers, 656modifying tables, Command

object, 684, 692multiple result sets,

DbDataReader object, 684MySQL data providers, 657overview, 653parameterized command

objects, 688PostgreSQL providers, 657provider factory model,

671–673specifying DbParameter

parameters, 688, 690stored procedures using

DbCommand, 690System.Data, 658third-party data providers, 657updating records, 687using interfaces, 663–664

AdRotator control, 1272, 1275AdRotator example, ASP.NET,

1275AdRotator widget, 1272, 1275AdvertisementFile property, 1275AfterSelect event, 1019aggregation, 184agnostic manner, 798alert() method, 1225al.exe tool, 478AllKeys member,

HttpApplicationState type,1306

AllKeys property, ASP.NETHttpApplicationStatemembers, 1306

allNames variable, 428allowAnonymous attribute,

Profile Data, 1326AllowDBNull property, 709almostDeadList member

variable, 336

Alt property, 892, 896, 907AlwaysBlink property,

ErrorBlinkStyle, 1016Anchor property, 891, 1040anchoring, 983AnchorStyles enumeration

values, 1039–1040And operator, 98AndAlso operator, 98Angle property, 1186, 1195AngleX property, 1186AngleY property, 1186Animate property, 1026, 1033AnimatedButtonWithDiscrete-

KeyFrames.xaml file, 1194animation, 1187–1195

Animation-suffixed types,1187–1188

authoring in VB code,1189–1190

authoring in XAML, 1191–1192key frames, 1193–1195

discrete, 1193–1194linear, 1194–1195

pacing, 1190–1191reversing and looping, 1191Timeline base class, 1188

animation in controls, 1027AnimationInXaml.xaml file, 1192Animation-suffixed types,

1187–1188AnimationUsingKeyFrames

suffix, 1193anonymous methods, 423anonymous profiles, 1328anonymous types, 8, 403–408

containing anonymous types,407–408

GetHashCode() method, 405implementation of ToString()

and GetHashCode(), 405internal representation of, 404semantics of equality for,

406–407ToString() method, 405

AnonymousTypes, 404App_Browsers subfolder,

ASP.NET 2.0, 1242App_Code subfolder, ASP.NET

2.0, 1242–1243App_Data subfolder, ASP.NET

2.0, 1242App_GlobalResources subfolder,

ASP.NET 2.0, 1242App_LocalResources subfolder,

ASP.NET 2.0, 1242App_Themes subfolder, ASP.NET

2.0, 1242

App_WebReferences subfolder,ASP.NET 2.0, 1242

App.config file, 744, 746–747, 756,776, 805, 816–817, 824,827, 1241

AppDomainsadvantages, 526–527creation example code, 529loading example code, 530manipulation example code,

528overview, 517relationship to processes,

526–527shutdown, 245thread relationship, 537unloading example code, 530

Appearance property, CheckBox,995

AppendText() method, FileInfoclass, System.IO, 615, 618

Application, ASP.NETHttpApplicationmembers, 1305

application cache, 1297, 1310Application class, 884, 887–890,

1054–1055overview, 887–888System.EventHandler delegate,

889–890Application Configuration File

item, 463application configuration files,

ADO.NET, 664–665application development

cordbg.exe debugger, 35csc.exe compiler, 35–37installing .NET 3.5 Framework

SDK, 35notepad.exe development

editor, 35overview, 35SharpDevelop, 35TextPad development editor,

43using SharpDevelop, 43, 44, 46vbc.exe compiler, 37–38

application directory, 460application domain, 243Application property, 1247, 1305,

1307application root categories,

237–238application shutdown, ASP.NET,

1309–1310Application tab, 68

■INDEX1332

Page 3: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

Application type, 890application data and

processing command-linearguments, 1064

Windows colleciton, 1065Application_End() method, 1304,

1309Application_Error() event

handler, 1304Application_Start() event

handler, 1304, 1307, 1311ApplicationCommands object,

1148ApplicationCommands.Help

option, 1149Application.Current property,

1062<ApplicationDefinition>

element, 1073Application-derived class, 1061ApplicationExit event, 888–889application-level state data,

ASP.NET, 1306–1308Application.LoadComponent()

method, 1075–1076ApplicationPath member,

HttpRequest Type, 1248Application.Run() method, 885,

887, 898, 904, 927applications vs. sessions,

ASP.NET, 1305apply attribute, 478<appSettings> element, 480,

1257, 1259AppSettingsReader class type,

480AppStartUp() method, 1061ArgumentException exception,

281arguments, optional, 107–108Array class, 291array manipulation

defining array of Objects,114–115

defining lower bound of array,115–116

multidimensional arrays,117–118

overview, 113–114Redim/Preserve syntax, 117syntax, 114System.Array base class,

118–120Array object, 432array types, 422, 432–433ArrayList class, 294, 300ArrayList member variable, 349

ArrayList System.Collectionsclass type, 294–295

ArrayList type, 102ArrayOfObjects() method, 114arrays, using interface types in,

267As clause, 354As keyword, 78, 347as keyword

determining interface support,263

determining type, 200ascending operator, 425, 431AsEnumerable() method,

762–763AskForBonus() method, 121*.asmx file, 835, 1231, 1235, 1246,

1261, 1297, 1300–1301<asp:> tag, 1234<asp> tag, 1238<asp:Content> scope, 1276–1277<asp:ContentPlaceHolder> tag,

1271, 1272, 1276, 1277ASP.NET

<%@Page%> directive, 1236<%Import%> directive,

1236–12372.0 subdirectories, 1242–1243adding and removing controls,

1266AdRotator example, 1275AutoEventWireUp attribute,

1254AutoPostBack property,

1262–1263browser statisics in HTTP

Request processing, 1248categories of web controls,

1267, 1269classic ASP, 1227, 1229client-side scripting,

1224–1225client-side scripting example,

1225–1226code-behind, description,

1232code-behind page model,

1238–1240compilation cycle, 1243, 1244,

1246data-centric single-file test

pageadding data access logic,

1234–1236designing the UI, 1233–1234manually referencing

AutoLotDAL.dll, 1233overview, 1232

role of ASP.NET directives,1236–1237

debugging and tracing, 1240default.aspx content page

example, 1276–1277detailed content page

example, 1282–1283Document Object Model

(DOM), 1224–1225Emitting HTML, 1251enumerating controls with

Panel control, 1264Error event, 1255form control declarations,

1237GET and POST, 1226–1227HTML document structure,

1220HTML form development,

1221HTML overview, 1219–1220HTML web controls, 1268HTTP overview, 1215–1216HTTP Request members, 1247HTTP Request processing,

1247–1250HTTP Response members,

1250HTTP Response processing,

1250–1252IIS virtual directories, 1217incoming form data,

1249–1250inheritance chain, Page type,

1246in-place editing example, 1281Internet Information Server

(IIS), description, 1216Inventory content page

example, 1278–1279IsPostBack property in HTTP

Request processing, 1250life cycle of a web page, 1252,

1254–1256master pages example, 1270Menu control example, 1272.NET 3.5 web enhancements,

1230overview, 1215Page type inheritance chain,

1246redirecting users, 1252referencing assemblies,

1242–1243referencing AutoLotDAL.dll

assembly, 1239request/response cycle, HTTP,

1216

■INDEX 1333

Page 4: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

round-trips (postbacks), 1224script block, 1237server-side event handling,

1262simple web controls, 1267simple website example,

1269–1270, 1272,1275–1276, 1278–1283

single file code model, 1231sorting and paging example,

1280–1281stateless, description, 1216submitting form data,

1226–1227System.Web.UI.Control,

1263–1264, 1266System.Web.UI.Page, 1247System.Web.UI.WebControls

namespace, 1261–1263System.Web.UI.WebControls.

WebControl, 1267updating code file, 1240user interface in HTML,

1222–1223using web controls, 1261–1263validating form data, 1226validation control properties,

1285validation controls, 1285–1289version 1.x benefits, 1229version 2.0 benefits, 1230version 2.0 namespaces,

1230–1231web application, description,

1216web development server,

1218–1219web page code model, 1231,

1234web server, description, 1216WebControl base class

properties, 1267website directory structure,

1242Windows XP Home Edition,

1218–1219ASP.NET profile API

accessing profile dataprogrammatically,1326–1328

ASPNETDB database,1324–1325

defining user profile withinweb.config, 1325–1326

grouping profile data andpersisting custom objects,1329–1330

overview, 1324

ASP.NET website administrationtool, 1258–1259

aspnet_regsql.exe command-lineutility, 1324

aspnet_state.exe process, 1322aspnet_wp.exe process, 1322ASPNETDB.mdf, 1328<asp:TextBox> tag, 1261aspx suffix, 1244assemblies

Add Reference dialog box, 450app.config file, 463binary code reuse, 437building C# client application,

455–456building VB 2008 client

application, 453–454CIL code, 441, 452CLR file header, 439code base config file element,

479code library, 437<codebase> element, 478–479compared with legacy

executables, 437constructing custom .NET

namespacesbuilding type aliases using

Imports keyword, 446–448defining namespaces

beyond root, 444–446importing custom

namespaces, 446observing root namespace,

444overview, 443

consuming shared assemblies,471

cross-language inheritance,456–457

definition, 437dependentAssembly config file

element, 475–476download cache, 441dynamic redirection to a

specific version, 475–476embedded resources, 441example of version updating,

473–476explicit load request, 461, 463global assembly cache (GAC),

26–27, 438ildasm exploration of manifest,

451implicit load request, 461, 463internal format, 439language integration, 456–460manifest, 438, 441, 450

manifest description, 11metadata description, 11module-level manifest, 458modules, 441multifile, 441, 457–460.NET Framework

Configuration utility,464–466, 476

netmodule file extension, 441,457–459

overview, 10, 437private, 460–461, 463probing process, 461, 463publisher policy assemblies,

477–478referencing external, 26–27and resource files, 976satellite assemblies, 441self-describing, 438shared assemblies, 466, 470,

472, 473single-file, 12, 441, 448–450strong names, 438, 451,

467–468, 470type metadata, 438, 441, 453updating applications using

shared assemblies, 473version number, 438Visual Studio 2008

configuration, 463Win32 file header, 439WPF

Application class,1054–1055

overview, 1053–1054Window class, 1055–1059

<assemblies> element, 1242Assembly class,

System.Reflectionnamespace, 488, 494–498

.assembly extern token, 451assembly manifest, 16assembly metadata, 441<assemblyBinding> element, 462<AssemblyCompany()> and

<AssemblyProduct()>attributes, 888

AssemblyCompany attribute, 508AssemblyCompanyAttribute

attribute, 508AssemblyCopyright attribute, 508AssemblyCopyrightAttribute

attribute, 508AssemblyCulture attribute, 508AssemblyCultureAttribute

attribute, 508AssemblyDescription attribute,

508

■INDEX1334

Page 5: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

AssemblyDescriptionAttributeattribute, 508

<AssemblyFileVersion()>attribute, 474

<assemblyIdentity> element,475, 479

AssemblyInfo.vb file, 451, 508,598

<AssemblyKeyFile()> attribute,468

AssemblyKeyFile attribute, 508AssemblyKeyFileAttribute

attribute, 508AssemblyLoad event,

System.AppDomain, 528Assembly.Load() method,

495–496, 1243AssemblyName class,

System.Reflectionnamespace, 488

assembly/namespace/typedistinction, 22

AssemblyProduct attribute, 508AssemblyProductAttribute

attribute, 508AssemblyRef, 486AssemblyResolve event,

System.AppDomain, 528AssemblyTrademark attribute,

508AssemblyTrademarkAttribute

attribute, 508<AssemblyVersion()> attribute,

469, 474AssemblyVersion attribute, 508<AssemblyVersion> attribute,

469<AssemblyVersion> attribute,

452AssemblyVersionAttribute

attribute, 508assigning styles

implicitly, 1203programmatically, 1205–1206

<Association()> attribute, 773AsyncCallback delegate,

multithreadedapplications, 545–546

asynchronous data access,ADO.NET, 697–698

asynchronous delegate call,329–330

asynchronous I/O, 631–632asynchronous multithreading

using delegates, 329–330AsyncPattern property, 815AsyncResult class, multithreaded

applications, 546

at (@) symbol, 688Attribute token, 504attribute-based programming

assembly, module levelattributes, 507

AttributeUsage attribute,506–507

C# attribute notation, 504CLSCompliant attribute, 501COM vs. .NET attributes, 500constructor parameters, 503custom attributes, 505description, 500DllImport attribute, 501early binding, 509example of custom attributes,

505extensibility using attributes,

511–516late binding, 510–511multiple attributes, 502NonSerialized attribute, 502Obsolete attribute, 501–502,

504overview, 483restricting attributes, 506–507Serializable attribute, 501–502serializing example, 502summary of attribute key

points, 504Visual Basic snap-in example,

513WebMethod attribute, 501–502Windows forms example, 513,

515AttributedCarLibrary assembly,

509AttributedCarLibrary class

library, 505attributes, assembly, module

level, 508Attributes property,

FileSystemInfo class, 609AttributeTargets enumeration,

506AttributeUsage attribute,

506–507<authentication> element,

web.config File, 1257authoring animation

in VB code, 1189–1190in XAML, 1191–1192

authorization element,web.config, ASP.NET, 1257

Authorization property, 819<authorization> element,

web.config File, 1257AutoCheck property, 995

AutoDispatch value, 596AutoDual value, 596AutoEventWireUp attribute, 1254autogenerated class type,

329–331autogenerated code, decoupling

from UI layer, 753–756AutoIncrement property, 709,

711autoincrementing fields, 710–711AutoIncrementSeed property,

709, 711AutoIncrementStep property,

709, 711AutoLot class, 774AutoLotDAL.AutoLotConnected-

Layer namespace, 685AutoLotDAL.dll, 733–736

building Windows Forms frontend, 735–736

configuring Data Adapterusing SqlCommand-Builder type, 733–734

defining initial class type, 733GetAllInventory() method, 734manually referencing, 1233UpdateInventory() method,

735AutoLotDatabase class, 768, 773AutoLotDatabase namespace,

771AutoLotDataSet namespace, 756AutoLotDataSet type, 755AutoLotDataSetTableAdapters

namespace, 756autoLotDB.vb file, 771autoLotDS object, 738Automatic property, 833AutoPostBack property, ASP.NET

web controls, 1262–1263AutoResetEvent type, 857AutoReverse property, 1188, 1191AutoScroll property, 1011AutoSize property, 891

BB method, Color object, 944BackColor property, 891, 908,

1267Background property, 1156, 1199,

1205BackgroundColor property, 74BackgroundImage property, 891BackgroundWorker component,

565, 567–569BAML (Binary Application

Markup Language),1075–1076

■INDEX 1335

Page 6: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

base class, 174, 180–182, 374,1245

base class libraries, 60base class/derived class casting

rules, 198–200base keyword in class creation,

180, 182BaseAddresses property, 819baseAddresses scope, 819<baseAddresses> region, 819BaseDirectory() method,

System.AppDomain, 527BasedOn property, 1201BaseStream property

BinaryReader class, 628BinaryWriter class, 627

BasicHttpBinding class, 810BasicImages application, 968BasicMath(Of T) class, 322BasicSelections() method, 428Beep() method, System.Console,

74BeepOnError property, 992BeginAnimation() method, 1190,

1192BeginClose() method, 819BeginEdit() method, 727Begin/End asynchronous

invocation pattern, 835BeginInvoke() method, 329,

541–542, 545–547BeginOpen() method, 819<BeginStoryboard> element,

1192BeginTime property, 1188BeginTransaction() method,

DbConnection, 679BeginUpdate() method, 1018<behavior> element, 822behaviorConfiguration attribute,

822behaviors subelement, 821Bin, ASP.NET 2.0 subdirectories,

1242–1243/bin folder, 1243Bin subfolder, ASP.NET 2.0, 1242Binary Application Markup

Language (BAML),1075–1076

binary code reuse, 437binary format, serializing

DataTable/DataSetobjects in, 719

binary resources, 1196–1197BinaryFormatter class, 501, 639,

640, 719BinaryOp delegate, 328, 331BinaryReader class, 607, 627, 628

/bin/Debug directory, 464<bindingRedirect> subelement,

475bindings subelement, 821bindings, WCF, 809–811

HTTP-based, 809–810MSMQ-based, 811TCP-based, 810–811

BindingSource component, 744Bitmap class, 965Bitmap namespace,

System.Drawing, 930Bitmap type, 964BitmapImage object, 1179black box programming, 154BlackAndWhiteBitMap instance,

271BlewUp event, 1027BlinkIfDifferentError property,

ErrorBlinkStyle, 1016blue screen of death, 1049*.bmp files, 973, 979, 1019, 1075,

1076<body> section, 1220, 1223Boolean input parameters, 330Boolean keyword, 77Boolean member variable, 1075Boolean parameters, 489Boolean type default value, 79Border control, 1104BorderColor property,

WebControl base class,1267

BorderStyle property,WebControl base class,1011, 1267

BorderWidth property,WebControl base class,1267

Bottom property, 1134Bottom value, 1040bottomRect member, 1025Bounds property, 892Bounds property,

System.Windows.Media.Geometry base class, 1181

boxing and unboxingCIL code, 301generics issues, 301.NET 1.1 solution, 302–303.NET 2.0 solution, 306unboxing custom value types,

301unboxing examples, 299–300

bread crumbs, 1275Browsable member, System.

ComponentModel, 1030

BrowsableAttribute, System.ComponentModel, 1030

Browse tab, Add Reference dialogbox, 453

Browser Applications (XBAPs),XAML, 1051–1052

Browser controls, 1021–1022Browser member, HttpRequest

Type, 1248Browser property, 1248browser statisics in HTTP

Request processing,ASP.NET, 1248

browser-based presentationlayers, 1215

Brush class, 957Brush property, 953, 1182Brush type, 1084brushes, WPF, 1177–1179

gradient, 1178–1179ImageBrush type, 1179SolidColorBrush type,

1177–1178btnClickMe type, 1199btnClickMeToo type, 1199btnExitApp_Clicked() method,

1074btnGetColor Button object, 1127btnGetColor_Click() method,

1127btnGetGameSystem property,

1126btnOrder_Click() event handler,

1001–1002btnShowAppVariables Button

type, 1308bubbling event, 1113BufferedGraphics namespace,

System.Drawing, 930BufferedStream type,

input/output, System.IO,607

BufferHeight property, 74BufferWidth property, 74bugs, description, 207BuildCar.aspx content page, 1282BuildCarTreeView() method,

1017, 1020BuildTableRelationship()

method, 739built-in style engine, 1050business process, 843, 851Button class, 884, 993Button Click event handler, 1022,

1067, 1130Button control, 566, 568,

903–904, 1103, 1106, 1113AutoCheck property, 995

■INDEX1336

Page 7: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

CheckAlign property, 996Checked property, 996CheckState property, 996FlatStyle property, 993, 995Image property, 993ImageAlign property, 993TextAlign property, 993ThreeState property, 996

Button item, 1205Button object, 602Button property, 894–895button types, 986, 1116–1120

Button type, 1117ButtonBase type, 1116–1117RepeatButton type, 1119–1120ToggleButton type, 1118

Button widget, 1014, 1264, 1321<Button> element, 1112, 1130,

1186ButtonBase class, 993,

1116–1117, 1119<Button.RenderTransform>

scope, 1195by operator, 425By property, 1188ByRef keyword, 107ByRef parameter, 104–107, 585ByRef parameters, 330Byte, Integer variable, 91Byte keyword, 77ByVal keyword, 107, 584ByVal parameter modifier,

104–105ByVal/ByRef parameter modifier,

112

CC language deficiencies, 4C or c string format, .NET, 75C# && operator, 418C# 3.0

anonymous types, 403–408,429

containing anonymoustypes, 407–408

GetHashCode() method,405

internal representation of,404

semantics of equality for,406–407

ToString() method, 405extension methods, 391–399

defining, 391extending interface types

via, 398–399importing types that define,

395–396

IntelliSense mechanism,396–397

invoking on instance level,393

invoking statically, 394libraries, 397–398scope of, 394–395

implicitly typed local variables,383, 385–386, 390–391

object initializer syntax,399–403

calling custom constructorswith, 401–402

initializing inner types,402–403

C++ language deficiencies, 4<c> code comment, XML

Elements, 165Cache class, 1314cache mechanism, 1314Cache member variable, 1312Cache object, 1310Cache property

HttpResponse Type, 1250Page Type, 1247

CacheDependency object, 1312CacheItemRemovedCallback

delegate target method,1314

CacheItemRemovedCallbackdelegate type, 1312

Cache.NoSlidingExpiration field,1312

CacheState web application,1311

CalcInteropAsm.dll assembly,585

CalculateAverage() method, 108callback interfaces

event interface, 285, 287, 289overview, 327sink object, 285, 287, 289

CallbackContract property, 814CanBeNull property, 770Cancel() method, DbCommand,

681CancelButton property, 897, 1004CancelEdit() method, 727CancelEventArgs.Cancel

property, 898CancelEventHandler delegate,

898CanExecute event, 1149CanHelpExecute() method, 1150Canvas control, 1104Canvas panel control, 1132Canvas panels, 1133–1135Canvas type, 1140

<Canvas> tag, 1133Canvas.Bottom property, 1134Canvas.Left property, 1134Canvas.Right property, 1134Canvas.Top property, 1134Cap style property, Pen type, 954Caption property, 709–710Car class, 335, 342Car.Accelerate() method, 286CarCollection(Of T) class, 317CarControlLibrary.dll library,

1029CarDelegate application, 339CarDelegate delegate, 350CaretIndex property, 1130CarEventArgs class, 346CarEventArgs parameter, 351CarEventSink class, 285carIDColumn DataColumn

object, 715carIDColumn object, 711carInventoryGridView object,

729CarLibrary.dll assembly, 439, 484CarLibrary.EngineState

enumeration, 484Cars example database,

ADO.NET, 665carsDataSet.xml file, 718carsInventoryDS DataSet object,

716CarsXmlDoc resource, 1162Case Else statement, 98CaseSensitive member, 716case-sensitive programming

language, 455CaseSensitive property, 707case-sensitive string names, 492casting operations, 197, 198Catch scopes, 227Category member, System.

ComponentModel, 1030<Category> attribute, 1030, 1031CausesValidation property,

Control, 1015CBool conversion function, 93CByte conversion function, 93CByte() function, Visual Basic

2008, 92CChar conversion function, 93CCW (COM Callable Wrapper),

571, 595–596cd command, 37, 1219CDate conversion function, 93CDbl conversion function, 93CDec conversion function, 93CenterToScreen() method, 897,

911, 918, 921

■INDEX 1337

Page 8: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

ChangeDatabase() method,DbConnection, 679

Channels property, 824Char keyword, 78, 82Char type default value, 79CharacterCasing property, 989,

990Chars property, String Class

Meaning, 84CheckAlign property, 996CheckBox class, 884CheckBox control, 995–998, 1103,

1151CheckBox types, 1120–1123

establishing logical groupings,1121

framing related elementsin Expanders types,

1122–1123in GroupBox types,

1121–1122Checked events, 1118Checked member, 911Checked property, 996CheckedListBox control, 998–999CheckedListBox type, 1000CheckOnClick member, 911CheckPassword() method, 1130CheckState property, 996child class, 174child forms, 925child windows, 925–926<child> token, 791ChildPrototypeForm type, 926ChildRelations member, 715Choose Assembly button, 476CIL (common intermediate

language), 88benefits, 14compiling to specific

platforms, 14–15just-in-time (JIT) compiler,

14–15new keyword, 235overview, 12–14

CInt() conversion function, 93,124

Circle type, 192–193Class attribute, MainWindow,

1071class constructors, 162

default constructor revisited,136–137

defining custom constructors,135–136

overview, 133–134role of default constructor,

134–135

Class Designer utility, 53, 55, 57,178

Class Details window, 55, 178class diagram file, 170Class Diagram icon, 177class diagrams, revising, 177–178Class file, 446class hierarchy, 271class interface, 595–596Class keyword, 130class library, 437Class Library project workspace,

Visual Studio 2008, 448Class Library Reference node, 58class types, 16class variables, 132Class1.vb file, 813classes

differences from objects andreferences, 233

nested, 284classic ASP and ASP.NET, 1227,

1229classical inheritance, 149, 174<ClassInterface()> attribute, 595,

601<ClassInterface> attribute, 596,

599ClassInterfaceType enumeration,

596ClassInterfaceType.AutoDual

class interface, 597Class-suffixed types, 591CleanUp() method, 250Clear() method

ASP.NET HTTP Response, 1251ASP.NET HttpApplicationState

members, 1306ControlCollection, 985Graphics class, 934HttpApplicationState type,

1306HttpResponse Type, 1251System.Array, 118System.Console, 74

ClearConsole() method, 694Click event, 892Click menu handler, 949ClickedImage custom

enumeration, 968ClickMode property, 1117ClickMode.Hover value, 1117Clicks property, 894<client> element, 821, 824ClientRectangle property, 892client-side proxy/*.config file,

822

client-side scripting in ASP.NET,1224–1226

ClientTarget property, Page Type,1247

Clip property, Graphics class, 934ClipBounds property, Graphics

class, 934CLng conversion function, 93Clone() method, 257, 276, 278,

279, 708cloneable objects (ICloneable),

275–279cloning process, 275Close() method, 148, 621, 623,

628, 819, 897Closed event handler, 898ClosedTSRClosing event, 897CloseFigure() method, 971CloseMainWindow() method,

521CloseTimeout property, 819Closing event, 898–899Closing event handler, 1067CLR (Common Language

Runtime), 21–22, 571CLS (Common Language

Specification), 19–21*.cls file, 584, 588–589<CLSCompilant> attribute, 501<CLSCompliant()> attribute, 501CObj conversion function, 93CoCalc coclass, late binding to,

586–587CoCar class, 588__CoCar_BlewUpEventHandler

type, 593__CoCar_Event type, 593__CoCar_SinkHelper type, 593code conditional operators, 97code libraries, 437, 1242/code option, 771code snippet, 75code statements, building

defining multiple statementson single line, 95–96

overview, 94statement continuation

character, 95<code> code comment, XML

Elements, 165<Code> element, 1071, 1072<codeBase> element, 478–479code-behind model, 1078–1080,

1229, 1232, 1238–1240CodeFile attribute, 1239code-generation tools, 4CodePage attribute, <%@Page%>

directive, 1236

■INDEX1338

Page 9: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

<codeSubDirectories> element,1243

collection initialization, 404Collection(Of T) class, System.

Collections.Generic, 307collections

ICollection interface, 293IDictionary interface, 293IDictionaryEnumerator

interface, 294IList interface, 294overview, 255

CollectionsUtil member, System.Collections.SpecializedNamespace, 298

colon character, 96Color namespace,

System.Drawing, 930Color objects, 944, 962Color property, Pen type, 953color values, GDI+, 943ColorAnimation type, 1187ColorBlend, 953ColorConverter type, 1155ColorDialog class, GDI+, 944ColorDialog type, 944, 952ColorDialog.Color property, 944ColorDialogTSROpenFileDialog-

TSRSaveFileDialog class,884

ColorDlg project, 952Color.FromArgb() function, 1011coltsOnlyView type, 728<Column()> attribute, 769–770ColumnAttribute property, 770ColumnAttribute type, 767<ColumnDefinition> element,

1138ColumnMapping property, 709ColumnName property, 709COM (Component Object

Model), 5COM Callable Wrapper (CCW),

571, 595–596COM class, inserting using Visual

Studio 2008, 598–599COM events, intercepting,

592–593COM IDL, 580–585

[default] interface, 583–584attributes, 583IDispatch interface, 584library statement, 583parameter attributes, 584–585type library, 585for VB COM server, 582–583

COM interfaceshiding low-level, 580

VB6 COM server, 588–589COM, to .NET interoperability,

593–595COM types, exposing as .NET

types, 578–579COM VARIANT types, 586COM+/Enterprise Services,

796–797Combine() method, 331, 338ComboBox class, 884ComboBox types, 1123–1128

adding arbitrary content,1125–1126

determining current selection,1126–1128

filling list controlsprogrammatically,1124–1125

<ComboBoxItem> element, 1124_ComCalc interface, 584ComCalc object, 574_ComCalc type, 576ComCalcClass object, 577ComCalcClass type, 576ComCalc.cls file, 572<ComClass()> attribute, 595<ComClass> attribute, 599comContracts subelement, 821Command object, ADO.NET, 655,

681–682command prompt, Visual Studio

2008, 36Command property, 1117,

1148–1149command set, 38CommandBinding object, 1149command-line arguments,

processing, 1064command-line tools, 37CommandParameter property,

1117CommandTarget property, 1117CommandTimeout,

DbCommand, ADO.NET,681

Common dialog boxes types, 884common intermediate language.

See CIL (commonintermediate language)

Common Language Runtime.See CLR (CommonLanguage Runtime)

Common Language Specification(CLS), 19–21

Common Type System. See CTS(Common Type System)

commonBehaviors subelement,821

CommonSnappableTypes.dllassembly, 512

<CompanyInfo> attribute, 516companyLogo Image control,

1196CompanyName property, 887comparable objects

(IComparable), 280–282Compare() property, String Class

Meaning, 84CompareExchange() method,

Interlocked type,multithreadedapplications, 561

CompareTo() method, 281–282CompareValidator control,

ASP.NET, 1285, 1287compilation cycle, ASP.NET 2.0

multifile pages, 1244, 1246overview, ASP.NET 2.0, 1243single-file pages, 1244

<compilation> element, 1241,1243

Compile tab, My Project dialogbox, 91

compile time, 91, 163<Compile> elements, 1078CompilerOptions attribute,

<%@Page%> directive,1236

compile-time error, 262Complain() method, 143Complement() method, 933complex expressions, building,

97–98Component Object Model

(COM), 5component tray, 744Components types, 884ComponentsCommands object,

1148CompositingMode property,

Graphics class, 934ComSvcConfig.exe command-

line tool, 811ComUsableDotNetServer.dll

assembly, 600concurrency, multithreaded

applications, 538, 556–561conditional expressions,

complex, 97ConditionalEventArgs parameter,

854ConditionalEventArgs type, 854ConditionedActivityGroup-

Activity, WF, 847*.config files, 462, 473, 476, 747,

798, 800, 807, 822

■INDEX 1339

Page 10: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

/config: option, 824<configuration> root element,

462ConfigurationManager type, 746ConfigurationName property,

814ConfigureAdapter() method,

733–734Confirm Order button, 996Connect() method, 286, 335, 1075connected layer, ADO.NET, 677connection objects, ADO.NET,

678–680ConnectionString property, 747,

1279<connectionString> element,

1325ConnectionStringBuilder object,

ADO.NET, 680<connectionStrings> element,

480, 676–677, 735, 744,746, 1257

ConnectionTimeout() method,DbConnection, ADO.NET,679

Console class, 58, 73console UI (CUI), 883console user interface (CUI), 73Console.WriteLine() method, 74,

141, 276, 458, 853Const keyword, 161constant data, 161–163Constraints member, 715constructor chaining, 138constructor logic, 142constructors, 88, 129, 133containers, 902containment/delegation

nested type definitions,185–187

overview, 184–185Contains() method, 932Content Build Action, 1197Content member, 1108content page, 1270Content property, 1056, 1071,

1106, 1118, 1132, 1151,1153, 1182

Content value, 1127ContentAlignment enumeration,

993–994ContentAlignmentInitialize-

Component() method, 994ContentControl base class,

Window type, 1056ContentEncoding property,

HttpResponse Type, 1250

ContentPlaceHolderID value,1277

<ContentPresenter> element,1207

ContentType property,HttpResponse Type, 1250

context-agile, 532–533context-bound, 532–533Context.Cache.Insert() method,

1312ContextMenu class, 884ContextMenu control, 1103ContextMenuItemSelection_

Clicked() event handler,912

ContextMenuStrip class, 884ContextMenuStrip control,

905–912context-sensitive pop-up

menus, 909–911overview, 905–907ToolStripMenuItem Type,

911–912ContextMenuStrip element,

909–911context-sensitive pop-up menus,

909–911contract element, 817contracts, WCF, 808Control and Form types, 891Control class, 256, 891–896

determining which mousebutton was clicked, 895

keyboard events, 896MouseMove event, 894–895overview, 891–893

control class properties, 1015control commands, 1147Control parent class, 1246Control property, 883–884,

891–893, 896control state, 1302control templates, 1207Control type, 983, 1267ControlBox property, 897ControlCollection class, 985ControlContent member, 1108Control-derived class, 965Control-derived types, 931, 953,

968, 987controls

adding controls using VisualStudio 2008, 986–987

animation, 1027appearance of custom

controls, 1031basic controls, 987Button, 993

CheckBox, RadioButton,GroupBox, 995–998

CheckedListBox, 998–999ComboBox, 1001–1002ControlCollection, 985–986custom control icon, 1033custom controls, 1022–1028custom events, 1026custom properties, 1026–1029DateTimePicker, 1006default input button, 1004DefaultEvent attribute, 1033DefaultProperty attribute,

1032–1033DefaultValue() attribute, 1031design time attributes of

custom controls, 1030Designer.vb file, 986–987Dock property, 1040dynamic positioning, 1039ErrorBlinkStyle properties,

1015ErrorProviders, 1014–1015events, 1026hosts for custom controls,

1029–1030image processing, 1024–1026InitializeComponent()

method, 986–987Label, 987–988ListBox, 1000manually adding controls to

forms, 984MaskedTextBox, 991mnemonic keys in Label, 988MonthCalendar, 1004–1006node images in TreeViews,

1019overview, 983Panel, 1011–1012properties, 1026–1029tab order, 1003TabControl, 1008–1009table and flow layout, 1041,

1043TabStop, TabIndex properties,

1003TextBox, 989–991ToolTip, 1006TrackBar, 1009–1010TreeView, 1016–1019UpDown, 1013–1014UserControl Test Container,

1028using custom controls,

1029–1030WebControl, 1021–1022

■INDEX1340

Page 11: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

Controls member, System.Web.UI.Control, 1263

Controls property, 892, 1263,1264

Controls types, 883ControlState property, 1302ControlTemplate base class, 1207<ControlTemplate> element,

1207, 1210ControlToValidate member,

ASP.NET validator, 1285ControlToValidate property, 1286Convert class, 94Convert() method, 1154ConvertBack() method, 1154Converter property, 1155cookies creation, ASP.NET, 1319Cookies member, HttpRequest

Type, 1248cookies overview, ASP.NET, 1318Cookies property, HttpResponse

Type, 1250CookiesStateApp, UI of, 1320coordinate systems, GDI+, 939Copy() method, 708, 715CopyTo() method, 118, 615CopyToDataTable(Of T)()

extension method, 764Core infrastructure types, 883Count member

ControlCollection, 985HttpApplicationState type,

1306Count property, 792, 1306Create() method, 134, 588, 609,

612, 615CreateDataReader() method,

717, 760CreateDataTable() method, 722CreateDataView() method, 728CreateDomain() method, 527,

529CreateFunctionalXmlDoc()

method, 785CreateFunctionalXmlElement()

method, 784CreateInstance() method, 116,

498, 527CreateLabelControl method, 987CreateObject() method, 584, 587CreateRectVisual() method, 1172CreateStatusStrip() method, 915CreateText() method, FileInfo

class, 615, 618CreationTime property,

FileSystemInfo class, 609Credentials property, 819cross-language inheritance, 456

*.cs file, 824CSByte conversion function, 93csc.exe compiler, 35

command-line flags, 38compile parameters, 38default response file (csc.rsp),

43/noconfig command-line flag,

43/out command-line flag, 37reasons for using, 36–37response files, 41/target command-line flag, 37

CSharpSnapIn.dll assembly, 512,515

CShort conversion function, 93CSng conversion function, 93CssClass property, WebControl

base class, 1267CssStyle property, 1289CStr conversion function, 93CTS (Common Type System),

115, 798, 1230adornments, 18–19class types, 16delegate types, 18enumeration types, 18interface types, 17intrinsic types, 19overview, 16structure types, 17type members, 18

CType() function, 93, 199, 374,378

CUI (console UI), 883CUI (console user interface), 73CUInt conversion function, 93CULng conversion function, 93curly brackets (), 114currAlignment member variable,

995currBalance field, 145Current property, Application

type, 1054current selection

determining, 1126–1127obtaining, 1163–1164

Current value, 714CurrentContext property, Thread

type, 548CurrentDirectory property,

System.Environment, 73CurrentPriority, ProcessThread

type, 524CurrentThread property, Thread

type, 548–550

currentTimeToolStripMenuItemand dayoftheWeekTool-StripMenuItem type, 916

currentVideoGames localvariable, 415

currFrame variable, 1025currInterestRate class, 145currInterestRate variable, 147currMaxFrame variable, 1025currValue type, 1120Cursor property, 891, 1144CUShort conversion function, 93custom code snippets, 53custom constructors, calling with

object initializer syntax,401–402

custom control design timeappearance, 1031

custom control hosts, 1029–1030custom controls, 1022–1028custom dialog boxes, 1034–1036custom events, 1026custom exceptions, structured

exception handling,219–221

custom generic classes, 319–320custom interfaces, defining,

257–259Custom keyword, 351custom methods, using to

evaluate lambdaexpressions, 356–357

custom narrowing conversionoperation, 375

custom .NET namespacesbuilding type aliases using

Imports keyword, 446–448defining namespaces beyond

root, 444–446importing custom

namespaces, 446observing root namespace, 444overview, 443

custom parameters, 857custom properties, 1026–1029.custom tokens, 451custom type conversion

conversions among relatedclass types, 374

explicit keyword, 374–376implicit conversions, 373–374implicit keyword, 374–375,

377–378numerical converstions,

373–374custom view states, state

management in ASP.NET,1302

■INDEX 1341

Page 12: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

custom web controls, 1270CustomBinding type, 809CustomEndCap property, Pen

type, 954<customErrors> element,

web.config File, 1257CustomLineCap class, 953CustomStartCap property, Pen

type, 954CustomValidator control,

ASP.NET, 1285

DD or d string format, .NET, 75dash style, 1180DashCap property, Pen type, 954DashOffset property, Pen type,

954DashPattern property, Pen type,

954, 955DashStyle enumeration, 955DashStyle object, 1180DashStyle property, Pen type, 954data adapters, 706

configuring usingSqlCommandBuilder type,733–734

filling DataSet/DataTableobjects, 730–732

generated, 751prepping, 737

data binding, 1103, 1150custom objects, 1156–1160DataContext property, 1152IValueConverter interface,

1153–1156Mode property, 1153XML documents, 1161–1164

custom dialog boxes,1161–1162, 1164

DialogResult property, 1163obtaining current selection,

1163–1164data caching, ASP.NET,

1311–1314data contracts, 803, 835–840

*.svc file, 839implementing service

contracts, 838–839testing service, 840updating web.config file, 839WCF service project template,

836–838Data property, System.Exception,

210, 216–217data providers, ADO.NET, 655data templates, 1128, 1160

data type conversions, narrowingand widening

explicit conversion functions,93–94

Option Strict, 91–92overview, 89–91role of System.Convert, 94

data types. See system data typesDataAdapter object, ADO.NET

data providers, 655/database option, 770Database property,

DbConnection, ADO.NET,679

database tables, updating, 739DatabaseReader class, 148, 311DataBind() member,

System.Web.UI.Control,1263

data-binding engine, 1050data-centric controls, 1267data-centric single-file test page

adding data access logic,1234–1236

designing the UI, 1233–1234manually referencing

AutoLotDAL.dll, 1233overview, 1232role of ASP.NET directives,

1236–1237DataColumn object, 706, 710DataColumn objects, adding to

DataTable type, 711DataColumn type, 709–711

adding objects to DataTabletype, 711

building, 710enabling autoincrementing

fields, 710–711DataConnector interface, 584DataContext object, 766DataContext property, 1152, 1159DataContext type, 766–768

building strongly typed, 768strongly typed, 773–774

DataContext-derived type, 769,773, 775

<DataContract()> attribute, 836dataGridColtsView object, 729dataGridColtsView type, 728DataGridView class, 884DataGridView control, 720–721DataGridView designer, 742–746DataGridView object, 736DataGridView type, 728DataGridView widgets, 736DataGridViewRowPostPaint-

EventArgs parameter, 729

<DataMember()> attribute, 836DataReader object, ADO.NET

data providers, 655DataRelation object, 736, 738DataRelation type, 707DataRelationCollection

collection, 707DataRow class, 727, 749–750DataRow object, 706DataRow type, 711–715

DataRowVersion property,714–715

RowState property, 713–714DataRow.AcceptChanges()

method, 715DataRow.BeginEdit() method,

714DataRow.CancelEdit() method,

714DataRow.EndEdit() method, 714DataRowExtensions member,

761DataRowExtensions.Field(Of T)()

extension method,763–764

DataRow.GetChildRows()method, 741

DataRow.RejectChanges()method, 715

DataRows type, 759DataRowState property, 714DataRowVersion property,

714–715DataSet extensions, 761DataSet objects, 705

filling using data adapters,730–732

example, 731mapping database names to

friendly names, 732navigating multitabled,

736–742building table relationships,

738–739navigating between related

tables, 739–742prepping data adapters, 737updating database tables,

739serializing, 718–719

DataSet type, 706–709building, 708–709generated, 747–749inserting DataTable type into,

716methods of, 707–708programming with LINQ to,

760–765

■INDEX1342

Page 13: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

DataRowExtensions.Field(Of T)() extensionmethod, 763–764

DataSet extensions, 761DataTable type, 761hydrating DataTables from

LINQ queries, 764–765properties of, 707

DataSetName property, 707DataSets type, 759DataSource property, 723, 728Datasource property,

DbConnection, 679DataSourceID property, 1274,

1278–1279DataTable class, 749–750DataTable objects, 837

binding to user interfaces,720–730

DataView type, 727–728hydrating from generic

List(Of T), 721–723programmatically deleting

rows, 723–724rendering row numbers, 729selecting rows based on

filter criteria, 724updating rows, 726–727

filling using data adapters,730–732

serializing as XML, 718–719serializing in binary format,

719DataTable type, 715–720, 761

adding DataColumn objects to,711

hydrating from LINQ queries,764–765

inserting into DataSet type,716

processing data usingDataTableReader objects,717–718

serializing DataTable/DataSetobjects as XML, 718–719

serializing DataTable/DataSetobjects in binary format,719

DataTable.AcceptChanges()method, 724

DataTableCollection collection,706

DataTableExtensions member,761

DataTableExtensions type, 762DataTable.NewRow() method,

712

DataTableReader objects,717–718

DataTableReader property, 717DataTables type, 759<DataTemplate> element, 1160<DataTrigger> element, 1192DataType property, 709DataView type, 727–728Date keyword, 78Date type default value, 79DateTime object, 1005DateTimeFormat member

variable, 918DateTimePicker class, 884DateTimePicker control, 1006DbCommand, ADO.NET, 681,

682DbConnection, ADO.NET, 679DbDataAdapter class, 730DbDataReader object, ADO.NET,

682–683DbParameter, ADO.NET, 688DbType property, 688, 770DCOM (Distributed Component

Object Model), 796Deactivate event, 897–899debug session, 1240Debug tab, My Project dialog

box, 71debugging, 203, 1240DecelerationRatio property, 1188Decimal keyword, 78DecimalPlaces property,

NumericUpDown, 1014Declare statement, 572Decrement() method,

Interlocked type, 561deep copies, 276, 279“default” access level, 153default constructor, 81, 134default input button, 1004default interface, 583default namespace, 202, 443default response file, 41Default value, 714, 1031Default Web Site node,

1217–1218[default] interface, 583–584, 589Default.aspx file, 1234, 1244,

1276–1277, 1293, 1326DefaultEvent attribute, controls,

1033DefaultEvent member, System.

ComponentModel, 1031default.htm file, 1225, 1226DefaultProperty attribute,

controls, 1032–1033

DefaultProperty member,System.ComponentModel,1031

DefaultPropertyAttribute,System.ComponentModel,1031

defaultValue attribute, ProfileData, 1326

DefaultValue member, System.ComponentModel, 1031

DefaultValue property, 709<DefaultValue> attribute, 1031deferred execution, 415–416Delay property, 1119DelayActivity, WF, 847Delegate keyword, 331, 592Delegate.Combine() method, 341delegates

asynchronous call, 329–330CIL code for simple example,

332compared with C-style

callbacks, 327defining events in terms of,

348delegate keyword, 328description, 328example, 334–337information in, 328multicasting, 331, 337–338and multithreaded

applications, 539, 541NullReferenceException,

336–337overview, 327simple example, 331–332synchronous call, 328type safe, 332–334

delegation. See containment/delegation

Delete() method, 609, 615, 617,712, 723

DeleteCar() method, 694–695DeleteCommand property,

733–734Deleted value, 713deleting

existing items from relationaldatabases, 778–779

records, ADO.NET, 687rows, 723–724

Delta property, 894dependency properties,

1108–1112defining wrapper properties

for DependencyPropertyfield, 1111–1112

existing, 1109–1110

■INDEX 1343

Page 14: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

registering, 1110–1111dependency property, 1108, 1188DependencyObject type, 1190DependencyProperty field,

1111–1112DependencyProperty object,

1110DependencyProperty.Register()

method, 1110<dependentAssembly> element,

475deployment, .NET runtime,

30–31Dequeue() method, Queue type,

296–297<descendant> token, 791descending operator, 425, 430Description member, System.

ComponentModel, 1031Description property, 506, 833<Description> attribute, 1031DescriptionAttribute, System.

ComponentModel, 1031*.Designer.vb files, 852, 902–903,

906–907, 916, 986–987,1023, 1038

desktop markup, 1048Detached value, 713detailed content page example,

ASP.NET, 1282–1283developing software

as C++/MFC programmer, 4as COM Programmer, 5as C/Win32 programmer, 3as Java/J2EE Programmer, 4as Visual Basic 6.0

programmer, 4as Windows DNA Programmer,

5device coordinates, GDI+

coordinate systems, 939diagnostics subelement, 821dialog boxes, 1161–1162

custom, 1034–1036displaying, 1164programming, 1034

DialogResult enumeration, 1036DialogResult property, 1163DialogResult type, 899Dictionary object, 857Dictionary(Of K, V) class, System.

Collections.Generic, 307Dictionary<string, object> type,

857digital signature, 467Dim keyword, 78DirectCast() keyword, 379

Direction property, ADO.NETDbParameter, 688

Directory type, System.IO, 613DirectoryInfo class

Create(), CreateSubdirectory()methods, 609, 612

Delete() method, 609, 617GetDirectories() method, 609,

617GetFiles() method, 609, 611,

617MoveTo() method, 610, 617Parent property, 610, 617Root property, 610

DirectX, 1048, 1049dirty windows, Paint event,

GDI+, 935Disconnect() method, 286–287,

335disconnected layer, 705–757

AutoLotDAL.dll, 733–736building Windows Forms

front end, 735–736configuring Data Adapter

usingSqlCommandBuilder type,733–734

defining initial class type,733

GetAllInventory() method,734

UpdateInventory() method,735

DataColumn type, 709–711adding objects to DataTable

type, 711building, 710enabling autoincrementing

fields, 710–711DataRow type, 711–715

DataRowVersion property,714–715

RowState property, 713–714DataSet type, 706–709

building, 708–709methods of, 707–708properties of, 707

DataTable objects, binding touser interfaces, 720–730

DataTable type, 715–720inserting into DataSet type,

716processing data using

DataTableReader objects,717–718

serializing DataTable/DataSet objects as XML,718–719

serializing DataTable/DataSet objects in binaryformat, 719

decoupling autogeneratedcode from UI layer,753–756

filling DataSet/DataTableobjects using dataadapters, 730–732

navigating multitabled DataSetobjects, 736–742

building table relationships,738–739

navigating between relatedtables, 739–742

prepping data adapters, 737updating database tables,

739overview, 705–706Visual Studio 2008, data access

tools of, 742–753discrete key frames, 1193–1194DiscreteDoubleKeyFrame type,

1195DiscreteStringKeyFrame type,

1194<DispId()> attribute, 594Display member, ASP.NET

validator, 1285display name, 496Display property, 1288DisplayBanner() method, 66DisplayCompanyData() function,

516DisplayDefiningAssembly()

method, 391DisplayDelegateInfo() method,

333, 355displaying

dialog boxes, 1164menu selection prompts,

918–919DisplayMemberBinding data

binding value, 1162DisplayTypes() method, 495disposable objects, 242

code example, 246Dispose() method, 246IDisposable interface, 246–248

Dispose() method, 246–249, 938disposing Graphics objects,

GDI+, 938Distributed Component Object

Model (DCOM), 796distributed computing APIs,

795–801COM+/Enterprise Services,

796–797

■INDEX1344

Page 15: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

DCOM, 796MSMQ, 797named pipes, 801.NET remoting, 797–798P2P services, 801sockets, 801XML web services, 798–801

*.dll assemblies, 444, 448, 873DLL hell, 5*.dll or *.exe (Win 32 binaries), 10<DllImport()> attribute, 501, 572DNA (Windows Distributed

interNet ApplicationsArchitecture)deficiencies, 5

DNS (Domain Name Service),1215

Do statements, 101/doc compiler flag, 167Dock property, 891, 1040docking, 983, 1040DockPanel control, 1104, 1132,

1140<DockPanel> element, 1142,

1144, 1157DockStyles enumeration values,

1040DOCTYPE processing

instruction, 1220Document Object Model (DOM),

ASP.NET, 1224–1225documenting VB 2008 source

code via XML, 165–168DoEvents() method, 887DOM (Document Object Model),

ASP.NET, 1224–1225Domain Name Service (DNS),

1215DomainUnload event, System.

AppDomain, 528, 530DomainUpDown control, 1013,

1014dot operator, 233, 234DotNetCalc class, 597, 598_DotNetClass interface, 601DotNetEnum, System.Enum, 123dotNetFx35setup.exe setup

package, 30dotnetfx.exe, .NET runtime

deployment, 30DotNetPerson type, 598–599Double keyword, 78Double value, 1180DoubleAnimation object, 1187DoubleAnimation type, 1188,

1190<DoubleAnimation> element,

1192

DoubleAnimationUsingKey-Frames element, 1195

DoubleClick event, 892DoubleConverter type, 1155Do/While and Do/Until looping

constructs, 101download cache, 441–442, 478DoWork event, 567DpiX property, Graphics class,

934DpiY property, Graphics class,

934DragDrop event, 892DragEnter event, 892DragLeave event, 892DragOver event, 892Draw() method, 193, 260, 268,

270, 272DrawArc() method, Graphics

class, 934DrawBezier() method, Graphics

class, 934DrawBeziers() method, Graphics

class, 934DrawCurve() method, Graphics

class, 934DrawEllipse() method, Graphics

class, 934DrawIcon() method, Graphics

class, 934DrawingBrush types, 1177, 1183DrawingContext object, 1172Drawing-derived types, 1170,

1180, 1181–1185DrawingBrush types, 1183DrawingImage types,

1182–1183geometry types, 1181–1182

<DrawingGroup> type, 1181,1183

DrawingImage object, 1183DrawingImage types, 1182–1183DrawingVisual type, 1172DrawLine() method, Graphics

class, 934DrawLines() method, Graphics

class, 934DrawPath() method, Graphics

class, 934DrawPie() method, Graphics

class, 934DrawRectangle() method,

Graphics class, 934, 942DrawRectangles() method,

Graphics class, 934DrawString() method, 931DrawString() method, Graphics

class, 934

DriveInfo class, System.IO, 614DriveInfo type, input/output,

System.IO, 607driverName property, 591dumpbin.exe command-line

utility, 439duplex messaging, 810Duration property, 1189–1190,

1195Dynamic Help window, 58dynamic loading, 494–495, 511dynamic positioning, 1039–1040

EECMA standardization, .NET

Framework, 31EditingCommands object, 1148ElementName value, 1152Ellipse object, 1160Ellipse type, 1114, 1175–1176<Ellipse> element, 1186, 1207EllipseGeometry type, 1182Else statements, 97ElseIf keyword, 97Embedded Resource, 1033Emitting HTML, ASP.NET, 1251Employee class, 154EmpType enumeration, 120EnableClientScript member,

ASP.NET validator, 1285Enabled property, 892, 949, 1267EnableThemeing property,

System.Web.UI.Control inASP.NET, 1263

EnableTheming attribute,<%@Page%> directive,1236

EnableViewState attribute,<%@Page%> directive,1236, 1300

EnableViewState property,1301–1302

EnableVisualStyles() method, 887enabling

metadata exchange, 821–823MEX, 831–832

encapsulation, 129, 148–149class properties, 158–159controlling visibility levels of

property get/setstatements, 159–160

get, set properties vs. accessorand mutator methods,158–159

internal representation ofproperties, 158–159

overview, 154

■INDEX 1345

Page 16: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

read-only and write-onlyproperties, 160

read-only class properties, 160Shared properties, 160–161static class properties, 160using traditional accessors and

mutators, 154–156using type properties, 156–158visibility of get/set statements,

159write-only class properties, 160

End construct, 195End keyword, 130End() method, 1251End Sub/End Function syntax,

258EndCap property, Pen type, 954EndClose() method, 820EndEdit() method, 727EndInvoke() method, 329,

541–542EndOpen() method, 820<endpoint> element, 812, 817,

822, 824EndUpdate() method, 1018EnforceConstraints property, 707Engine objects, 365EngineStart event, 348–349Enqueue() member, Queue type,

296–297Enter event, 997Enter key, 190entity classes, 760, 765–766

building using Visual Studio2008, 776–779, 783

deleting existing items,778–779

inserting new items, 778updating existing items, 778

generating using SqlMetal.exe,770

defining relationships, 773programming against

generated types, 774–776strongly typed DataContext

type, 773–774EntitySet(Of T) type, 773EntitySet<T> member variable,

773Entry property, 294Enum type, 123, 909Enum variable, 122enumData object, 762Enumerable extension methods,

422, 425Enumerable type, 417, 421–423,

432

enumerable types (IEnumerableand IEnumerator),273–275

Enumerable.Distinct<T>()method, 428

Enumerable.Except() method,431

Enumerable.OfType<T>()method, 419

EnumerableRowCollectionobject, 762

Enumerable.Where<T>()method, 422

enumerating controls with Panelcontrol, ASP.NET, 1264

enumerationscontrolling underlying storage

for Enum, 121declaring and using Enums,

121–122overview, 120–121System.Enum class, 122–124,

126types, 18

Enum.Format() method, 124Enum.GetValues() method, 994Environment type, 72Environment.GetCommandLine

Args() method, 1064Equality operators, 97Equals() method, 84, 201, 203,

363, 404–406, 429Error event, ASP.NET, 1255error icon (!), 1015Error List window, 504error processing, VB 6.0, 230ErrorBlinkStyle properties, 1015ErrorMessage dictionary, 858ErrorMessage member, ASP.NET

validator, 1285ErrorMessage property, 859, 1286ErrorProvider control, 1016ErrorProviders, 1014–1015event interface, 285, 287, 289Event keyword, 340, 343, 347, 580event trigger, 1191–1192EventArgs instance, 346EventArgs parameter, 889event-driven entity, 1262EventDrivenActivity, WF, 847EventHandlingScopeActivity, WF,

847EventInfo class, System.

Reflection namespace, 488events, 340–342

adding to custom controls,1026

compared with delegates, 339

customizing event registrationprocess

custom events usingcustom delegates, 350–352

defining custom event,348–350

overview, 348defining in terms of delegates,

348defining single handler for

multiple events, 343–344dynamically hooking into

incoming events withAddHandler/Remove-Handler, 344–345

event keyword, 339firing using RaiseEvent

keyword, 340hooking into incoming events

using WithEvents andHandles, 342–343

Microsoft recommendedpattern, 345, 347

multicasting using Handleskeyword, 343

overview, 327strongly typed, defining,

347–348<EventTrigger> element, 1192<example> code comment, XML

Elements, 166_Exception interface, 209<exception> code comment,

XML Elements, 166exceptions, 207, 227Exchange() method, Interlocked

type, multithreadedapplications, 561

Exclude() method, 933*.exe file, 476, 602, 805executable code, 845ExecutablePath property, 887ExecuteAssembly(),

System.AppDomain, 527ExecuteCode property, 852, 855,

863Executed event, 1149ExecuteMethodCall() method,

774ExecuteNonQuery() method,

682, 684, 775ExecuteReader() method, 681,

691ExecuteSclar() method, 682, 691Exit event handler, 1072Exit() method, 887ExitEventArgs type, 1061ExitEventHandler delegate, 1061

■INDEX1346

Page 17: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

ExoticControls project, 1017ExpandDirection property, 1122Expander control, 1103Expander type, 1106, 1122, 1145Expander widget, 1141Expanders types, framing related

elements in, 1122–1123explicit casting, 197, 262explicit conversion, 373, 377explicit default value, 107explicit keyword, custom type

conversion, 374–376explicit load request, 461Exploded event, 343Exploded notification, 334explodedList member variable,

336Expression Blend, 1099–1100Expression property, 709ExtendedProperties property, 707extending interface types via

extension methods,398–399

Extends metadata token, 485Extensible Application Markup

Language. See XAML(Extensible ApplicationMarkup Language)

eXtensible Markup Language.See XML

extension libraries, 397–398extension methods, 8, 391–399,

415defining, 391extending interface types via,

398–399importing types that define,

395–396IntelliSense mechanism,

396–397invoking on instance level, 393invoking statically, 394libraries, 397–398LINQ and, 415scope of, 394–395

Extension property,FileSystemInfo class, 609

Extensions class, 399external assemblies, 441ExternalAssemblyReflector

application, 495

FF or f string format, .NET, 75FaultHandlerActivity, WF, 847FieldInfo class, System.Reflection

namespace, 488

Field(Of T)() extension method,763

fields, autoincrementing,710–711

File class, System.IO, 618, 620File System option, 1240.file token, 459File Transfer Protocol (FTP), 1216File.CreateTest() method, 624FileExit_Click() method, 1143FileInfo class, System.IO

AppendText() method, 615,618

CopyTo() method, 615Create() method, 615CreateText() method, 615, 618Delete() method, 615Directory, 615Length, 615MoveTo() method, 615Name, 615Open() method, 615–617OpenRead() method, 615, 617OpenText() method, 615, 618OpenWrite() method, 615,

617–618FileNotFoundException object,

461–462FilePath member, HttpRequest

Type, 1248FileStream class, System.IO,

621–622FileStream type, input/output,

System.IO, 608FileSystemInfo class, 609FileSystemWatcher class,

System.IO, 629–630Fill() method, 730–731, 734Fill property, 1175Fill value, DockStyle, 1040FillBehavior property, 1188FillContains() method, 1181FillEllipse() method, Graphics

class, 934FillPath() method, 934, 970FillPie() method, Graphics class,

934FillPolygon() method, Graphics

class, 934FillRectangle() method, Graphics

class, 934finalizable objects, 241–243finalization details, 245finalization queue, 245finalization reachable table, 245Finalize() method, 201, 243, 245,

249

finally block, structuredexception handling,226–227

FindMembers() method, 489FindResource() method, 1206FinishButtonClick event, 1283firstPoint variable, 401FlatStyle property, 993–994, 995flow documents, 1131flow-control constructs

building complex conditionalexpressions, 97–98

building complex expressions,97–98

If/Then/Else statement, 96–97overview, 96Select/Case statement, 99

FlowLayoutPanel, controls, 1041,1043

FlowLayoutPanel type, 1041FlowLayoutPanelTSRTableLayou

tPanel class, 884Flush() method, 621, 623, 627,

1251Focused property, 892FolderBrowserDialog class, 884font faces and sizes, GDI+,

948–949font families, GDI+, 946–947Font namespace,

System.Drawing, 930Font object, 948Font property, 891Font property, WebControl base

class, 1267FontDialog class, 884FontDialog class, GDI+, 952FontFamily namespace,

System.Drawing, 930FontFamily type, 947FontFamily.Name property, 950fonts, GDI+, 945–946, 950–951FontSize property, 1199, 1205fontSizeContextStrip control,

909–910Foo() method, 393For Each statement, 100For looping construct, 99–100For statement, 99forcing, 241–242For/Each loop, 100–101ForeColor member, ASP.NET

validator, 1285ForeColor property, 891, 1267Foreground property, 1205ForegroundColor property, 74Form and Application classes,

883

■INDEX 1347

Page 18: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

Form class, 884, 896–900anatomy of, 890–891life cycle of Form-derived

types, 898–900overview, 896–898

form control declarations,ASP.NET, 1237

form data, access in ASP.NET,1249–1250

form inheritance, 983, 1037–1038Form member, HttpRequest

Type, 1248Form property, 1249form statement, 1247Form type, 890, 896–898, 900,

902, 904, 909, 925, 984<form> element, 1221, 1226,

1234, 1237, 1264, 1276,1277, 1301

Form1.vb file, 721Format() property, String Class

Meaning, 84formatting options, .NET String,

75FormBorderStyle property, 897,

1035, 1039Form-derived class, 961, 968,

971, 1297Form-derived type, 737, 987,

1029forms controls, 983Forms, Windows. See Windows

FormsFor/Next loop, 99–100FrameworkElement class, 1109,

1128, 1172, 1184FrameworkPropertyMetadata

object, 1111Friend access modifier, 152Friend keyword, 453, 1082friendly name, 460friendly object model, 487from operator, 425, 427From property, 1188, 1190FromArgb() method, 943FromFile() method, Image type,

963FromHdc() method, Graphics

class, 934FromHwnd() method, Graphics

class, 934FromImage() method, Graphics

class, 934FromName() method, 943FromStream() method, Image

type, 963FTP (File Transfer Protocol), 1216

FullName property,FileSystemInfo class, 609

fully qualified name, 201Func<> delegate, 421Func<> type, 425Func<T, K> type, 422Function keyword, 103Function statement, 352<Function> attribute, 774functions. See also subroutines,

and functions, definingC#, 95vs. subroutines, 103

/functions option, 771FunWithBrushes.xaml file, 1179FunWithDrawingGeometries.

xaml file, 1185FxCop development tool, 61

GG method, Color object, 944G or g string format, .NET, 75GAC (Global Assembly Cache),

26–27, 437–438, 466, 477gacutil.exe command-line utility,

470garbage collection

AddRef() not required, 235application domain, 243application roots, 237code example, 240–242Collect() method, 240–242CollectionCount() method, 240compared with C++, 235finalizable objects, 243finalization details, 245forcing, 241–242GetGeneration() method, 240GetTotalMemory() method,

240MaxGeneration property, 240object generations, 239object graph use, 238overriding finalize(), 244–245overview, 233PInvoke, 243reachable objects, 234Release() not required, 235SuppressFinalize() method,

240System.GC, 240threads suspended, 236timing of, 235unmanaged resources, 240,

243–245WaitForPendingFinalizers()

method, 240–241

when heap objects areremoved, 234, 236

GC.Collect() method, 241GC.SuppressFinalize() method,

249GC.WaitForPendingFinalizers()

method, 241GDI+

color values, 943ColorDialog class, 944coordinate systems, 939core namespaces, 929custom point of origin, 942disposing graphics objects, 938font faces and sizes, 948–949font families, 946–947FontDialog class, 952fonts, 945–946, 950–951hit testing

nonrectangular images, 970,972

rendered images, 968, 970methods in FontFamily, 946namespaces, 929, 930overview, 929PageUnit property, custom

unit of measure, 940, 942Pen properties, 953–954Pens collection, 954PictureBox type, 965–967System.Drawing namespace,

930System.Drawing.Brush, 957System.Drawing.Brush,

HatchBrush, 959System.Drawing.Brush,

LinearGradientBrush, 962System.Drawing.Brush,

TextureBrush, 960System.Drawing.Drawing2D,

Pen types, 953–955System.Drawing.Drawing2D,

Pens, LineCap, 956System.Drawing.Font, 945–946System.Drawing.Graphics

class, 933System.Drawing.Image, 963,

965unit of measure, 940

Generate() method, 974generated types

programming against, 774–776using in code, 753

Generation 0, 1 and 2, 239generic collections, and LINQ,

417–419generic method, 313, 315generic structures, classes, 316

■INDEX1348

Page 19: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

genericsboxing and unboxing issues,

301–303, 306constraining type parameters,

320–322constraining type parameters

using where, 320–322custom generic classes,

319–320custom generic collections,

317, 319delegates, 324–326generic methods, 313, 315interfaces, 323lack of operator constraints,

322overview, 291System.Collections.Generic.

List<>, 305–307uses of, 301–303, 306

Geometry property, 1182geometry types, 1181–1182GeometryDrawing type, 1180<GeometryDrawing> tag, 1182<GeometryGroup> type, 1184GET and POST, ASP.NET,

1226–1227Get button, 1298Get scope, 157get_SocialSecurityNumber()

method, 159GetAllFords() method, 790GetAllInventory() method, 734,

736GetAndValidateUserName()

method, 854, 859GetArea() property, 1181GetAssemblies() method, 527GetBoolFromDatabase()

method, 311GetBounds() member, 933, 963GetBrightness() method, Color

object, 944GetCellAscent() method,

FontFamily type, 946GetCellDescent() method, 946GetChanges() method, 708GetColumnsInError() method,

712GetCommandLineArgs()

method, 70GetConstructors() method,

System.Type class, 488GetCurrentProcess() method,

System.Diagnostics.Process, 521

GetDataToAdd() method, 859GetDataToAddActivity, 859

GetDirectories() method,DirectoryInfo class, 609,617

GetDomain() method, Threadtype, 548

GetDomainD() method, Threadtype, 548

GetEngine() method, 589GetEnumerator() method, 118,

274–275, 318, 985GetEvents() method,

System.Type class, 488GetFactory() method, ADO.NET,

672GetFields() method, 488, 490GetFiles() method, DirectoryInfo

class, 609, 611, 617GetHashCode() method, 201,

204, 357, 404–406, 408, 429GetHue() method, Color object,

944GetIDsOfNames() method, 586GetInterfaces() method, 488, 491GetIntFromDatabase() method,

311GetInventory() method, 837, 840GetInvocationList() method, 331,

333GetLineSpacing() method, 946GetMembers() method,

System.Type class, 488GetMethods() method,

System.Type class, 488GetName() method, 946GetNestedTypes() method,

System.Type class, 488GetNumberOfPoints() method,

257GetObject() method, 980GetObjectData() method,

647–648GetParameters() method, 493GetPetName stored procedure,

771GetProcesses() method, System.

Diagnostics.Process, 521GetProperties() method,

System.Type class, 488GetRandomNumber() method,

142–143GetSaturation() method, Color

object, 944GetSchema() method,

DbConnection, ADO.NET,679

GetString() method, 980GetStringSubset() method, 432GetSubsets() method, 429

GetTable() method, 769GetTable(Of T)() method, 768GetType() method, 115, 201, 314,

404, 489–490GetUnderlyingType() method,

Enum class, 122GetUserAddress() method, 1329GetValue() method, 480, 1111GetValues() method, 124GetVisualChild() method, 1172GiveBonus() method, 187Global Assembly Cache (GAC),

26–27, 437–438, 466, 477Global class, 1311Global.asax event handlers in

ASP.NET, 1304Global.asax file, 1297, 1302,

1303–1304, 1305, 1311,1316

globalization element,web.config, ASP.NET, 1257

Globally Unique Identifier(GUID), 277–279, 573

Global.Session_Start() method,1318

GlyphRunDrawing type, 1181godmode option, 70gradient brushes, 1178–1179<GradientStop> type, 1179graphical user interface (GUI),

883Graphics class, 934Graphics namespace,

System.Drawing, 930Graphics object, 729, 929, 935,

936, 938, 1168Graphics.DrawImage() method,

964Graphics.DrawString() method,

945Graphics.FromHwnd() method,

936GraphicsPath class, 953, 970–971GraphicsPathIterator, 953GraphicsUnit enumeration, 941GreenStyle property, 1205GreetUser() method, 66, 67, 69Grid control, 1104Grid panels, 1132, 1137–1139Grid type, 1145<Grid> element, 1106, 1112,

1119, 1162, 1168, 1194,1198

Grid.Column property, 1138<Grid.ColumnDefinitions>

element, 1138Grid.ColumnSpan property, 1157Grid.Row property, 1138

■INDEX 1349

Page 20: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

<Grid.RowDefinitions> element,1138

<GridSplitter> element, 1139GridView control, 1104,

1278–1280<GridViewColumns> element,

1162group operator, 425<group> element, 1329GroupBox control, 995–998,

1011, 1104, 1121GroupBox event, 997GroupBox type, 739, 1121–1122GroupName property, 1121GUI (graphical user interface),

883<Guid()> attribute, 594, 597GUID (Globally Unique

Identifier), 277–279, 573GUID compared with strong

names, 467guidgen.exe utility, 597*.g.vb file, 1078, 1107

HHandled property, 896, 1114Handles keyword, 593, 893

hooking into incoming eventsusing, 342–343

multicasting using, 343happyDude.bmp image, 977has-a relationship code example,

184HasContent property, 1057HasControls() method,

System.Web.UI.Control,1263

HasErrors property, 707, 712hash code, 204, 467Hashtable class,

System.Collections, 294Hashtable type, 204HasValue members, 311HasValue property, 311HatchBrush, 953, 959HatchStyle enumeration, 959Header property, 1121/headers flag, 439Headers member, HttpRequest

Type, 1248HeaderText property, 1288heap, and reference types, 368Height member, 1108Height method, Image type, 963Height property, 892, 1109, 1133,

1188, 1267HelloMsg.vb file, 39HelloWebService.asmx file, 799HelloWorld() method, 799

HelperFunctions module, 103,107, 110

HelpExecute() method, 1150HelpLink property,

System.Exception, 210,216

Hexadecimal property,NumericUpDown, 1014

Hexagon class, 149, 193, 257, 260Hide() method, 893historical overview of

programmingC++/MFC, 4Component Object Model

(COM), 5C/Win32, 3Java/J2EE, 4Visual Basic 6.0, 4Windows DNA, 5

hit testing, 965nonrectangular images, 970,

972rendered images, 968, 970

Horizontal property, 1137HorizontalAlignment property,

1207HorizontalResolution method,

Image type, 963<host> element, 822hosting

WCF, 816–823App.config file, 816–817coding against ServiceHost

type, 817enabling metadata

exchange, 821–823host coding options,

818–819ServiceHost type, 819–820<system.serviceModel>

element, 820–821WCF as Windows service,

829–833creating installer, 832–833enabling MEX, 831–832installing, 833

*.htm files, 1220, 1222HTML (Hypertext Markup

Language), 1219and ASP.NET, overview,

1219–1220form development, 1221user interface in, 1222–1223

<html> tag, 1220HTTP (Hypertext Transfer

Protocol), 1251HTTP Request, ASP.NET, 1248HTTP Request members,

ASP.NET, 1247

HTTP Request processing,ASP.NET, 1247–1252

HttpApplication members,ASP.NET, 1305

HttpApplication type, 1261, 1297,1304–1306, 1322

HttpApplication-derived type,1307, 1315

HttpApplicationState type,1305–1309, 1314

HTTP-based bindings, 809–810HttpBrowserCapabilities object,

1248HttpCookie object, 1319HttpCookie type, 1318HttpCookie.Expires property,

1320HttpMethod member,

HttpRequest Type, 1248HttpRequest class type, 1247,

1248HttpRequest.Cookies property,

1320–1321HttpRequest.Form property,

1249HttpRequest.NameValue-

Collection type, 1266HttpRequest.QueryString

property, 1249HttpResponse type, 1250HttpResponse.Redirect()

method, 1252HttpResponse.Write() method,

1251HttpResponse.WriteFile()

method, 1251HttpServerUtility.ClearError()

method, 1256HttpServerUtility.GetLastError()

method, 1256HttpSessionState class type, 1306HttpSessionState object, 1299,

1315, 1317, 1324HybridDictionary member,

System.Collections.Specialized Namespace,298

HybridDictionary,System.Collections.Specialized, 298

HyperLink widget, 1264Hypertext Markup Language. See

HTML (Hypertext MarkupLanguage)

Hypertext Transfer Protocol. SeeHTTP (Hypertext TransferProtocol)

■INDEX1350

Page 21: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

I/i option, gacutil.exe, 470IAppFunctionality interface, 512,

515IasyncResult interface, 329–330IAsyncResult interface, 330IAutoLotService.vb file, 836IBasicMath.vb file, 826ICloneable interface, 201, 257,

276, 370ICollection interface,

System.Collections, 292ICollection System.Collections

interface, 292–293ICollection System.

IDictionaryEnumeratorinterface, 294

ICollection System.Idictionaryinterface, 293

ICollection System.IListinterface, 294

ICommand interface, 1147IComparable interface, 364IComparer interface, 283IComparer interface,

System.Collections, 292IComparer System.Collections

interface, 292IComponentConnector

interface, 1075Icon namespace,

System.Drawing, 930IConnectionPoint interface, 580,

595IConnectionPointContainer

interface, 580, 595IConnectionPointContainer

namespace, 580icons, custom controls, 1033ICreateErrorInfo interface, 580ID attribute, 1162ID member, System.Web.UI.

Control, 1264Id, ProcessThread type, 524ID property, System.Web.UI.

Control in ASP.NET, 1264IDataAdapter, System.Data,

ADO.NET, 659IDataParameter, System.Data,

ADO.NET, 659IDataReader, System.Data,

ADO.NET, 659IDbCommand interface,

ADO.NET, 660IDbConnection interface,

255–256, 659IDbConnection object, 773

IDbDataAdapter, IDataAdapterinterface, ADO.NET, 661

IDbDataAdapter, System.Data,ADO.NET, 659

IDbDataParameter,IDataParameter interface,ADO.NET, 660

IDbDataReader, IDataReaderinterface, ADO.NET, 662

IDbTransaction interface,ADO.NET, 660

IDbTransaction, System.Data,ADO.NET, 659

identity, private assemblies, 460IDEs (integrated development

environments), 35IDictionary interface,

System.Collections, 292IDictionary System.Collections

interface, 292IDictionaryEnumerator interface,

System.Collections, 292IDispatch interface, 580, 584,

586, 596IDispatchEx interface, 596IDisposable interface, 246–248,

938IDL attributes, 583Idle event, 888IDraw3D interface, 264IDriverInfo interface, 588, 591IDropTarget interface, 256IEightBall interface, 813, 824IEngineStatus interface, 285IEnumerable interface, 101,

273–275, 292, 414, 419IEnumerable type, 432IEnumerable<> type, 432IEnumerable(Of T) interface, 318IEnumerable(Of T)-compatible

object, 425IEnumerable<string> type, 428,

432IEnumerable<T> interface, 410IEnumerable<T> object, 419IEnumerable<T> variable, 414,

419IEnumerator interface, 101, 273,

275, 292IEnumVariant interface, 595IErrorInfo interface, 580, 596If statement, 97, 132IfElseActivity, WF, 847If/Then/Else statement, 96–98IIS (Internet Information Server),

806, 1216, 1217IL (intermediate language), 10

ildasm exploration of manifest,451

ildasm.exe (IntermediateLanguage Disassemblerutility), 27, 28, 29

ildasm.exe tool, 248, 441, 483IList interface,

System.Collections, 292IList System.Collections

interface, 292Image class, GDI+, 960Image control, 1104Image namespace,

System.Drawing, 930image processing in custom

controls, 1024–1026Image property, 917, 921, 965,

977, 993Image type, 963Image widget, 1196<Image> control, 1182ImageAlign property, 993ImageAnimator namespace, 930ImageBrush type, 1177, 1179ImageClicked enumeration, 971ImageDrawing type, 1181ImageList property, 1020Images property, 1019imgGraphics object, 938immediate execution, 417immediate mode graphics

systems, 1168Implements keyword, 209, 259,

269, 588defining common

implementation with, 270hiding inteface methods from

object level using, 270–271name clashes with, 268–270

implicit cast, 198implicit conversion, 373implicit conversion operations,

377implicit keyword, custom type

conversion, 374–375,377–378

implicit load request, 461implicitly typed local variables

LINQ and, 414overview, 383, 385–386restrictions on, 390usefulness of, 390–391

Import statements, 443<Import> subelements, *.xaml

files, 1073importing

custom namespaces, 446types that define extension

methods, 395–396

■INDEX 1351

Page 22: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

Imports keyword, 39, 446–448Imports statement, 59, 123<In()> attribute, 594in operator, 425, 427[in] attribute, 584Include attribute ,

<ApplicationDefinition>element, 1073

Increment() method, Interlockedtype, multithreadedapplications, 561

Increment property,NumericUpDown, 1014

inheritance, 148–150, 173,1037–1038

adding sealed class, 183–184base keyword in class creation,

180, 182colon operator, 179containment/delegation

inheritance model, 184controlling base class creation

with MyBase, 180–182has-a relationship code

example, 184Inherits keyword, 174–175is-a relationship code example,

178, 180multiple base classes not

allowed, 175NotInheritable keyword, 176overview, 173–174, 178–180protected keyword, 182–183regarding multiple base

classes, 175–176sealed classes, 183–184, 190

inheritance chain, page type inASP.NET, 1246

Inheritance icon, Class DesignerToolbox, 56

Inheritance Picker utility, 1038Inherited Form, 1037Inherited named property, 507Inherits attribute, <%@Page%>

directive, 1236Inherits keyword, 174–175, 200Init event handler, System.Web.

UI.Page base class, 1300Init event, Page type, 1253Initialize event, 133InitializeComponent() method,

852, 903, 910–912, 916,918, 921, 986–987, 997,1000, 1075–1076, 1078,1149, 1244

InitialValue property, 1286inline styles, 1198–1199

in-memory documents,navigating, 789–790, 793

inner objects, VB6 COM server,589

inner types, initializing, 402–403innerEllipse object, 1114InnerException property,

System.Exception, 210InnerText property, 1164in-place editing example,

ASP.NET, 1281input flags, 70input/output, System.IO

asynchronous I/O, 631–632BinaryReader, BinaryWriter,

627BinaryReader, BinaryWriter

types, 607BufferedStream type, 607Directory, DirectoryInfo types,

607–609Directory type, 613DriveInfo class, 614DriveInfo type, 607File class, 618, 620File, FileInfo types, 607–609FileInfo class, 615FileStream class, 621–622FileStream type, 608FileSystemWatcher class,

629–630FileSystemWatcher type, 608MemoryStream type, 608namespace description, 607Path type, 608reading from a text file, 624Stream class, 620StreamReader, StreamWriter,

623StreamWriter, StreamReader

types, 608StringReader, StringWriter, 626StringWriter, StringReader

types, 608writing to a text file, 624

Insert Comment menu option,166

Insert() method, 84, 296, 1310InsertAuto() method, 839InsertCar() method, 837InsertCommand property, 733inserting

new items into relationaldatabases, 778

records, ADO.NET, 686InsertNewCar() method, 695InsertNewCars() method, 778

InstalledFontCollection class,950

InstalledFontCollection.Familiesproperty, 950

installedFonts data member, 950installedFonts string, 950installing .NET 3.5 Framework

SDK, 35InstallSqlState.sql file, 1323installutil.exe command-line

tool, 833instance data, 144Instancing property, 589Integer data types, 130, 313Integer keyword, 77Integer member variables, 966Integer parameter, 89Integer type, 376IntegerCollection custom

collection, 306Integers, 359integrated development

environments (IDEs), 35IntelliSense, 190, 396–397InterceptArrowKeys property,

UpDownBase, 1013intercepting COM events,

592–593InterfaceNameClash, 268interfaces

in arrays, 267cloneable objects (ICloneable),

275–279colon operator, 259comparable objects

(IComparable), 280–282custom, defining, 257–259custom interface example, 258custom properties and sort

types, 284deep copy, 279definition, 255designing hierarchies, 271–273determining using as keyword,

263determining using explicit

cast, 262enumerable types

(IEnumerable andIEnumerator), 273–275

implementing, 259invoking objects based on, 262muliple, types supporting, 261multiple sort orders

(IComparer), 283overview, 255shallow copy, 275–278

■INDEX1352

Page 23: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

struct, derive fromSystem.ValueType, 259

System.Object base class, 259types, 398

contrasting to abstract baseclasses, 256–257

extending via extensionmethods, 398–399

overview, 17using as a parameter, 264–265using as a return value, 266using as callback mechanism,

285–288interfaces and data providers,

ADO.NET, 663–664<InterfaceType()> attribute, 594Interlocked type, 548, 561intermediate language (IL), 10Intermediate Language

Disassembler utility(ildasm.exe), 27, 28, 29

InternalsVisibleToAttribute class,453

Internet Information Server (IIS),806, 1216, 1217

Internet Information Servicesapplet, 1217

Internet zone, 1052interop assemblies, 573Interop prefix, 574, 575Interop.SimpleComServer.dll

assembly, 575InterpolationMode property,

Graphics class, 934Interrupt() method, 549Intersect() method, 933Interval property, 917, 1024, 1119intrinsic types in CTS, VB.NET,

C#, C++, 19Invalidate() method, 893, 910,

912, 921–923, 936, 949,1026

InvalidCastException object, 263Inventory class, 767Inventory content page example,

ASP.NET, 1278–1279Inventory entity class, 768, 778Inventory type, 767, 772<Inventory> element, 789, 1162Inventory.aspx page, 1278, 1281InventoryDAL class, 685, 733, 839InventoryDALDisLayer class,

733, 734, 736InventoryDAL.ProcessCredit-

Risk() method, 875InventoryDataSet class, 747, 755InventoryDataSet.Designer.vb

file, 749

InventoryDataSet.xsd file, 748InventoryDataTable class, 749InventoryRecord type, 837, 839inventoryTable object, 713InventoryTableAdapter type, 751Inventory.vb file, 766Inventory.xml file, 789,

1161–1163Invoke() method, 328, 332, 349,

586InvokeMember() method,

System.Type class, 489InvokeWebServiceActivity, WF,

847invoking

extension methods, 393, 394service asynchronously,

833–835invTable object, 768IP address, 1215IPointy interface, 258IPointy-compatible classes, 260IPointy-compatible objects, 267IProvideClassInfo interface, 580,

596IRenderToMemory interface, 272is keyword, 199, 301is-a relationship code example,

178, 180IsAbstract, System.Type class,

488IsAlive method, Thread type, 549IsAnim data point, 1025IsArray, System.Type class, 488IsBackground method, Thread

type, 549IsCancel property, 1117, 1162IsChecked property, 1118IsClientConnected property,

HttpResponse Type, 1250IsClipEmpty property, Graphics

class, 934IsCOMObject, System.Type class,

488IsDbGenerated property, 770IsDefault property, 1117, 1162isDragging Boolean, 966IsEnum, System.Type class, 488ISerializable interface, 209, 646IService1.vb file, 826IService.vb file, 836IsGenericTypeDefinition,

System.Type class, 488IsHighlighted property, 1124isImageClicked member

variable, 969IsInitiating property, 815IsMdiContainer property, 924

IsMouseOver trigger, 1209IsNestedPrivate, System.Type

class, 488IsNestedPublic, System.Type

class, 488IsNull() method, 713IsNullable property, ADO.NET

DbParameter, 688IsOneWay property, 815IsPostBack property, 1247, 1250IsPressed property, 1116IsPressed trigger, 1209IsPrimaryKey property, 767, 770IsPrimitive, System.Type class,

488IsSealed, System.Type class, 488IsSecureConnection member,

HttpRequest Type, 1248IsStyleAvailable() method, 946IsSystemColor method, Color

object, 944IsTerminating property, 815ISupportErrorInfo interface, 596ISupportErrorInfo nterface, 580IsValueType, System.Type class,

488IsVersion property, 770IsVisible() member, 972IsVisibleClipEmpty property,

Graphics class, 934Item property, 662ItemArray property, 712ItemCollection object, 1123<ItemGroup> element, 1073ItemHeight value, 1135Items property, 1014, 1283, 1300ItemsControl class, 1123ItemsSource attribute, 1162ItemsSource property, 1157ItemWidth value, 1135iteration constructs

With construct, 102Do/While and Do/Until

looping constructs, 101For/Each loop, 100–101For/Next loop, 99–100overview, 99

ITypeInfo interface, 596IUnknown interface, 580, 596IValueConverter interface,

1153–1156

Jjavadoc utility, 165Java/J2EE language deficiencies,

4Jitter, just-in-time (JIT) compiler,

14–15

■INDEX 1353

Page 24: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

Join() method, Thread type, 549*.jpg file, 1179

Kk flag, 468key frames, 1193–1195Key property, 1200–1201, 1203keyboard events, 896, 1069KeyCode property, 896KeyDown event, 896KeyEventArgs parameter, 896KeyEventHandler delegate, 896/keyf option, 477/keyfile flag, 585KeyPressTSRKeyUpTSRKeyDown

event, 892KeyUp event, 893, 896Key/Value properties, 294Kill() method, System.

Diagnostics.Process, 521KnownColor enumeration, 943

LL mask token, MaskedTextBox,

992/l option, gacutil.exe, 470Label control, 987–988, 1103Label object, 1191Label type, 739, 1151, 1188–1189,

1235Label widgets, 1106, 1113, 1252,

1264, 1266, 1298, 1321lambda expressions

building LINQ queryexpressions withEnumerable type and, 422

evaluating using custommethods, 356–357

overview, 352–353parts of, 354–356with zero parameters, 357

language attribute, 1236language fundamentals

boxing and unboxing, 298–300is keyword, 301parsing values from string

data, 83passing reference types by

reference, 372passing reference types by

value, 370–371static constructors, 147static data, 144–146static keyword, 142–143,

145–147static methods, 142System data types, 81–82System.Boolean, 82

System.Char, 82System.Environment class, 73System.ValueType, 366unboxing custom value types,

301value types and reference

types, 365–368, 372–373value types containing

reference types, 369–370Language Integrated Query.

See LINQ (LanguageIntegrated Query)

language-neutral code, 438LargeChange property, TrackBar

control, 1009LastAccessTime property,

FileSystemInfo class, 609LastChildFill attribute, 1140LastWriteTime property,

FileSystemInfo class, 609late binding, 511

description, 498invoking methods with no

parameters, 499invoking methods with

parameters, 500overview, 483System.Activator class,

498–499layout, controls, 1041, 1043layout managers, 1050LayoutMdi() method, 897, 925LayoutTransform property, 1186lblOrder, Label type, 1283lblTextBoxText, Label widget,

1266lblTransparency button, 1190lblUserData Label type, 1327LBound() function, 115ldnull opcode, 237ldstr opcode, 88, CILLeave event, 997Left value, 1040Length() method, Stream class,

System.IO, 621Length property, String Class

Meaning, 84library keyword, 583library statement, COM IDL, 583life cycles

of Form-derived types,898–900

of web pages, ASP.NET, 1252,1254–1256

Line type, 1175–1176linear key frames, 1194–1195LinearGradientBrush, 953, 962,

1084, 1177, 1178, 1199

LinearGradientModeenumeration, 962

LineCap enumeration, 956LineGeometry type, 1182LineJoin property, 1180LinkedList(Of T) class, System.

Collections.Generic, 307LinkLabel class, 884LINQ (Language Integrated

Query), 409–433. See alsoLINQ (LanguageIntegrated Query) APIs

generic collections, 417,418–419

nongeneric collections,419–420

queries, 399, 787–788query expressions, 412–417

deferred execution, 415–416extension methods, 415immediate execution, 417implicitly typed local

variables, 414query operators, 420

building query expressionsusing Enumerable type,422–424

building query expressionswith, 421–422

Enumerable extensionmethods, 425

Enumerable.Except()method, 431

orderby operator, 430–431projecting new data types,

429Reverse<T>() method, 430selection syntax, 426where operator, 428–429

role of, 409transforming query results to

array types, 432–433LINQ (Language Integrated

Query) APIs, 759entity classes

building using Visual Studio2008, 776–779, 783

generating usingSqlMetal.exe, 770

navigating in-memorydocuments, 789–790, 793

overview, 759programming with

to DataSet type, 760–765to SQL, 765–770

role of, 759–760XML documents, 788–791

loading XML content, 788

■INDEX1354

Page 25: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

modifying data in, 790–793parsing XML content, 788programmatically creating,

783–786System.Xml.XLinq

namespace, 780–783list controls, filling

programmatically,1124–1125

<list> code comment, XMLElements, 166

ListBox class, 884ListBox control, 1000, 1263, 1283ListBox Slider control, 1103ListBox types, 1123–1128

adding arbitrary content,1125–1126

determining current selection,1126–1128

filling list controlsprogrammatically,1124–1125

ListBox web control, 1300<ListBoxItem> type, 1123, 1125<ListBox.ItemTemplate>

element, 1160ListDictionary member, System.

Collections.SpecializedNamespace, 298

ListFields() method, 490ListInterfaces() method, 491ListInventory() method, 694ListMethods() method, 490List(Of T), 307, 319, 721, 839List<T> type, 409, 417ListView object, 1161<ListView.View> element, 1162Load event, 898, 904, 1250, 1253,

1327Load event handler, 751, 1301,

1313Load() method, 461, 527, 530, 788Loaded event handler, 1159LoadExternalModule() function,

514, 516LoadFrom() method, 461loading XML content, 788Loan snippet, 52local variables

implicitly typed, 383, 385–386,390

static, methods containing,110

location transparency, 796Lock() method, 1307, 1309, 1314lock token and multithreaded

applications, 558–561logical (object) resources, 1198

logical grouping, 1221logical resources, 1195lollipop notation, 260Long keyword, 77Loop keyword, 101looping animation, 1191looping constructs, 99lstColors list box, 1127lstColors ListBox object, 1127lstVideoGameConsole type, 1124lstVideoGameConsoles object,

1126Lutz Roeder’s Reflector for .NET

development tool, 61

Mmachine.config file, 1324machineName, 812MachineName property,

System.Environment, 73MachineName, System.

Diagnostics.Process, 520MagicEightBallServiceClient, 824MagicEightBallServiceHost.exe

application, 828MagicEightBallServiceLib

namespace, 816MagicEightBallServiceLib.dll

assembly, 816MagicEightBallService.vb file,

813MainForm type, 737mainFormMenuStrip control,

906–907MainForm.vb file, 721MainMenuclass, 884MainModule, System.

Diagnostics.Process, 520maintaining session data,

ASP.NET, 1315, 1317MainWindow class, 886, 895, 902,

984, 1062, 1071, 1159MainWindow property,

Application type, 1054MainWindow.Designer.vb file,

903MainWindow.g.vb file, 1073MainWindowTitle, System.

Diagnostics.Process, 520MainWindow.vb file, 885, 888,

898, 902, 904MainWindow.xaml.vb file, 1078MakeACar() method, 235managed code, 8, 571managed heap, 234–236,

238–239, 298manifest, 438, 441MANIFEST icon, 486

MapPath() method, 1248Margin control, 1142Margin value, 1162MarkedAsDeletable() method,

724mask expression, 991Mask property, 991/ mask token, MaskedTextBox,

992, mask token, MaskedTextBox,

992? mask token, MaskedTextBox,

992MaskedTextBox class, 884MaskedTextBox control, 991, 992MaskInputRejected type, 993MaskInputRejectedEventArgs

type, 993master constructor, 140*.master file, 1270, 1272, 1276master pages, 1230, 1270MasterPageFile, ASP.NET

<%@Page%> directiveattribute, 1236

MasterPageFile attribute, 1236,1277

MasterPageFile property, PageType, 1247

MasterPage.master file, 1271MathOperation property, 863MathServiceLibrary.dll assembly,

830MathWinService.vb file, 830MatrixTransform type, 1185Maximum property

NumericUpDown, 1014TrackBar control, 1009

Maximum property,NumericUpDown, 1014

MaxValue property, 81MDI (multiple document

interface) applications,883, 924–926

child forms, 925child windows, 925–926overview, 924parent forms, 924–925

MdiChildActive event, 898MdiLayout enumeration, 925MdiParent property, 926MdiWindowListItem property,

925Me keyword

chaining constructor callsusing, 138–140

observing constructor flow,140–142

overview, 137–138

■INDEX 1355

Page 26: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

MediaCommands object, 1148MediaElement control, 1104member overloading, 111–113member shadowing, 196–198member variables, 129, 277member-by-member copy, 366MemberInfo class, System.

Reflection namespace, 488MemberwiseClone() method,

201, 275, 277, 279memory management

in CIL, 235–236Finalize() vs. IDisposable

interface, 248–250first rule, 234fourth rule, 247resource wrapper code

examples, 248, 249–250second rule, 236third rule, 243

MemoryStream type,input/output, System.IO,608

Menu (or TreeView) widget, 1272Menu class, 884Menu control, 1104, 1272, 1274Menu property, 884, 897, 909,

911, 914, 918menu selection prompts,

displaying, 918–919menu systems, 914, 1142Menu type, 1274<Menu> definition, 1143MenuEventArgs parameter, 1275MenuItem class, 884MenuItem object, 1142MenuItemClick event, 1275MenuStrip class, 884MenuStrip component, 514MenuStrip control, 883, 905–912,

914, 918–919, 924–925adding TextBox to, 908–909overview, 905–907ToolStripMenuItem Type,

911–912Message property, System.

Exception, 210, 220–221Message Transmission

Optimization Mechanism(MTOM), 810

MessageBox class, 39, 450, 980MessageBox type, 1115MessageBox.Show() method,

437, 899, 1130metadata and type reflection,

484, 490, 492–494Metadata exchange (MEX), 819,

821–823, 831–832

method attribute, 1247method hiding, description, 196method overloading, 103method overriding, 188Method property, 331method scope, 137MethodInfo class, System.

Reflection namespace, 488MethodInfo type, 493MethodInfo.Invoke() method,

499methods

custom, using to evaluatelambda expressions,356–357

overloading, 111–113MEX (Metadata exchange), 819,

821–823, 831–832MFC (Microsoft Foundation

Classes), 4Microsoft Express IDEs,

overview, 46Microsoft Foundation Classes

(MFC), 4Microsoft Message Queuing

(MSMQ), 797, 811, 812Microsoft recommended event

pattern, 345, 347Microsoft Transaction Server

(MTS), 797Microsoft.vbharp.Targets file,

1073Microsoft.VisualBasic.dll

assembly, 86Microsoft.VisualBasic.dll, .NET

assembly, 59Microsoft.WinFX.targets file,

1073midl.exe file, 581milcore.dll binary, 1059Minimum property

NumericUpDown, 1014TrackBar, 1009

MinimumCapacity member, 715MinValue property, 81MinValue/MaxValue property, 82mnemonic keys, 988mode attribute, 1322Mode property, 1153Modified value, 713ModifierKeys property, 892Modifiers property, 896modifying application data,

ASP.NET, 1309modifying data, in XML

documents, 790–793modifying tables, Command

object, 684, 692

Module class, System.Reflectionnamespace, 488

Module keyword, 65module option, 458.module token, 452Module type

members of modules, 69modules are not creatable, 68overview, 65–66projects with multiple

modules, 66–67renaming initial Module, 68

Module1.vb file, 856module-level manifest, 442, 458Modules, System.Diagnostics.

Process, 520Monitor type, System.Threading

Namespace, 548MonthCalendar class, 884MonthCalendar control,

1004–1006mouse buttons, determining

which were clicked, 895mouse events, window-level,

1068–1069MouseButtons property, 892MouseDown event, 892, 893, 937MouseDown event handler, 972,

1114MouseEnter event, 892, 1142,

1176MouseEventArgs class, 895MouseEventArgs parameter, 889MouseEventHandler delegate,

894MouseExit event, 1142MouseHover event, 892MouseHover event handlers, 914MouseHover events, 918MouseLeave event, 892, 919MouseMove event, 892, 893,

894–895, 1262MouseMove event handler, 966MouseOverStyle property, 1205MouseUp event, 892, 895MouseUp event handler, 966MouseWheel event, 892MoveTo() method

DirectoryInfo class, 610, 617FileInfo class, 615

msbuild.exe tool, 1072–1073mscorlib.dll, 21–22, 38, 444, 886,

1125MsgBox() method, VB6, 59MSMQ (Microsoft Message

Queuing), 797, 811, 812MsmqIntegrationBinding

binding, 811

■INDEX1356

Page 27: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

MTOM (Message TransmissionOptimizationMechanism), 810

MTS (Microsoft TransactionServer), 797

multicasting, 327, 331, 337–338MultiColumn property, 1000multidimensional arrays,

117–118multifile assemblies, 12, 441,

457–460multiple document interface

applications. See MDI(multiple documentinterface) applications

multiple exceptions, 222–224multiple inheritance, 175multiple interfaces, 261, 270multiple modules, 441multiple result sets,

DbDataReader object,ADO.NET, 684

multiple sort orders, 283multiple statements on single

line, defining, 95–96MultitabledDataSetApp-Redux

project, 756multithreaded applications

AsyncCallback delegate,545–546

asynchronous operations,541–543

AsyncResult class, 546atomic operations, 538BeginInvoke(), 541–542,

545–547CLR thread pool, 564–565concurrency, 538, 556–559delegate review, 539, 541EndInvoke(), 541–542execution speed vs.

responsiveness, 553foreground vs. background

threads, 555–556lock keyword and

synchronization, 558–561Main() method, 546overview, 537secondary thread creation, 551state data, 546–547synchronization, 538, 543–544,

562synchronous operations, 539,

541System.Threading Namespace,

547

System.Threading.Interlockedtype and synchronization,561

Thread class, 537thread relationship to process,

AppDomain, and context,537–539

thread-volatile operations, 538Timer callbacks, 562, 564

<MultiTrigger> element, 1204MustInherit keyword, 191–192,

195MustOverride keyword, 192–196mutator method, 154Mutex type, System.Threading

Namespace, 548My Project dialog box, 68, 71, 91My Project icon, Solution

Explorer, 444MyApp.g.vb file, 1076, 1079MyApp.xaml.vb file, 1079MyAsms directory, 479MyBase, 180–182, 1305myBounds variable, 116MyCodeLibrary class, 446MyCodeLibrary.dll assembly, 446MyCodeLibrary.MyTypes.MyEnu

ms root namespace, 446MyDoubleConverter type, 1155MyExtensionMethods class, 397MyExtensions class, 397MyExtensionsLibrary

namespace, 397MyExtensionsLibrary.dll file, 397MyExtensions.vb file, 397MyGenericDelegate(Of T) class,

325myInt, Integer variable, 91myInts array, 114myLengths variable, 116MyLibraries subdirectory, 461MyMathModule, 67myObjects, 115MyPluggableApp.exe assembly,

512MyPoint parameters, 362MyPoint structure, 301MyPrivateQ private queue, 812myProxy.vb file, 824MyRectangle value type, 369MyResourceWrapper class, 244,

249myShapes array, 196MyTypeViewer program, 490MyWPFApp class, 1061

NN or n string format, .NET, 76Name attribute, 1107, 1223name attribute, 1326name clashes, 268–270name field, 137Name method, Thread type,

549–550Name property, 770, 852named arguments, 108named property, 506named styles, 1199–1200NameLength dictionary, 858NameLength property, 859NameNotValid method, 855_NameOfTheClass interface, 584Namespace keyword, VB 2008,

443/namespace option, 771namespaces. See also custom

.NET namespacesexamples in C#, VB.NET, C++,

23–24fully qualified names, 26.NET, 24–25overview, 22programmatic access, 25–26

<namespaces> element,web.config File, 1257

NameValueCollection member,System.Collections.Specialized Namespace, 298

Nant development tool, 61Narrowing keyword, 374narrowing operation, 91narrowing styles, 1202navigating

in-memory documents, 793in-memory XML documents,

789–790between related tables,

739–742NavigationCommands object,

1148NDoc development tool, 61, 168nested classes, 284nested content, determining

current selection for,1127–1128

nested panels, 1141–1147building Window’s Frame

using, 1156finalizing design, 1145finalizing implementation,

1146–1147menu system, 1142StatusBar type, 1144ToolBar type, 1143–1144

■INDEX 1357

Page 28: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

nested types, 152–153, 185–187,489

nesting types, 185.NET class interface, 596–597.NET Framework. See also .NET

interop assembliesbase class libraries, 7basic building blocks overview,

6Common Language

Infrastructure (CLI), 6,31–32

common language runtime(CLR), 6

Common Type System (CTS), 6Configuration utility, 464–466,

476core features, 6ECMA standardization, 31interoperability with COM, 6Mono, 32.NET-aware programming

languages, 9–10overview, 6platform independence, 31–32Portable .NET, 32as radical change, 6SDK documentation, 98Virtual Execution System

(VES), 31web links to .NET-aware

languages, 9–10.NET interop assemblies

CCW, 595–596CoCalc coclass, 586–587COM IDL, 580–585

[default] interface, 583–584attributes, 583IDispatch interface, 584library statement, 583parameter attributes,

584–585type library, 585for VB COM server, 582–583

COM to .NET interoperability,593–595

examining, 590–593CoCar type, 591–592exported type information,

601–602intercepting COM events,

592–593VB 2008 Client application,

590–591example of, 572–575investigating, 575–577.NET class interface, 596–597.NET types, 597–600

defining strong names,599–600

inserting COM class usingVisual Studio 2008,598–599

registering, 600overview, 571RCW, 578–580

coclass reference count,579–580

exposing COM types as.NET types, 578–579

hiding low-level COMinterfaces, 580

scope of, 571–572type library, 600VB6 COM server, 587–589

exposing inner objects, 589supporting additional COM

interfaces, 588–589Visual Basic 6.0 test client,

602–603.NET remoting, 797–798.NET types, 597–600

defining strong name, 599–600exposing COM types as,

578–579inserting COM class using

Visual Studio 2008,598–599

registering, 600*.netmodule files, 441, 442,

457–459, 460NetMsmqBinding binding, 811NetNamedPipeBinding class,

811–812NetPeerTcpBinding class, 811NetTcpBinding class, 811NeverBlink property,

ErrorBlinkStyle, 1016New Project dialog box, Visual

Studio 2008, 48NewFunkyStyle style, 1201“New-ing” intrinsic data types,

81NewLine property,

System.Environment, 73NewLine, TextWriter, System.IO,

623newobj instruction, 235newVersion attribute, 475–476next object pointer, 235/noconfig option, 43node images in TreeViews, 1019Nodes collection, 1019nonabstract .NET types, 1070None value, 596, 1040nongeneric collections, 419–420

nonrectangular images, GDI+,970, 972

<NonSerialized()> attribute, 502non-Shared data, 144NoResize attribute, 1162Not operator, 98NotInheritable keyword, 176,

184, 190NotOverridable keyword,

190–191nullable data types, 291

? operator, 312–313overview, 310–311working with, 311, 313

nullable types, 311NullReferenceException,

delegates, 336–337Numeric data default value, 79numeric System data types,

81–82numerical data types, 81–82NumericUpDown, 1013, 1014Nunit development tool, 61

Oobject (logical) resources, 1198Object Browser, 308Object class, 200object contexts

boundaries, 531context 0, 532context-agile, 532–533context-bound, 532–533overview, 517program example, 533

Object data types, 314object draft, 634object generations, 239object graph

definition, 635garbage collection, 238reachable objects, 238relationships, 635simple example, 635

object initializer syntax, 8,399–403

calling custom constructorswith, 401–402

initializing inner types,402–403

Object keyword, 78, 298object lifetime

object generations, 239overview, 233System.GC, 240when heap objects are

removed, 234, 236

■INDEX1358

Page 29: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

object oriented programming,137–138

Object parameter, 300Object reference type, 78object resources, 1195object user, 246Object.Equals() method, 364object(index) token, 791objects

defining array of, 114–115differences from classes and

references, 233setting references to Nothing,

236–237ObservableCollection(Of T) type,

1158–1159, 1164<Obsolete()> attribute, 502–504Obsolete attribute, 501–502ObsoleteAttribute class, 504ObtainAnswerToQuestion()

method, 815, 828Of T As Class constraint, Generic

Type Parameters, 320Of T As NameOfBaseClass

constraint, Generic TypeParameters, 320

Of T As NameOfInterfaceconstraint, Generic TypeParameters, 320

Of T As New constraint, GenericType Parameters, 320

Of T As Structure constraint,Generic Type Parameters,320

OfType<T>() method, 419–420oldVersion attribute, 476On option, 91OnAboutToBlow() method, 336onclick attribute, 1225, 1234onclick event, 1225<OnDeserialized()> attribute,

646, 650<OnDeserializing()> attribute,

646, 650OneWay value, 1153OnExploded() method, 336OnPaint() method, 935OnPetNameChanged() method,

773OnPetNameChanging() method,

773On-prefixed virtual methods, 893OnRender() method, 1172<OnSerialized()> attribute, 646,

650<OnSerializing()> attribute, 646,

650OnStart() method, 830

OnStop() method, 830Opacity property, 1178Open() method, 148, 615–617,

819OpenRead() method, FileInfo

class, System.IO, 615, 617OpenText() method, FileInfo

class, System.IO, 615, 618OpenTimeout property, 820OpenWrite() method, FileInfo

class, System.IO, 615,617–618

Operation property, 867operational contracts, service

types as, 815–816<OperationContract()> attribute,

808, 813, 815, 824, 838? operator, 312–313operator constraints, lack of with

generics, 322Operator keyword, 362, 375operator overloading

binary operators, 360, 362cautions, 365comparison operators,

364–365description, 359equality operators, 363–364operator keyword, 362operators that can be

overloaded, 360Operator property, 1287Option Strict function, 91–92, 104optional arguments, defining,

107–108Optional keyword, 112Optional parameter modifier,

104optional resources, 973<OptionalField()> attribute, 646,

651Or operator, 98orderby operator, 425, 430–431OrderBy<T, K>() method, 422OrderedEnumerable type, 422orderInfo string, 999Ordinal property, 709OrElse operator, 98Orientation property, 1009,

1135–1136origin point, GDI+, 942Original value, 714OtherKey named property, 773<Out()> attribute, 594/out flag, 38, 477/out: flag, 824/out option, VB 2008 compiler, 37outerEllipse object, 1114

Output property, HttpResponseType, 1250

Output-centric options, of VB2008 compiler, 37

OutputDirectory property, 169OutputStream property,

HttpResponse Type, 1251overloadable operators, 360overloaded methods, 136, 313overloading methods, 111–113Overloads keyword, 112overridable and overrides

keywords, 188–189Overridable keyword, 188, 193Overridable method, 244override keyword, 188, 456Overrides keyword, 188, 197overriding style settings, 1201

PP2P (peer-to-peer) services, 801pacing animation, 1190–1191Padding property, 1141PadLeft() property, String Class

Meaning, 84PadRight() property, String Class

Meaning, 84page coordinates, 939page coordinates, GDI+

coordinate systems, 939Page events, ASP.NET, 1253Page member, System.Web.UI.

Control, 1264Page object, 1298Page parent class, 1246Page property, System.Web.UI.

Control in ASP.NET, 1264Page type, 1215, 1247, 1250Page_Load() event, 1264Page_Load event handler, 1314Page_PreInit event, 1294<pages> element, 1291PageScale property, 934PageUnit property, 934, 940, 942Paint event, 892–893, 910, 923,

929, 935, 1028, 1168Paint event, GDI+, 935Paint event handler, 1035PaintEventArgs parameter, 935PaintEventArgs property, 935PaintEventHandler delegate, 935Palette method, Image type, 963Panel control, 1011–1012, 1104panels, 1131–1141

building Window’s Frameusing nested panels, 1156

Canvas panels, 1133–1135DockPanel panels, 1140

■INDEX 1359

Page 30: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

enabling scrolling for, 1141Grid panels, 1137–1139nested, 1141–1147

finalizing design, 1145finalizing implementation,

1146–1147menu system, 1142StatusBar type, 1144ToolBar type, 1143–1144

StackPanel panels, 1136–1137types of, 1132–1133, 1141WrapPanel panels, 1135–1136

ParallelActivity, WF, 847<param> elements, 167ParamArray, 104, 108–109<Parameter()> attribute, 774parameter arrays, 108parameter attributes, COM IDL,

584–585parameter, interface used as,

264–265Parameter modifier, 104Parameter object, ADO.NET data

providers, 655ParameterInfo class,

System.Reflectionnamespace, 488

parameterized commandobjects, ADO.NET, 688

ParameterizedThreadStartdelegate,System.ThreadingNamespace, 548, 551, 554

ParameterName property,ADO.NET DbParameter,688

<paramref> code comment, XMLElements, 166

parent class, 174parent forms, 924–925Parent member, System.Web.UI.

Control, 1264Parent property, 610, 617, 1264ParentRelations member, 715Parse() method, 788parsing

values from string data, 83XML content, 788

Partial keyword, 165, 902partial type modifier, 164–165partial types, 164–165passing reference types, 370–371,

372password character, 989/password option, 770Password property, 1130PasswordBox type, 1129–1131

PasswordChar property, 989,1130

Path type, 608, 1176–1177PathData, 953PathGeometry type, 1182PathGradientBrush, 953Peek() method, 296–297, 625PeekChar() method, 628peer-to-peer (P2P) services, 801Pen namespace,

System.Drawing, 930Pen object, 954, 957Pen properties, GDI+, 953–954Pen type, 953, 1180Pens collection, GDI+, 954Pens namespace,

System.Drawing, 930pens, WPF, 1180PeopleCollection class, 303performance-drive code, 302<permission> code comment,

XML Elements, 166persistence of cookies, ASP.NET,

1319Persistence property, 979Persistence services, WF, 846persistent cookie, 1319Person class, 370Person variable, 202PetName property, 1026PictureBox class, 884PictureBox component, 977PictureBox member variable, 966PictureBox type, 965–967, 1024PictureBox widget, 979, 1009PictureBoxSizeMode

enumeration, 966PictureBoxSizeMode.Stretch-

Image, 966PID (process identifier), 517,

521–522PID column, of Processes tab of

Windows Task Manager,518

pillars of OOP, 4encapsulation, 148–149inheritance, 149–150, 178overview, 148polymorphism, 150–151, 187

PInvoke (Platform InvocationServices), 6, 243

pipes, named, 801pixel unit of measure, GDI+, 940PixelOffsetMode property,

Graphics class, 934Platform Invocation Services

(PInvoke), 6, 243plus sign (+) icon, 476

Point class, 277Point namespace,

System.Drawing, 931Point object, 316Point structure, 316Point type, 400–401, 931Point variable, 127PointAsHexString() function, 127PointDescription type, 279PointF namespace,

System.Drawing, 931PointF type, System.Drawing

namespace, 931Point(Of T) types, 316Points property, 260Polygon type, 1176–1177polygons, GDI+, 970, 972Polyline type, 1176–1177polymorphic interface, 150, 173,

192, 196, 257, 1246polymorphic support

abstract classes andMustInherit keyword,191–192

building polymorphicinterface withMustOverride, 192–196

member shadowing, 196–198NotOverridable keyword,

190–191overridable and overrides

keywords, 188–189overriding with Visual Studio

2008, 190overview, 187

polymorphism, 148, 150–151, 195abstract classes, 191–192abstract methods, 192–196method hiding, 196override keyword, 188overview, 187virtual keyword, 188

polymorphism, description, 150Pop() member, System.

Collections.Stack type, 297<portType> elements, 814postbacks, 1224PreInit, ASP.NET Page events,

1253PreInit event, 1253, 1295PreRender event, Page type, 1253PresentationCore.dll file, 1053,

1187PresentationFoundation.dll

assembly, WPF, 1053Preview prefixed tunneling event,

1116

■INDEX1360

Page 31: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

PreviewMouseDown event fires,1115

primary module, 441, 457primary thread, defined, 518PrimaryKey member, 715PrimaryKey property, 715Print() method, 272PrintAllPetNames() method, 790PrintDataSet() method, 716–717,

723, 731PrintFormattedMessage()

method, 107PrintLocalCounter() method, 110PrintMessage() method, 105PrintPreviewDialog class, 884PrintState() subroutine name,

130PrintTable() method, 718Priority method, Thread type,

549–551PriorityBoostEnabled, System.

Diagnostics.Process, 520PriorityClass, System.

Diagnostics.Process, 521PriorityLevel, ProcessThread

type, 524Private access keyword, 155Private access modifier, 152private assemblies, 460, 461, 463private class member, 270private data, 154private key, 467privatePath attribute, 462, 465<privatePath> element, 473probing, 461, 462, 463Process class,

System.Diagnosticsnamespace, 520

process identifier (PID), 517,521–522

processesdefined, 517module set example code, 524overview, 517process manipulation example

code, 521–522starting and stopping example

code, 526System.Diagnostics

namespace, 519thread examination example

code, 522Processes tab of the Windows

Task Manager, 517ProcessExit event, System.

AppDomain, 528, 530ProcessModule type,

System.Diagnosticsnamespace, 520

ProcessModuleCollection,System.Diagnosticsnamespace, 520

ProcessName, System.Diagnostics.Process, 521

ProcessorCount property,System.Environment, 73

Process.Start() method, 526ProcessStartInfo,

System.Diagnosticsnamespace, 520

ProcessThread,System.Diagnosticsnamespace, 520

ProcessThread type, 524ProcessThreadCollection,

System.Diagnosticsnamespace, 520

ProcessUsernameWorkflow class,854, 858

ProcessUsernameWorkflow.vbfile, 852

production-level class definition,154

ProductName property, 887ProductVersion property, 887Profile property, 1325, 1327, 1330<profile> element, 1325Profile.Address, 1329ProfileCommon type, 1330Program class, 423, 777, 784Program module, 490Program type, 774ProgressBar control, 1104projectless manner, 1242properties, 156

adding to custom controls,1026–1029

internal representation,158–159

Properties property, Applicationtype, 1054

Properties window, 853, 990,1024

Property keyword, 156.property tag, 452PropertyChanged event, 772PropertyChanging event, 772PropertyChangingEventHandler

delegate, 772PropertyCollection object, 707<PropertyGroup> element, 1073PropertyInfo class,

System.Reflectionnamespace, 488

PropertyInfo.GetValue() method,510

Proposed value, 714Protected access modifier, 152

protected data, 183Protected field data, 183Protected Friend access modifier,

152protected keyword, 182–183Protected subroutines, 183ProtectionLevel property, 814provider attribute, Profile Data,

1326provider factory model,

ADO.NET, 671–673proxy code

generating with svcutil.exe,824–825

generating with Visual Studio2008, 825–826

Public access modifier, 130, 152public key, 467public key value, 438Public keyword, 127, 187, 453,

636Public members, 268public methods, 182public properties, 182public String field, 55Public subroutine, 134.publickey tag, 469publicKeyToken attribute, 479.publickeytoken directive, 451PublicNotCreatable property, 589public/private key data, 467publisher policy assemblies,

477–478<publisherPolicy> element, 478Push() member,

System.Collections.Stacktype, 297

QQC (Queued Components), 797query expressions, 390, 409–410

LINQ, 412–417applying, 418–419building using Enumerable

type, 422–423deferred execution, 415–416extension methods, 415immediate execution, 417implicitly typed local

variables, 414query operators, 409–410, 413

LINQ, 420building query expressions

using Enumerable type,422–424

building query expressionswith, 421–422

Enumerable extensionmethods, 425

■INDEX 1361

Page 32: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

Enumerable.Except()method, 431

orderby operator, 430–431projecting new data types,

429Reverse<T>() method, 430selection syntax, 426where operator, 428–429

query results, transforming toarray types, 432–433

QueryInterface() method, 594QueryOverInts() method, 415QueryOverStrings() method, 413QueryString member,

HttpRequest Type, 1248QueryString() method, 1228QueryString property, 1249QueryStringsWithSequenceAnd-

Lambdas() method, 422Queue class, System.Collections,

295Queue System.Collections class

type, 295–297Queued Components (QC), 797Queue(Of T) class, System.

Collections.Generic, 307queuing data, 797

RR method, Color object, 944r1 reference, 368r2 reference, 368RadialGradientBrush object,

1178RadialGradientBrush type, 1177RadioButton control, 995–998,

1103RadioButton types, 1120–1123

establishing logical groupings,1121

framing related elementsin Expanders types,

1122–1123in GroupBox types,

1121–1122RadiusX property, 1175RadiusY property, 1175RaiseEvent keyword, 340, 580RangeValidator control, ASP.NET,

1285, 1287Rank member, System.Array, 118raw delegates, 423RawUrl member, HttpRequest

Type, 1248RCW (Runtime Callable

Wrapper), 571, 578–580coclass reference count,

579–580

exposing COM types as .NETtypes, 578–579

hiding low-level COMinterfaces, 580

reachability objects, 239reachable objects, 234Read() method, 74, 621, 625, 628,

717ReadAllBytes() method, 619ReadAllLines() method, 619ReadAllText() method, 619ReadBlock() method, 625reading cookies, ASP.NET,

1321–1322reading from a text file, 624reading resources, 979–980ReadLine() method, 74, 625readOnly attribute, Profile Data,

1326read-only class properties, 160read-only fields, 163–164ReadOnly keyword, 154, 160read-only property, 160ReadOnly property, 710, 1013ReadOnlyCollection(Of T) class,

307ReadToEnd() method,

TextReader, System.IO,625

ReadXml() method, 708, 718ReadXmlSchema() method, 708,

718“Ready” state, 919Recent tab, 450Rect variable, 1173Rectangle class, 402Rectangle element, 1138Rectangle image, 966Rectangle namespace,

System.Drawing, 931Rectangle type, 376, 931,

1175–1176<Rectangle> element, 1170, 1186RectangleF namespace,

System.Drawing, 931RectangleF type, System.Drawing

namespace, 932Rectangle(F) type,

System.Drawingnamespace, 933

RectangleGeometry type, 1182rectWidth members, 1173Redim/Preserve syntax, 117Redirect() method, 1251redirecting users, ASP.NET, 1252/reference flag, 39, 41reference types, 86, 372reference-based semantics, 407

reference-based types, 365references

differences from classes andobjects, 233

memory management using,233–235

new keyword, 233–234reflection, 487, 511reflector.exe file, 30, 1197ReflectOverQueryResults()

method, 413RefreshGrid() method, 1313regasm.exe command-line tool,

600Region class, System.Drawing

namespace, 933Region namespace,

System.Drawing, 931Region type, 931Register() method, 1110registered data provider

factories, ADO.NET,672–673

registeringdependency properties,

1110–1111.NET types, 600

RegularExpressionValidatorcontrol, ASP.NET, 1285,1287

RejectChanges() method, 708RejectionHint property, 993relational databases, 778–779Relational operators, 97Relations property, 707relationships, defining, 773Release() method, 235, 579,

594–595<remarks> code comment, XML

Elements, 166RemotingFormat member, 715RemotingFormat property, 707,

719Remove() method, 84, 331, 338,

778, 790, 985, 1307, 1309,1317

RemoveAll() method, 1307, 1309,1317

RemoveAt() method, 985, 1307RemoveHandler statement, 344,

349RenderOpen() method, 1172RenderTransform property, 1186RenderTransformOrigin

property, 1186, 1195RepeatBehavior property, 1188,

1191RepeatButton control, 1103

■INDEX1362

Page 33: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

RepeatButton type, 1119–1120Request object, 1228, 1247Request property, 1247, 1305request states, 848Request.Form collection, 1228Request.QueryString() method,

1228request/response cycle, HTTP,

1216RequestType member,

HttpRequest Type, 1248RequiredFieldValidator control,

ASP.NET, 1285–1286resgen.exe utility, 973, 975–976ResizeMode attribute, 1162Resource Build Action,

1196–1197resource dictionary, 1199/resource flag, 973resource writers in .NET, 976ResourceManager method,

System.Resourcesnamespace, 973

ResourceManager type, 979–980ResourceReader method,

System.Resourcesnamespace, 973

ResourceResolve event,System.AppDomain, 528

*.resources file, 976resources in .NET, 973–976resources using Visual Studio

2008, 977–979ResourceWriter method,

System.Resourcesnamespace, 973

ResourceWriter type, 976response files, VB 2008, 40Response objects, 1228Response property, 1247, 1250,

1305Response.Cookies property, 1319Result property, 854Resume() method, 549*.resx file, 902, 973–976, 979, 1020ResXForm.resx file, 974ResXResourceReader method,

System.Resourcesnamespace, 973

ResXResourceWriter class, 974,976

ResXResourceWriter type, 976ResXResourceWriter.Add-

Resource() method, 974retained mode graphics, 1167Return keyword, 104return value, interface used as,

266

<returns> code comment, XMLElements, 166

ReturnType property, 493Reverse() method, 118, 430ReverseDigits() method, 392–393Reverse<T>() method, 430reversing animation, 1191rich controls, 1267RichTextBox control, 1103RichTextBox property, 1131Right property, 892Right value, 1040Root property, DirectoryInfo

class, 610RotateTransform object, 1186,

1195RotateTransform type, 1185–1186roundButtonTemplate template,

1207RountedEventArgs type, 1114routed bubbling events,

1113–1115routed events, 1112–1116

bubbling, 1113–1114tunneling, 1115–1116

routed tunneling events,1115–1116

RoutedEventHandler delegate,1063, 1112

RoutedUICommand type, 1147row numbers, 729<RowDefinition> element, 1138RowError property, 712RowPostPaint event, 729rows

programmatically deleting,723–724

selecting based on filtercriteria, 724

updating, 726–727RowState property, 712–715*.rsp files, 40, 41Run() method, 887, 1054runat="server" attribute, 1237,

1290runtime, 91, 163Runtime Callable Wrapper.

See RCW (RuntimeCallable Wrapper)

runtime engine, 845<runtime> element, 462runtimes, MFC, VB 6, Java and

.NET, 21RunWorkerAsync() method, 567RunWorkerCompleted event, 567RunWorkerCompletedEventArgs.

Result property, 568

SSandcastle tool, 170satellite assemblies, 441Save() method, Image type, 963SaveAs() method, 1248SavingsAccount class, 145, 147SByte keyword, 77ScaleTransform type, 1185Scheduling services, WF, 846script code, 1300<script> blocks, 1244, 1254, 1261,

1303scripting languages, 1225ScrollableControl class, 896, 1011ScrollBar control, 1103, 1151ScrollBar type, 1056, 1153<ScrollBar> element, 1151ScrollBars property, 989, 990scrolling, enabling for panel

types, 1141<ScrollViewer> type, 1141sealed classes, 183–184, 190sealing, 176<see> code comment, XML

Elements, 166<seealso> code comment, XML

Elements, 166Seek() method, 621, 627Select() method, 724, 740select operator, 425, 427Select statement, 98, 429Select/Case statement, 99SelectCommand member, 730SelectCommand property, 731SelectedIndex object, 1127SelectedIndex property, 1014,

1126SelectedItem property, 1014,

1126, 1163SelectedValue property, 1126SelectionChanged event, 1157,

1205SelectionChanged handler, 1160SelectionEnd property, 1005SelectionStart property, 1005self-describing assemblies, 438Semaphore type,

System.ThreadingNamespace, 548

SendAPersonByValue() method,371

separation of concerns principle,886–887

<Separator> element, 1143SequenceActivity, WF, 847Sequence.Where<T>() method,

422

■INDEX 1363

Page 34: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

Sequential Workflow consoleapplication, 844, 852

Sequential Workflow Libraryproject, 873

SequentialWorkflowActivity type,852

<Serializable> attribute, 501–502,1324, 1329

serializationBinaryFormatter object graph

contents, 646collections, 645configuring objects for, 636customizing, 645–646customizing using attributes,

649–650customizing using

ISerializable, 647–648definition, 633GetObjectData() method,

647–648IFormatter interface, 637–638IRemotingFormatting

interface, 637–638object graph, 634overview, 633persisting collections of

objects, 644–645persisting user preferences

example, 634public and private fields,

public properties, 636Serializable attribute, 636type fidelity, 638

SerializationFormat.Binary file,719

SerializationInfo class, 646SerializationInfo parameter, 650Serialize() method,

BinaryFormatter class, 501serializeAs attribute, 1326, 1330Serialized attribute, 502Server, ASP.NET HttpApplication

members, 1305server controls in ASP.NET,

1261–1263/server option, 770Server property, 1247, 1256, 1304,

1305server-side script, 1227Server.Transfer() method, 1252ServerVariables member,

HttpRequest Type, 1248service behavior, 822service contracts, 808service types, 808, 815–816<service> element, 817, 822Service1.vb file, 830

<ServiceContract()> attribute,808, 813, 814

ServiceContractAttribute type,814

serviced component, 797ServiceHost type, 807, 817,

819–820serviceHostingEnvironment

subelement, 821service-oriented architecture

(SOA), 802–803ServiceReference namespace,

825services subelement, 821<services> container element,

817Service.svc file, 839session cookies, 1319session data, ASP.NET, 1315, 1317Session property, 1247, 1299,

1305session variable, 1299Session_End() event handler,

1304, 1315Session_Start() event handler,

1304, 1315SessionID property, 1317SessionMode property, 814sessionState element,

web.config, ASP.NET, 1257,1322

<sessionState> element, 1318overview, 1321–1322storing session data in

ASP.NET session stateserver, 1322

storing session data indedicated database, 1323

<sessionState> element,web.config File, 1257

Session.Timeout property, 1318Set scope, 157set_SocialSecurityNumber()

method, 159SetDriverName() method, 137SetF1CommandBinding()

method, 1149SetLength() method, Stream

class, System.IO, 621<Setter> element, 1199, 1202,

1203–1204, 1210Setter/Getter tokens, 486Settings.Settings File, 746–747SetValue() method, 1111shadowing, 196Shadows keyword, 197shallow copy, 275–278

Shape base class, 196Ellipse type, 1175–1176Line type, 1175–1176Path type, 1176–1177Polygon type, 1176–1177Polyline type, 1176–1177Rectangle type, 1175–1176

Shape class, 149Shape parent class, 260Shape type, 151, 193, 1169, 1174Shape-compatible types, 262Shape-derived types, 1169–1170

Shape base class, 1175–1177Ellipse type, 1175–1176Line type, 1175–1176Path type, 1176–1177Polygon type, 1176–1177Polyline type, 1176–1177Rectangle type, 1175–1176

shared assembly, 466shared constructor, 148Shared field data, 144Shared keyword, 69

overview, 142Shared constructors, 147–148Shared data, 144–147Shared methods (and fields),

142–144Shared keywords, 334shared members, 65, 142Shared method, 145Shared properties, 160–161SharpDevelop, 43–46Shift property, 892, 896shopping cart application,

ASP.NET, 1315, 1317ShoppingCart class, 1324Short keyword, 77Short variable, 89, 299Show() method, 893, 1061ShowDialog() method, 897, 944,

952, 1036ShowInstructions() method, 693ShowInstructions method, 853ShowInTaskbar property, 897,

1035ShowMessageBox property, 1289ShowSummary property, 1289Shutdown() method, 1062Silverlight, 1052–1053simple controls, 1267SimpleArrays() method, 113SimpleComServer.dll file, 573SimpleInventory.xml file, 786SimpleLine object, 1176SimpleMath class, 332, 356SimpleMath object, 356

■INDEX1364

Page 35: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

SimpleXamlApp.exe program,1193

SimpleXamlApp.vbproj file, 1073SimpleXamlPad.exe, 1095–1099,

1204single file code model, ASP.NET,

1231Single keyword, 78single logical parameter, 108single-file assemblies, 12single-file assembly, 441single-file page model, 1231SinglePageModel, 1244sink object, 285, 287, 289*.sitemap file, 1272SiteMapNavigation type, 1275<siteMapNode> element, 1273SiteMapPath type, 1275SiteMapPath widget, 1280Size class, 933Size method, Image type, 963Size namespace,

System.Drawing, 931Size property, ADO.NET

DbParameter, 689Size type, 931SizeF class, 933SizeF namespace,

System.Drawing, 931SkewTransform object, 1186SkewTransform type, 1185SkinID member, System.Web.UI.

Control, 1264SkinID property, 1264, 1292Sleep() method, Thread type, 548Slider control, 1103SmallChange property, TrackBar,

1009SMEs (subject matter experts),

844SmoothingMode property,

Graphics class, 934sn.exe, strong name utility,

467–468*.snk file, 467, 585, 599SOA (service-oriented

architecture), 802–803*.soap file, 649SoapFormatter, serialization, 640SoapFormatter type, 638SocialSecurityNumber property,

158sockets, 801SolidColorBrush object, 1177SolidColorBrush type, 1155,

1177–1178<SolidColorBrush> element,

1178

Solution Explorer, 49, 852SomeClass class, 446Sort() method, 118, 281Sorted property,

DomainUpDown, 1014SortedDictionary(Of K, V) class,

System.Collections.Generic, 307

SortedList class,System.Collections, 295

SortedList System.Collectionsclass type, 295

sorting and paging example,ASP.NET, 1280–1281

SoundPlayerAction control, 1104Source attribute, 1162Source property, 1183, 1196specifying DbParameter

parameters, ADO.NET, 690Speed property, 1027SpeedRatio property, 1188SpeedUp() method, 130SpellCheck.IsEnabled property,

1129SpellingError object, 1130SpinButtonWithLinearKey-

Frames.xaml file, 1195Splitter class, 884/sprocs flag, 774/sprocs option, 771SQL, programming with LINQ to,

765–770<Column()> attribute, 769–770DataContext type, 766–768entity classes, 765–766example, 766–768<Table()> attribute, 769–770

SqlCommand object, 686, 733,751, 775, 1313

SqlCommand type, 734, 765SqlCommandBuilder property,

734SqlCommandBuilder type,

configuring Data Adapter,733–734

SqlConnection type, 765SqlConnectionStringBuilder

type, 768SqlDataAdapter member

variable, 733SqlDataAdapter object, 734, 756SqlDataAdapter type, 765SqlDataSource type, 1278SqlMetal.exe, generating entity

classes with, 770defining relationships, 773programming against

generated types, 774–776

strongly typed DataContexttype, 773–774

SqlParameter object, 751SqlParameter type, 734SqlProfileProvider, 1325square brackets, 203, 513Square type, 376SquareNumber() method, 332,

333Stack class, System.Collections,

295Stack System.Collections class

type, 295, 297stack/heap memory transfer, 301Stack(Of T) class, System.

Collections.Generic, 307StackPanel control, 1104, 1113StackPanel objects, 1127StackPanel panels, 1136–1137<StackPanel> element, 1106,

1119, 1125, 1130, 1152,1160, 1168–1169, 1173

StackTrace property, System.Exception, 210, 215–216

Start() method, 349, 521, 549StartCap property, Pen type, 954StartFigure() method, 971starting and stopping processes,

example code, 526StartLineCap controls, 1180StartPosition property, 897StartType property, 833Startup event handler, 1064StartUp Object/Main() sub

distinction, 904–905StartupEventArgs delegate, 1061StartupEventArgs parameter,

1064StartupEventHandler delegate,

1061StartupLocation.CenterScreen

value, 1076StartupPath property, 887StartupUri property, 1054, 1072,

1075state data, multithreaded

applications, 546–547state machine workflows, 848state management overview,

1261, 1297state management problems,

1297–1299state management techniques,

1299application cache, 1310application shutdown,

1309–1310

■INDEX 1365

Page 36: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

application-level state data,1306–1308

applications vs. sessions, 1305ASP.NET profile API

acessing profile dataprogrammatically,1326–1328

ASPNETDB database,1324–1325

defining user profile withinweb.config, 1325–1326

grouping profile data andpersisting custom objects,1329–1330

overview, 1324control state, state

management, 1302cookies creation, 1319cookies overview, 1318custom view states, state

management, 1302data caching, 1311–1314Global.asax file, 1303–1304HttpApplication type overview,

1297HttpSessionState members,

1317maintaining session data,

1315, 1317modifying application data,

1309overview, 1297per user data stores, 1315, 1317persistence of cookies, 1319problems in state

management, 1297–1299reading cookies, 1321–1322role of <sessionState> element

overview, 1321–1322storing session data in

ASP.NET session stateserver, 1322

storing session data indedicated database, 1323

session cookies, 1319session data, 1315, 1317state management overview,

1297state management techniques,

1299view state, state management,

1300–1301Web.config, 1322

State property, 679, 820StateBag type, 1302stateConnectionString attribute,

1322

stateless wire protocol, 1216,1297

statement continuationcharacter, 95–96

statements (in general), 94static classes, 160, 391, 395static data, methods containing,

110Static keyword, 110, 142–143,

145–147static local variables, methods

containing, 110StaticResource markup

extension, 1155, 1200,1203

StatusBar class, 884StatusBar control, 1104StatusBar type, 1144StatusCode property,

HttpResponse Type, 1251StatusDescription property,

HttpResponse Type, 1251StatusStrip type, 913–919

designing, 914–917designing menu systems, 914displaying menu selection

prompts, 918–919establishing “Ready” state, 919overview, 913Timer type, 917toggling displays, 917–918

Step keyword, 100stored procedures using

DbCommand, ADO.NET,690

Storeyboard.TargetName value,1194

<Storyboard> element, 1192,1195

Storyboard.TargetProperty value,1194

Stream class, 620–621Stream class, System.IO, 620, 621StreamingContext parameter,

650StreamReader object, 623, 625StreamWriter object, 623, 625Stretch property, 1175StretchBox() function, 1025strFontFace string variable, 949String class, 204string concatenation, 85String data type, 70, 86, 130, 579,

782String keyword, 78, 82–83String member variable, 1115,

1299String objects, 86, 87

String parameter, 181String type, 82, 739<StringAnimationUsingKey-

Frames> element, 1194StringBuilder class, 88, 924String.Concat() method, 85StringDictionary member,

System.Collections.Specialized Namespace,298

StringEnumerator member,System.Collections.Specialized Namespace,298

String.Format() method, 76StringFormat namespace,

System.Drawing, 931StringTarget() method, 325Stroke property, 1175StrokeDashArray property, 1175StrokeEndLineCap property,

1175StrokeThickness property, 1175strong names, 438, 451, 467–468,

470, 599–600strongly typed collection, 302strongly typed events, defining,

347–348Structure keyword, 126structure types, 17, 69, 126–128structured exception handling

advantages, 208application-level exceptions,

219–221blending VB 6.0 error

processing with, 230bugs, description, 207catching exceptions, 213configuring exception state,

214custom exceptions, 219–221entities used in, 209exceptions, description, 207finally block, 226–227generic exceptions, 212–213,

224inner exceptions, 225–226keywords used, 209multiple exceptions, 222–224overview, 207possible .NET exceptions, 227rethrowing exceptions,

224–225simple example, 210–213System.Exception, 209–213system-level exceptions, 218System.Serializable attribute,

221

■INDEX1366

Page 37: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

template, exception, 222throwing an exception,

212–213traditional exception handling,

208try/catch block, 213typed exceptions, 227–228unhandled exceptions, 228user errors, description, 207Visual Studio 2008 features,

227–229structures and enumerations,

value based types, 366style sheets, 1289<Style> element, 1199styles, for WPF controls,

1198–1206assigning implicitly, 1203assigning programmatically,

1205–1206defining with triggers,

1203–1204inline, 1198–1199named, 1199–1200narrowing, 1202overriding settings, 1201subclassing existing, 1201widening, 1202

StyleWithTriggers.xaml file, 1204Sub keyword, 103, 331Sub Main() method, 69, 885, 887,

894, 904–905subclasses, 194, 1201subject matter experts (SMEs),

844Submit button, 1226, 1288SubmitChanges() method, 778submitting form data, ASP.NET,

1226–1227subroutines

vs. functions, 103and functions, defining

ByRef parameter modifier,105–107

ByVal parameter modifier,104–105

defining optionalarguments, 107–108

method callingconventions, 109

methods containing staticdata, 110

methods containing staticlocal variables, 110

overview, 103–104working with ParamArrays,

108–109subset data type, 390

subset variable, 413Subtract() method, 334, 399, 597Suggestions property, 1130<summary> code comment,

XML Elements, 166SuppressContent property,

HttpResponse Type, 1251Suspend() method, Thread type,

549SuspendActivity, WF, 847*.svc file, 806, 839, 840SvcConfigEditor.exe file, 811,

828–829svcutil.exe tool, 822, 824–825Swap() method, 313, 316, 322swellValue data member, 949Synchronization attribute, 533synchronization attribute,

multithreadedapplications, 562

synchronizing threads, 543–544synchronous delegate call, 328SyncLock keyword, 1314SyncLock statement, 1309Sysem.Windows.Shapes.Shape

namespace, 1169system data types

data type class hierarchy,80–81

default values of data types,79–80

experimenting with numericaldata types, 81–82

members of System.Boolean,82

members of System.Char,82–83

“New-ing” intrinsic data types,81

overview, 77–78parsing values from string

data, 83variable declaration and

initialization, 78–79System namespace, 24, 77, 420,

1236System.Activator class, late

binding, 498–499System.AppDomain class, 527,

528, 529, 530System.ApplicationException,

structured exceptionhandling, 219–221

System.Array class, 118–120, 281,283, 415

System.Array object, 433System.Array type, 413System.Attribute base class, 501

System.Boolean, 82, 310, 384, 966System.Char, 82–83SystemCLSCompliant() method,

21System.Collections, 419System.Collections class types,

294ArrayList, 294–295Hashtable, 294Queue, 295–297SortedList, 295Stack, 295, 297

System.Collections interfaces,292–294

System.Collections namespace,24, 102, 273, 292, 300, 302

System.Collections.ArrayList,1330

System.Collections.ArrayListmember variable, 303

System.Collections.Dictionary-Entry class type, 294

System.Collections.Genericnamespace, 24, 291, 317,323, 417

System.Collections.Generic.EqualityComparer<T>type, 405

System.Collections.Generic.List<>, 306–309

System.Collections.Generic.List(Of T) class, 305, 306

System.Collections.ObjectModelnamespace, 1158

System.Collections.Queue type,296

System.Collections.Specialized,298

System.Collections.Stack type,297

SystemColors namespace,System.Drawing, 930

System.ComponentModel, 891,898, 1030, 1031

System.Configurationnamespace, 480

System.Configuration.dllassembly, 735

System.Configuration.dll file, 738System.Console class

basic input and output with,74

formatting output, 74–75.NET string formatting flags,

75–76overview, 73–74

System.Console type, 38, 58

■INDEX 1367

Page 38: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

System.ContextBoundObject,532–533

System.Convert, 94System.Core namespace, 768System.Core.dll assembly, 411,

420, 759, 761System.Data, ADO.NET, 659System.Data namespace, 24, 654,

705, 761System.Data.Common

namespace, 732System.Data.Common.Data-

TableMapping type, 732System.Data.DataSetExtensions.

dll assembly, 759, 761System.Data.DLinq.dll assembly,

411System.Data.Extensions.dll

assembly, 411System.Data.Linq namespace,

767–768System.Data.Linq.dll assembly,

411, 760, 766, 771, 776System.Data.Linq.Mapping

namespace, 765, 767System.Data.Odbc namespace,

24System.Data.OleDb namespace,

24System.Data.OracleClient

namespace, 24System.Data.SqlClient

namespace, 24, 685, 1234System.Delegate base class, 331System.Delegate.Combine()

method, 337System.Diagnostics namespace,

520<system.diagnostics> element,

464System.Diagnostics.Process,

520–521SystemDirectory property,

System.Environment, 73System.dll and System.Windows.

Forms.dll assemblies, 886System.Drawing, GDI+

namespaces, 929System.Drawing namespace, 24,

894, 934, 946, 957core types, 930–931GDI+, 930PointF type, 931RectangleF type, 932Rectangle(F) type, 933Region class, 933utility types, 931

System.Drawing.Brush, 957

System.Drawing.Brush-derivedtypes, 957

System.Drawing.Color object,1009

System.Drawing.Color.From-Name() method, 908

System.Drawing.dll, 1047System.Drawing.Drawing2D, 953System.Drawing.Drawing2D,

GDI+, 929, 953System.Drawing.Drawing2D

namespace, 929, 953, 959,971

System.Drawing.Font, GDI+,945–946

System.Drawing.Font type, 945System.Drawing.Graphics class,

933, 934, 935System.Drawing.Graphics object,

931System.Drawing.Image, 963, 965System.Drawing.Imaging

namespace, GDI+, 930System.Drawing.Point type, 931System.Drawing.Printing

namespace, GDI+, 930System.Drawing.Text

namespace, 930, 950System.EnterpriseServices

namespace, 797System.Enum class, 122–124, 126System.Environment class, 72–73System.Environment type, 70–71System.EventArgs base class, 345,

349System.EventArgs parameter, 348System.EventHander delegate,

349System.EventHandler, 348, 857,

889–890, 1237System.Exception, 1304

Data property, 210, 216–217HelpLink property, 210, 216InnerException property, 210Message property, 210,

220–221StackTrace property, 210,

215–216TargetSite property, 210,

214–215System.GC, 240–242System.Guid, 277–279, 709System.IComparable interface,

280SystemIcons namespace,

System.Drawing, 930System.IdentityModel.dll

assembly, 804

System.IDisposable interface,233

System.Int32 type, 384, 393, 397System.IO namespace, 24, 444System.IO.Compression

namespace, 24, 108, 992System.IO.Pipes namespace, 801System.IO.Ports namespace, 24System.Linq namespace, 25, 412System.Linq.Enumerable type,

415, 420–421, 424System.MarshalByRefObject

class, 891System.Messaging namespace,

797System.MulticastDelegate class,

328, 331System.MulticastDelegate

namespace, 592System.MulticastDelegate/

System Delegatemembers, 331

System.Net.PeerToPeernamespace, 801

System.Net.Sockets namespace,801

System.Nullable(Of T) generictype, 291

System.Objectoverriding System.Object.

Equals(), 203–204overriding System.Object.

GetHashCode(), 204overriding System.Object.

ToString(), 203overview, 200–203shared members of, 205–206stimulating generic delegates

using, 325–326testing modified person class,

204–205System.Object argument, 345,

349, 857System.Object class, 81, 489, 891,

904, 907–908, 910, 912,914, 917–919, 921–926,1121

System.Object parameter, 889System.Object variable, 299System.Object vs.

System.ValueType, 366System.Object.Equals() method,

203–204, 363–364System.Object.Finalize() method,

233System.Object.GetHashCode()

method, 204

■INDEX1368

Page 39: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

System.Object.GetType()method, 115

System.Object.ToString()method, 203

System.OverflowException, 90SystemPens namespace, 930System.Query.dll assembly, 411System.Query.Func<A0, T>

delegate types, 422System.Random member

variable, 143System.Reflection namespace,

24, 483, 488, 490, 494, 514,586

System.Reflection.Assembly classtype, 461

System.Reflection.Emitnamespace, 24, 391

System.Reflection.MethodInfotypes, 490

System.Resources namespace,973

System.Runtime.InteropServicesnamespace, 24, 580,594–595

System.Runtime.Remotingnamespaces, 797

System.Runtime.Serializationnamespace, 804, 808

System.Runtime.Serialization.dllassembly, 804, 808

System.Security namespace, 25System.Serializable attribute,

structured exceptionhandling, 221

System.ServiceModelnamespace, 25, 801, 804,808, 813, 816

<system.serviceModel> element,817, 820–821, 839

System.ServiceModel.ClientBase<T> class, 824

System.ServiceModel.Configuration namespace,804

System.ServiceModel.Descriptionnamespace, 804

System.ServiceModel.dllassembly, 804, 813, 816,830

System.ServiceModel.MsmqIntegration namespace, 804

System.ServiceModel.Securitynamespace, 804

System.String attribute, 1325System.String class, 88System.String data type, 579

System.String member variable,898

System.String type, 1125basic String manipulation, 84and equality, 86overview, 83–84string concatenation (and

“Newline” constant),85–86

strings are immutable, 87–88System.Text.StringBuilder type,

88–89System.Text namespace, 88System.Threading namespace,

25, 328, 351, 563, 1309,1314

Interlocked type, 548Monitor type, 548Mutex type, 548ParameterizedThreadStart

delegate, 548, 551, 554Semaphore type, 548Thread type, 548ThreadPool type, 548, 564–565ThreadPriority enum, 548ThreadStart delegate, 548,

552–553ThreadState enum, 548Timer type, 548TimerCallback delegate, 548,

562, 564System.Type class, 489–490System.Type parameter, 490System.Uri objects, 818System.ValueType, 366System.ValueType class, 81, 259,

366System.Web namespace, 25, 1231<system.web> element, 1291,

1325System.Web.Caching

namespace, 1231System.Web.Caching.Cache

object, 1310System.Web.Hosting namespace,

1231System.Web.HttpApplication

class, 1304, 1305System.Web.HttpCookie type,

1319System.Web.Management

namespace, 1231System.Web.Profile namespace,

1231System.Web.Security namespace,

1231System.Web.Services namespace,

798

System.Web.SessionStatenamespace, 1231

System.Web.UI namespace, 1231System.Web.UI.Control class,

1301–1302System.Web.UI.Control in

ASP.NET, 1263, 1264System.Web.UI.HtmlControls

namespace, 1231System.Web.UI.HtmlControls

widget, 1268System.Web.UI.Page class, 1247,

1300, 1305System.Web.UI.Page-derived

type, 1252, 1315System.Web.UI.Page.Request

property, 1247System.Web.UI.StateBag type,

1302System.Web.UI.TemplateControl

class, 1246System.Web.UI.WebControls

namespace, 1231,1261–1262

System.Web.UI.WebControls.Panel class, 1264

System.Web.UI.x namespace,ASP.NET 2.0, 1231

System.Window.Applicationclass type, 1054

System.Windows namespace, 25,1053, 1172

System.Windows.Content-Control class, 1057

System.Windows.Controlsnamespace, 25, 1053,1062, 1107, 1132

System.Windows.Controls.Button type, 1208

System.Windows.Controls.ContentControl baseclass, 1056–1057

System.Windows.Controls.Control base class, 1057

System.Windows.Controls.Primitives namespace,1118

System.Windows.Datanamespace, 1153

System.Windows.DependencyObject base class, 1059,1111

System.Windows.Dependency-Property class type, 1110

System.Windows.Documentsnamespace, 1131

■INDEX 1369

Page 40: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

System.Windows.Formsnamespace, 24, 39, 256,552, 883–885, 924, 944,983, 987, 995, 1035, 1262

System.Windows.Forms.ContainerControl class,891

System.Windows.Forms.Controlclass, 891, 983

System.Windows.Forms.dllassembly, 450, 885, 1047

System.Windows.Forms.Formclass, 885, 891, 1062

System.Windows.Forms.ScrollableControl class,891

System.Windows.Forms.Tree-Node object, 1018

System.Windows.Forms.Web-Browser control, 1021

System.Windows.Input.KeyEventHandler delegate, 1069

System.Windows.Markupnamespace, WPF, 1054

System.Windows.Medianamespace, 1054, 1172

System.Windows.Media.Animation namespace,1167, 1187, 1193

System.Windows.Media.Brushnamespace, 1177

System.Windows.Media.Colortype, 1177

System.Windows.Media.Drawingabstract base class, 1170

System.Windows.Media.Drawingclass, 1181

System.Windows.Media.Drawingnamespace, 1168

System.Windows.Media.Geometry base class, 1181

System.Windows.Media.Shapestypes, 1182

System.Windows.Media.Timelinebase class, 1188

System.Windows.Media.Visualbase class, 1059

System.Windows.Media.Visualclass type, 1170

System.Windows.Media.Visualnamespace, 1168

System.Windows.Navigationnamespace, WPF, 1054

System.Windows.RoutedEvent-Args parameter, 1112

System.Windows.Shapesnamespace, 1054,1168–1169, 1175

System.Windows.Threading.DispatcherObject baseclass, 1059

System.Windows.UIElementbase class, 1058

System.Windows.Window type,1055

System.Workflow.Activitiesnamespace, 25, 847, 850

System.Workflow.Activities.dllcore assembly, 850

System.Workflow.Component-Model.dll core assembly,850

System.Workflow.Runtimenamespace, 25, 850

System.Workflow.Runtime.dllcore assembly, 850

System.Workflow.Runtime.Hosting core namespace,850

System.Xml namespace, 25, 410,1164

System.Xml.dll assembly, 779System.Xml.Linq namespace, 25,

780, 789System.Xml.Linq.dl assembly,

411System.Xml.Serialization

namespace, 643System.Xml.XLinq namespace,

780–783System.Xml.XLinq.dll assembly,

411

Ttab order for controls, 1003TabControl control, 1008–1009,

1103TabIndex property, 988, 1267TabIndex value, 1003, 1162TabIndexTSRTabStop property,

892<Table()> attribute, 767, 769–770Table property, 710, 712table relationships

building, 738–739navigating between related

tables, 739–742TableAdapter component, 744TableAdapterManager type, 755TableAttribute type, 767TableLayoutPanel, controls,

1041, 1043TableLayoutPanel type, 1041TableMappings property, 732TableName member, 715TableName property, 733

Table(Of T) type, 778Tables property, 706–707TabOrder property, 1003TabStop property, 1003Tag property, 1128Target property, 331, 334, 356TargetProperty property, 1192*.targets files, 1072, 1074TargetSite property, System.

Exception, 210, 214–215TargetType property, 1202–1203TCP-based bindings, 810–811template, exception code

expansion, 222Template property, 1207, 1210templates, altering WPF control

UI with, 1207–1211adding triggers to, 1208–1209custom, 1207–1208incorporating into styles,

1210–1211templating services, 1057temporary cookie, 1319temporary object variable, 57TerminateActivity, WF, 847TestApp class, 39TestApp.exe, 37, 42TestApp.rsp response file, 41TestApp.vb file, 38text areas, 1129–1131

PasswordBox type, 1130–1131TextBox type, 1129–1130

Text property, 892, 903, 908,917–918, 925, 968, 988,1013, 1155, 1249, 1252,1266, 1269

TextAlign property, 989, 993, 1013TextBlock type, 1144Textbox, 989TextBox control, 989–991, 1016,

1103, 1263TextBox type, 739, 986,

1129–1130, 1151, 1153,1203

TextBox widget, 1014, 1264, 1286TextBoxStyle style, 1203TextChanged event, 1012, 1263TextPad development editor, 43TextReader, System.IO, 625TextRenderingHint property,

Graphics class, 934textual identifier, 285TextureBrush, System.Drawing.

Brush, 960TextWriter class, 623TextWriter, System.IO, 623Theme attribute, 1292

■INDEX1370

Page 41: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

Theme, Page Type properties,ASP.NET, 1247

Theme property, Page Type, 1247themes, 1230, 1289Thickness property, 1180this keyword, 137–138, 391–392ThousandsSeparator property,

NumericUpDown, 1014ThousandsSeparator-

Hexadecimal property,NumericUpDown, 1014

Thread class, 537Thread Local Storage (TLS), 519Thread object, 328Thread type, 548–551ThreadExit event, 888ThreadPool type,

System.Threadingnamespace, 548, 564–565

threads, 236example code, 522hyperthreading, 519multithreading, 519overview, 518Thread Local Storage (TLS),

519time slice, 519

threads suspended duringgarbage collection, 236

Threads, System.Diagnostics.Process, 521

ThreadStart delegate,System.Threadingnamespace, 548, 552–553

ThreadState enum,System.Threadingnamespace, 548

ThreadState method, Threadtype, 549

ThreeDCircle type, 197ThreeState property, 996ThrowActivity, WF, 847Tick event, 917, 1027Tick handler, 951TickFrequency property,

TrackBar control, 1009TickStyle property, TrackBar

control, 1009time slice, defined, 519Timeline base class, 1188timeout attribute, <sessionState>

element, 1318Timeout property, 1318Timer member variable, 917Timer object, 948Timer type, 917, 1024, 1027Timer type, System.Threading

namespace, 548

TimerCallback delegate,System.Threadingnamespace, 548, 562, 564

TimeSpan object, 1190–1191Title member, System.Console,

74Title property, 1114<title> tags, 1221*.tlb file, 581, 601/tlb flag, 600tlbimp.exe utility, 585, 586, 590,

592TLS (Thread Local Storage), 519To keyword, 115To property, 1188, 1190ToArray() method, 296ToArray<T>() method, 417, 432,

433ToDictionary<K,T>() method,

417ToggleButton control, 1103ToggleButton type, 1118toggling displays, 917–918tokens in MaskedTextBox

control, 991ToList<T>() method, 417ToLower() property, 84ToolBar class, 884ToolBar control, 1104ToolBar type, 1143–1144<ToolBarTray> element, 1144<ToolboxBitmap()> attribute,

1033ToolsSpellingHints_Click()

method, 1143ToolStripButton types, 920ToolStripComboBox element,

905, 909, 920ToolStripContainer control,

922–923ToolStripDropDownButton

event, 918ToolStripDropDownButton type,

913, 916toolStripDropDownButtonDate-

Time member, 917ToolStripMenuItem element,

905, 907, 909–912, 918ToolStripMenuItem Type,

911–912ToolStripProgressBar type, 913ToolStrips type, 919–923ToolStripSeparator element, 906,

909, 920ToolStripSplitButton type, 913ToolStripStatusLabel type, 913,

916

toolStripStatusLabelClockmember variable, 917

toolStripStatusLabelClock pane,917

toolStripStatusLabelMenuStatemember variable, 918

ToolStripTextBox element, 906,908–909, 920

toolStripTextBoxColor control,908

ToolTip control, 1006, 1104ToolTip property, WebControl

base class, 1267tooManyCharactersErrorProvide

r, 1016Top property, 892, 1134ToString() method, 124, 201–202,

203–204, 278, 404–406,426, 429, 767, 1125, 1127,1159

TotalProcessorTime,ProcessThread type, 524

ToUpper() method, 84, 87Trace, ASP.NET <%@Page%>

directive attribute, 1236Trace attribute, 1241Trace attribute, <%@Page%>

directive, 1236trace element, web.config,

ASP.NET, 1257Trace property, 1241, 1247<trace> element, web.config File,

1257tracing support, 1241TrackBar control, 1009–1010Tracking services, WF, 846Transaction object, ADO.NET

data providers, 655Transaction services, WF, 846Transform abstract base class,

1184Transform() method, 933Transform property, 934, 1181transformations, 1185–1187Transform-derived types,

1185–1186<TransformGroup> type, 1185,

1186Translate() member, 933TranslateTransform() method,

939, 942TreeView class, 884TreeView control, 1016–1019,

1103, 1274TreeView type, 1274TreeViewEventArgs object, 1019<Trigger> element, 1192Trim() property, 84

■INDEX 1371

Page 42: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

triple tick (''') code commentnotations, 165

Try/Catch logic, 263, 908Try/Final block, 227TSRScrollBarTSRStatusStripTSR-

ToolStrip class, 884tunneling event, 1113TurboBoost() method, 448TwoWay mode, 1153type aliases, 446–448type attribute, 1223, 1326, 1330Type class, 489, 831type definition, 484type, determining, 199, 200type indexers, 304type library, 581, 585, 600type parameters, 291, 308,

320–322type reference, 484type reflection

AssemblyRef, 486description, 487example metadata, 485–486external private assemblies,

494–495fields and properties, 490implemented interfaces, 491metadata and type reflection,

483–484method parameters and return

values, 493–494methods, 490other metadata, 491overview, 483shared assemblies, 496–498TypeDef, 484–485TypeRef, 484–485User Strings, 487

typed exceptions, structuredexception handling,227–228

TypeDef, 484–485TypedTableBaseExtensions type,

761Type.GetCustomAttributes()

method, 509Type.GetFields() method, 488Type.GetMethod() method, 499Type.GetMethods() method, 488,

490typeof operator, 490TypeOf/Is construct, 986TypeOf/Is syntax, 247TypeRef, 484–485TypeRef token, 484TypeResolve event,

System.AppDomain, 528types, five categories of, 16

U/u option, gacutil.exe, 470UBound() helper function, 115ufo.netmodule binary, 458ufo.vb file, 458UI elements, 1049UIElement base class, 1058, 1182UIElement element, 1169UInteger keyword, 77ULong keyword, 78unbound generic type, 320unbound type parameters, 320unboxing custom value types,

301Unchanged value, 713Unchecked events, 1118undefined value, 311underbar ( _ ) token, 95unhandled exceptions,

structured exceptionhandling, 228

UnhandledException event,System.AppDomain, 528

UninstallSqlState.sql file, 1323Union() member, 933unique name/value type pairs,

407Unique property, 710unit of measure, GDI+, 940Unload, ASP.NET Page events,

1253Unload event, Page type, 1253Unlock() method, 1307, 1309,

1314unmanaged code, 571unmanaged resources, 233, 240,

243–250Until clause, 101Update() method, 730UpdateCarInventory() method,

1312UpdateCarPetName() method,

695UpdateCheck property, 770UpdateColor() function, 1011UpdateCommand property, 733UpdateInventory() method,

735–736updating

applications using sharedassemblies, 473

database tables, 739existing items in relational

databases, 778records, ADO.NET, 687rows, 726–727web.config file, 839

UpDown control, 1013–1014

UpDownAlign property,UpDownBase, 1013

UpDownBase, 1013Uri class, 831Url property, 1021UseMnemonic property, 988user errors, description, 207/user option, 770User Strings token, 487UserControl Test Container, 1028UserControls, 1270UserHostAddress member,

HttpRequest Type, 1248UserHostName member,

HttpRequest Type, 1248UserMessageDialog instance,

1037UserName property,

System.Environment, 73userName string member

variable, 854UserShoppingCart class, 1316UserTheme session variable,

1295UseThisObject() method, 300UShort keyword, 77using keyword, 247–248Using keyword, 248, 455

VValidated property, Control, 1015ValidateInput() method, 1248Validating event handler, 1015Validating property, Control,

1015validation controls, ASP.NET,

1285–1288validation schemes, 1220ValidationExpression property,

1287ValidationSummary control,

ASP.NET, 1285, 1288ValidationSummary widget, 1288value and reference types,

conversion, 298Value members, 311Value property, 311, 689, 1009,

1014, 1269value types and reference types,

365–373<value> code comment, XML

Elements, 166value-based semantics, 203value-based types, 365ValueChanged event, 1151VB 2008 class type

allocating objects with Newkeyword, 132

■INDEX1372

Page 43: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

creating objects with Newkeyword, 132–133

overview, 129–131VB 2008 Client, 573–575, 590–591VB COM server, 582–583*.vb files, 39, 445–446, 853, 886,

976VB6 COM server, 587–589VB6 language deficiencies, 4Vb6ComCarServer.dll assembly,

590VbAutoLotWCFService type, 838vbc.exe command-line compiler,

35, 70vbc.exe compiler

command-line flags, 37–38compile parameters, 37–38default response file (vbc.rsp),

41–43INSERT-FORARDSLASH-

HEREnostdlib command-line flag, 38–39

mscorlib.dll, 38–39multiple external assemblies,

40multiple source files, 39–40/noconfig command-line flag,

41–43/reference command-line flag,

39referencing external

assemblies, usingkeyword, 38–39

response files, 40–41wildcard character, 40

VbDotNetCalc.tlb file, 601VbNetSnapIn.dll assembly, 512,

515*.vbproj files, 1072, 1079, 1242VBScript support, 1225vector graphics, 1050<VehicleDescription()> attribute,

507VehicleDescriptionAttribute

class, 509–510.ver directive, 451.ver token, 469version number of assemblies,

438Vertical property, 1135VerticalAlignment property, 1207VerticalResolution method,

Image type, 963VeryComplexQueryExpression

type, 425VideoDrawing type, 1181View In Browser menu option,

1235

view state, 1266, 1300–1301Viewbox control, 1104/views option, 771VIEWSTATE field, 1300–1301__VIEWSTATE form field, 1229ViewState property, 1302, 1307virtual directory, 1217virtual keyword, description, 188virtual members, 150, 188, 190virtual methods, 188, 192Visible member, System.Web.UI.

Control, 1264Visible property, 892, 1012, 1264VisibleClipBounds property,

Graphics class, 934Visual Basic 6.0 test client,

602–603Visual Basic .NET integration

with C#, 456–457, 459–460Visual Basic snap-in example,

513Visual C# Express, 46Visual Studio 2008

additions available, 48automated coding support,

52–53building entity classes with,

776–779, 783deleting existing items,

778–779inserting new items, 778updating existing items, 778

building WPF applicationsusing, 1091–1095

Class View, 51command prompt, 36data access tools of, 742–753

App.config File, 746–747DataGridView designer,

742–746generated data adapters,

751generated DataRow class,

749–750generated DataSet type,

747–749generated DataTable class,

749–750Settings.Settings File,

746–747using generated types in

code, 753FxCop, 61generating proxy code with,

825–826generating resources, 977–979inserting COM class with,

598–599

integrated Help system, 58–59Lutz Roeder’s Reflector for

.NET, 61NAnt, 61NDoc, 61New Project dialog box, 48Nunit, 61Object Test Bench, 57overview, 47project configuration (Project

Properties), 50project templates, 805–806Solution Explorer, 49Visual Class Designer, 53–56Windows Forms projects,

900–905dissecting, 902–903implementing events at

design time, 904overview, 900–902StartUp Object/Main() sub

distinction, 904–905WPF controls, 1104

VisualBrush type, 1177VisualChildrenCount read-only

property, 1172Visual-derived types, 1171–1172,

1174/vpath: option, 1219

WWaitReason, ProcessThread type,

524WCF (Windows Communication

Foundation) Serviceaddresses, 812bindings, 809–811

HTTP-based, 809–810MSMQ-based, 811TCP-based, 810–811

building, 813–816<OperationContract()>

Attribute, 815service types as operational

contracts, 815–816<ServiceContract()>

attribute, 814building client applications,

824–826composition of applications,

807–808contracts, 808core assemblies, 804designing data contracts,

835–840*.svc file, 839implementing service

contracts, 838–839

■INDEX 1373

Page 44: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

testing service, 840updating web.config file,

839WCF service project

template, 836–838distributed computing APIs,

795–801COM+/Enterprise Services,

796–797DCOM, 796MSMQ, 797named pipes, 801.NET remoting, 797–798P2P services, 801sockets, 801XML web services, 798–801

hosting, 816–823App.config file, 816–817coding against ServiceHost

type, 817enabling metadata

exchange, 821–823host coding options,

818–819ServiceHost type, 819–820<system.serviceModel>

element, 820–821as Windows service,

829–833hosting as Windows service,

829–833creating installer, 832–833enabling MEX, 831–832installing, 833

invoking serviceasynchronously, 833–835

overview, 795role of, 801–803

features, 802SOA, 802–803

Visual Studio projecttemplates, 805–806

WCF Service Library projecttemplate, 826–829

math service, 826–827SvcConfigEditor.exe,

828–829WcfTestClient.exe, 827–828

WCF Service Library projecttemplate, 826–829

math service, 826–827SvcConfigEditor.exe, 828–829WcfTestClient.exe, 827–828

WCF Service project template,806, 836–838

WcfTestClient.exe, 827–828, 840web applications in ASP.NET,

1256–1258, 1261

web controls in ASP.NET,1261–1263

web enhancements, .NET 3.5,1230

web page code model, ASP.NET,1231, 1234

web paradigm, 1229web parts, 1230Web Service Description

Language (WSDL), 823Web Services Enhancements

(WSE) 3.0, 801Web Site ‰ Add New Item menu

option, 1303Web Site template, 1242web.config, ASP.NET, 1257, 1322web.config file, 839WebControl base class, 1267WebControl controls, 1021–1022WebDev.WebServer.exe, 799,

1218–1219, 1230, 1235<WebMethod()> attribute, 502,

798<WebMethod> attribute, 501–502WebService directive, 799WebServiceFaultActivity, WF, 847WebServiceInputActivity, WF, 847WebServiceOutputActivity, WF,

847website administration tool,

ASP.NET, 1258–1259website directory structure,

ASP.NET, 1242Web.sitemap file, 1273WelcomeString, 978WF (Windows Workflow

Foundation)assemblies and core

namespaces, 850brief word regarding custom

activities, 878–879building blocks of

getting into flow ofworkflow, 851–852

integrated services of WF,845

overview, 844–845role of sequential workflows

and state machineworkflows, 848

WF activities, 846–848building reusable code library,

876–878building simple workflow-

enabled applicationadding Code activity,

852–853

adding custom start-upparameters, 857–859, 861

adding While activity,854–856

initial workflow code, 852overview, 852WF engine hosting code,

856–857invoking web services within

workflows, 859, 872motivation behind, 843–844overview, 843

where keyword, generics, 320where operator, 425, 428–429Where<T>() method, 422While activity, 854–856While clause, 101while loop, 717WhileActivity, WF, 847widening conversions, 90Widening keyword, 374, 377widening styles, 1202widgets, 983, 1221, 1300Width member, 1108Width method, Image type, 963Width property, 892, 954, 1133,

1188, 1267Width value, 1135wildcard character (*), 40Win 32 binaries (*.dll or *.exe), 10Win32 file header in assemblies,

439Window class

overview, 1055–1056System.Windows.Controls.

ContentControl baseclass, 1056–1057

System.Windows.Controls.Control base class, 1057

System.Windows.DependencyObject base class, 1059

System.Windows.Media.Visualbase class, 1059

System.Windows.Threading.DispatcherObject baseclass, 1059

System.Windows.UIElementbase class, 1058

Window objectclosing of, 1067–1068lifetime of, 1065–1067

Window type, 1131, 1142, 1151,1161, 1168

<Window> element, 1071, 1132,1162, 1183, 1205

Window-derived type, 1171WindowLeft property, 74

■INDEX1374

Page 45: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

<Window.Resources> element,1200

Windows Application project,986

Windows collection, 1065Windows Communication

Foundation Service.See WCF (WindowsCommunicationFoundation) Service

Windows Control Library project,1028

Windows Distributed interNetApplications Architecture(DNA) deficiencies, 5

Windows Forms, 883–927, 1047Application class, 887–890building front end, 735–736building main windows by

hand, 885–886ContextMenuStrip control,

905–912context-sensitive pop-up

menus, 909–911overview, 905–907ToolStripMenuItem Type,

911–912Control class, 891–896

determining which mousebutton was clicked, 895

MouseMove event, 894–895overview, 891–893responding to keyboard

events, 896Form class, 896–900

anatomy of, 890–891life cycle of Form-derived

types, 898–900overview, 896–898

MDI applications, 924–926child forms, 925child windows, 925–926overview, 924parent forms, 924–925

MenuStrip control, 905–912adding TextBox to, 908–909overview, 905–907ToolStripMenuItem Type,

911–912overview, 883separation of concerns

principle, 886–887StatusStrip type, 913–919

designing, 914–917designing menu systems,

914displaying menu selection

prompts, 918–919

establishing “Ready” state,919

overview, 913Timer type, 917toggling displays, 917–918

System.Windows.Formsnamespace, 883–885

ToolStrips type, 919–923overview, 919–922ToolStripContainer control,

922–923Visual Studio 2008, 900–905

dissecting projects, 902–903implementing events at

design time, 904overview, 900–902StartUp Object/Main() sub

distinction, 904–905Windows objects and Graphics

objects, GDI+, 936Windows Open dialog box, 513Windows Presentation

Foundation. See WPF(Windows PresentationFoundation)

Windows property, Applicationtype, 1054

Windows Vista operating system,1049

Windows Workflow Foundation.See WF (WindowsWorkflow Foundation)

Windows Workflow toolbox, 846Windows XP Home Edition and

ASP.NET, 1218–1219WindowsBase.dll assembly, WPF,

1053WindowsFormsDataTableViewer

application, 721WindowState property, 897WindowToolStripMenuItem

member variable, 925WindowTop property, 74With construct, 102, 133With keyword, 102WithEvents keyword, 342–343,

344, 903, 1061WithEvents modifier, 350Wizard definition, 1283Wizard web control, 1282wizards, 4worker thread, 518WorkflowCompleted event, 857workflow-enabled application,

844WorkflowInstance core type, 856WorkflowRuntime core type, 856

WorkflowTerminated event,WorkflowRuntime, 857

world coordinates, 939WPF (Windows Presentation

Foundation)assemblies

overview, 1053–1054role of Application class,

1054–1055role of Window class,

1055–1059building WPF applications

using Visual Studio 2008,1091–1095

building XAML-free WPFapplications

creating simple userinterface, 1062–1063, 1070

extending Window classtype, 1061–1062

overview, 1060–1061controlling content layout

using panels, 1156motivation behind

overview, 1047–1048providing optimized

rendering model, 1049providing separation of

concerns via XAML, 1049separation of concerns using

code-behind files,1078–1080

transforming markup into.NET assembly

mapping XAML to C# code,1074–1075

overview, 1074role of Binary Application

Markup Language(BAML), 1075–1076

XAML-to-assembly processsummary, 1077–1078,1099

XAMLattached properties,

1085–1086Browser Applications

(XBAPs), 1051–1052defining application object

in, 1071–1072defining MainWindow in,

1071elements and attributes,

1082–1083markup extensions,

1087–1088overview, 1070

■INDEX 1375

Page 46: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

processing at runtime,1095–1099

processing XAML files viamsbuild.exe, 1072–1073

property-element syntax,1083–1085

type converters, 1086–1087WPF 2D graphical rendering

services, 1167–1211animation, 1187–1195

Animation-suffixed types,1187–1188

authoring in VB code,1189–1190

authoring in XAML,1191–1192

key frames, 1193–1195looping, 1191pacing, 1190–1191reversing, 1191Timeline base class, 1188

brushes, 1177–1179gradient, 1178–1179ImageBrush type, 1179SolidColorBrush type,

1177–1178Drawing-derived types,

1181–1185DrawingBrush types, 1183DrawingImage types,

1182–1183geometry types, 1181–1182

overview, 1167pens, 1180philosophy of, 1167–1174resource system, 1195–1198

binary resources, 1196–1197object (logical) resources,

1198object resources, 1198

Shape-derived types,1175–1177

transformations, 1185–1187WPF controls

altering UI with templates,1207–1211

styles for, 1198–1206WPF controls, 1103–1165

altering UI with templates,1207–1211

adding triggers to,1208–1209

custom, 1207–1208incorporating into styles,

1210–1211button types, 1116–1120

Button type, 1117ButtonBase type, 1116–1117

RepeatButton type,1119–1120

ToggleButton type, 1118CheckBox types, 1120–1123

establishing logicalgroupings, 1121

framing related elements,1121–1123

ComboBox types, 1123–1128adding arbitrary content,

1125–1126determining current

selection, 1126–1128filling list controls

programmatically,1124–1125

commands, 1147–1150connecting, 1148–1150intrinsic control command

objects, 1147data binding, 1150

custom objects, 1156–1160DataContext property, 1152IValueConverter interface,

1153–1156Mode property, 1153XML documents, 1161–1164

declaring in XAML, 1106–1108dependency properties,

1108–1112defining wrapper properties

for DependencyPropertyfield, 1111–1112

existing, 1109–1110registering, 1110–1111

library, 1103–1106ListBox types, 1123–1128

adding arbitrary content,1125–1126

determining currentselection, 1126–1128

filling list controlsprogrammatically,1124–1125

nested panels, 1141–1147finalizing design, 1145finalizing implementation,

1146–1147menu system, 1142StatusBar type, 1144ToolBar type, 1143–1144

overview, 1103panels, 1131–1141

Canvas panels, 1133–1135DockPanel panels, 1140enabling scrolling for, 1141Grid panels, 1137–1139

StackPanel panels,1136–1137

types of, 1132–1133WrapPanel panels,

1135–1136RadioButton types, 1120–1123routed events, 1112–1116

bubbling, 1113–1115tunneling, 1115–1116

styles for, 1198–1206assigning implicitly, 1203assigning programmatically,

1205–1206defining with triggers,

1203–1204inline, 1198–1199named, 1199–1200narrowing, 1202overriding settings, 1201subclassing existing, 1201widening, 1202

text areas, 1129–1131PasswordBox type,

1130–1131TextBox type, 1129–1130

WPF Interoperability, 902WPF resource system, 1195–1198

binary resources, 1196–1197Content Build Action, 1197Resource Build Action,

1196–1197object (logical) resources, 1198object resources, 1198

Wrap property, DomainUpDown,1014

WrapPanel control, 1104, 1132,1135–1136

<WrapPanel> element, 1162wrapper properties, 1111–1112Write() method, 74, 621, 623, 627,

1241, 1251, 1252WriteAllBytes() method, 619WriteAllLines() method, 619WriteAllText() method, 619WriteFile() method, 74–75, 142,

623, 1251write-only class properties, 160WriteOnly keyword, 154, 160write-only property, 160WriteXml() method, 708, 718WriteXmlSchema() method, 708,

718writing to text file, 624WSDL (Web Service Description

Language), 823wsdl.exe command-line tool, 800WSDualHttpBinding class, 810

■INDEX1376

Page 47: Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237 server-side event handling, 1262 simple web controls, 1267 simple website example, 1269–1270,

WSE (Web ServicesEnhancements) 3.0, 801

WSFederationHttpBinding class,810

WSHttpBinding class, 831WSHttpBinding option, 809WSHttpBinding protocol, 810,

827

XX or x string format, .NET, 76X property, 895XAML (Extensible Application

Markup Language), 1047,1103

attached properties, 1085–1086authoring animation in,

1191–1192Browser Applications (XBAPs),

1051–1052building XAML-free WPF

applicationscreating simple user

interface, 1062–1063, 1070extending Window class

type, 1061–1062overview, 1060–1061

declaring WPF controls in,1106–1108

defining application object in,1071–1072

defining MainWindow in, 1071elements and attributes,

1082–1083mapping to C# code,

1074–1075markup extensions, 1087–1088overview, 1070processing at runtime,

1095–1099processing XAML files via

msbuild.exe, 1072–1073propery-element syntax,

1083–1085

type converters, 1086–1087*.xaml files, 1073, 1077, 1103,

1179XAttribute member, 781XAttributes object, 784XBAPs (Browser Applications),

XAML, 1051–1052x/COL/Type markup extension,

1202XComment member, 781Xcopy deployment, 460XDeclaration member, 781XDocument member, 781XDocument type, 786XElement member, 780XElement parameter, 790XElement type, 786XElement.Descendants()

method, 790XElement.Load() method, 789XElement.Parse() method, 788XElements object, 784XML

and ADO.NET, 654blending programming

constructs within literals,782–783

/doc compiler flag, 167documentation elements, 165documenting VB 2008 source

code via, 165–168navigating in-memory XML

documents, 789–790overview, 781programmatically creating

elements, 783–784programmatically creating

XML documents, 785serializing DataTable/DataSet

objects as, 718–719source code documentation,

165–166storing literals in string data

types, 782

XML documents, 788–791,1161–1164

custom dialog boxes,1161–1164

DialogResult property, 1163loading XML content, 788modifying data in, 790–793obtaining current selection,

1163–1164parsing XML content, 788programmatically creating,

783–786System.Xml.XLinq namespace,

780–783*.xml file, 167, 1162XML web services, 798–801<XmlAttribute()> attribute, 643XML-based configuration files,

439XmlDataProvider type, 1162<XmlElement()> attribute, 643<XmlEnum()> attribute, 643xmlns attribute, 1220XmlReader/XmlWriter models,

779<XmlRoot()> attribute, 643XmlSerializer, 637, 641–643<XmlText()> attribute, 643<XmlType()> attribute, 643XName/XNamespace member,

781XPath bindings, 1162xPos member variable, 401

Yy operators, 410Y property, 895yPos member variable, 401

■INDEX 1377