/t or /target switch for compiler file type, 63–64
TabControl control (Windows Forms), 776
TableLayoutPanel control (Windows Forms), 774, 775
TabPages control (Windows Forms), 776
/target or /t switch for compiler file type, 63–64
taskbar, showing forms in, 782
TCP classes, 1263
TCP versus UDP, 1266
TcpClient class
overview, 1263
Windows Services example, 1279–1281
TcpListener class, 1263
TcpReceive application, 1264–1266, 1268
TcpSend application, 1263–1264
Terminate() method, 644–645
ternary operator, 136–137
TestQuoteServer console application, 1279
TestSchema.cs example
adding elements, 829
DataColumn for, 831–832
DataRow for, 830–831
DataTable for, 829
EventArgs for, 832
initial code, 828
text, graphical. See also CapsEditor example
drawing, 874–880
editing a text document, 880–893
enumerating font families, 878–880
fonts and font families, 876–880
simple example, 874–876
TextBox control (Windows Forms)
adding controls to user control, 795–796
in application example, 756
DataBindings property, 816–817
overview, 773
WebBrowser control with, 1246–1247
TextBoxBase class (Windows Forms)
MaskedTextBox control derived from, 773, 774
RichTextBox control derived from, 773–774
TextBox control derived from, 773
TextLineInformation class, 882–883
themes (ASP.NET)
applying to pages, 974–975
defining, 975
overview, 974
in PCSDemoSite application, 975–979
thick-client applications, 22, 24
32-bit processors, pointers and, 207–208
this keyword, 38, 96
Thread class
Abort() method, 354
constructor, 352
CurrentCulture and CurrentUICulture properties, 516–517, 518, 519, 539
Join() method, 354
namespace for, 366
overview, 351
Resume() method, 354
Sleep() method, 355
Start() method, 352
Suspend() method, 353, 354
ThreadPool class versus, 365
ways of manipulating, 355
ThreadAbortException, 354
threading
aborting threads, 354
anonymous methods for, 353
COM, 1156–1157, 1166
deadlocks, avoiding, 361–363, 364
first thread started at Main() method, 350
by Internet Explorer, 349–350
lock statement, 360–361
namespace for, 351, 366
passing information to methods, 352
pre-emptive multitasking for, 350
priorities for threads, 358–359
problems with workarounds to avoid, 350
putting threads to sleep, 355
race conditions, avoiding, 363–364
resuming threads, 353, 354
starting threads, 351–353
suspending threads, 353–354
synchronization of access to variables, 359–364
thread, defined, 349
ThreadPlayaround example, 355–358
ThreadPool class for, 364–368
ThreadStart delegate, 352, 353
time slice of threads, 351
waiting for a thread to terminate, 354
Windows Services and, 1287
worker threads, 352
ThreadPlayaround example, 355–358
ThreadPool class
described, 364
maximum threads per processor, 364
namespace for, 366
QueueUserWorkItem() method, 366
Thread class versus, 365
uses for, 364
using, 365–368
WaitCallback delegate, 366
ThreadStart delegate, 352, 353
throwing exceptions
from catch and finally blocks, 339
choosing type to throw, 334–335
defined, 331
nested throw statements for, 332
user-defined exceptions, 343–346
tiered development with ADO.NET, 625–627
time slice of threads, 351
tlbexp utility, 1173
tlbimp utility, 1163
ToolStrip control (Windows Forms)
controls derived from, 776–777
described, 776
formatting text, 776
ToolStripControlHost control, 777–779
ToolStripDropDownItem control, 777
using as a toolbar, 776
ToolStripContainer control (Windows Forms), 780
ToolStripControlHost control (Windows Forms), 777–779
ToolStripDropDownItem control (Windows Forms), 777
ToolStripManager class (Windows Forms), 780
ToolStripMenuItem class (Windows Forms), 779–780
ToString() method
called by AppendFormat() method, 231
date formatting for globalization using, 519
described, 106
of IFormattable interface, 232
number formatting for globalization using, 517–518
outputting StringBuilder class contents as a String, 229
for UDTs, 640–641
using, 108–109
TrackBar control, 820–822
transactional message queues, 1121–1122
transactions
in ADO.NET, 588–589
Enterprise Services, 1068, 1078–1080
Web services specifications and, 1131–1133
TreeView control (ASP.NET), 960, 961
TreeView control (Windows Forms)
custom control based on, 788–794
described, 788, 789
triggers for SQL Server
creating, 649–650
defined, 648
overview, 648–649
using, 650
troubleshooting Windows Services
debugging, 1301–1302
event logging, 1302–1308
interactive services, 1302
performance monitoring, 1308–1313
try blocks
defined, 330
error trapping process and, 330
exceptions not handled and, 338
handling different exceptions in different places, 340
modifying the type of exception, 340
MortimerColdCall example, 342
nested throw statements in, 332
nested try blocks, 338–340
for releasing database resources, 586, 587–588
in SimpleExceptions class, 334
syntax, 330
throwing an exception and, 331
T-SQL, 645
Type class
for holding reference types, 314
methods, 315–316
obtaining a Type reference, 314
properties, 314–315
TypeView example, 316–319
type safety
boxing and unboxing, 145–146
CLR memory safety tests, 7
delegates and, 172, 174
generics advantages for, 273
strong typing in IL, 9–16
type conversions, 140–145
unsafe operators, 134
typeof operator, 139
types. See data types
TypeView assembly
AddToOutput() method, 319
AnalyzeType() method, 318–319
code listing, 318–319
compiling, 319
GetMembers() method, 319
Main() method, 318
overview, 316–318
using statements, 318