Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237...
Transcript of Index [link.springer.com]978-1-4302-0200...round-trips (postbacks), 1224 script block, 1237...
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
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
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
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
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
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
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
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
<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
/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
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
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
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
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
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
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
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
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
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
<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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
<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
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
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