search for books and compare prices
Tables of Contents for User Interface in Vb.Net
Chapter/Section Title
Page #
Page Count
Preface
xvii
 
About the Author
xix
 
About the Technical Reviewer
xxi
 
Acknowledgments
xxiii
 
Introduction
xxv
 
About This Book
xxv
 
Chapter Overview
xxviii
 
Creating Usable Interfaces
1
20
Why Worry About the Interface?
2
1
A Brief History of User Interfaces
3
6
The Command-Line Era
3
2
The Question-Answer Model
5
2
The Menu-Driven Model
7
1
The GUI Era
8
1
Creativity vs. Convention
9
5
Consistency in .NET
10
1
The ``Act-Like-Microsoft'' Principle
11
1
Administrative Utilities
11
2
Know your Application Type
13
1
Know Your User
13
1
Handling Complexity
14
2
Segmenting formation
15
1
Inductive user Interface
16
1
Helpful Restriction
16
3
Restricting the User's Ability to Make a Mistake
16
1
Restricting the User's Choices
17
1
Restricting the User's Imagination
18
1
Programming User Interface for the Web
19
1
The Last Word
19
2
Designing with Classes and Tiers
21
34
Classes and Objects
22
4
The Roles of Classes
22
1
Classes and Types
23
3
More About Objects
26
1
User Interface Classes in .NET
26
11
Controls Are Classes
27
1
Controls Contain Other Controls
28
2
Controls Derive from Other Controls
30
2
Inheritance and the Form Class
32
2
The Controls Collection
34
1
Generating Code with Visual Studio .NET
35
2
Interacting with a Control
37
4
The View-Mediator Pattern
37
2
Smart Controls
39
1
Smart Forms
40
1
Encapsulation
41
3
Use Enumerations and Resource Classes
42
1
Use Collections
42
1
Restrain from Sharing Control References
42
1
Define a Data Transfer Plan
42
1
Use a Central Switchboard
43
1
Create Data-Driven User Interfaces
43
1
Developing in Tiers
44
4
Problems with Three-Tier Design
45
2
Three-Tier Design Consistency
47
1
Fixing Three-Tier Design
48
4
The DataSet to the Rescue
50
1
Validation and Business Objects
51
1
Other Types of Application
51
1
The Last Word
52
3
Control Class Basics
55
26
The Windows Forms Package
55
3
The .NET Solution
56
2
The Control Class
58
4
Position and Size
62
2
Color
64
3
Fonts and Text
67
2
Access Keys
68
1
Control Relations
69
1
Focus and the Tab Sequence
70
3
Responding to the Mouse and Keyboard
73
5
A Mouse/Keyboard Example
76
1
Mouse Cursors
76
2
Graphics and Painting
78
1
Low-Level Members
79
1
The Last Word
80
1
Classic Controls
81
58
Types of Controls
81
7
Invisible Controls
81
2
Provider Controls
83
1
ActiveX Controls
84
2
Should You Import ActiveX Controls?
86
2
The Classic Control Gallery
88
14
Labels
88
1
LinkLabel
89
2
Button
91
1
TextBox
92
2
CheckBox and RadioButton
94
1
PictureBox
94
1
List Controls
95
4
Other Domain Controls
99
3
Organizational Controls
102
1
The Date Controls
102
6
The DateTimePicker
103
3
MonthCalendar
106
2
Menus
108
11
The Menu Class
110
1
The MainMenu and ContextMenu Classes
111
1
The MenuItem Class
112
2
The Visual Studio .NET Menu Designer
114
2
Attaching a Menu
116
1
Menu Events
117
1
Copying and Cloning a Menu
118
1
Merging a Menu
118
1
Owner-Drawn Menus
119
7
An Owner-Drawn Menu Control
122
4
Drag-and-Drop
126
5
``Fake'' Drag-and-Drop
126
2
Authentic Drag-and-Drop
128
3
Validation
131
7
A Validation Example
133
1
Validating with the ErrorProvider
134
2
Validating with Regular Expressions
136
2
The Last Word
138
1
Forms
139
58
The Form Class
139
21
Form Size and Position
144
4
Scrollable Forms
148
1
Showing a Form
149
1
Custom Dialog Windows
150
3
IgnoreForm Interaction
153
3
Form Ownership
156
2
Windows XP Styles
158
2
Prebuilt Dialogs
160
5
Resizable Forms
165
11
The Problem of Size
165
1
A Traditional Solution
166
3
Minimum and Maximum Size
169
1
Anchoring
170
4
Docking
174
2
Splitting Windows
176
7
Docking with Panels
177
2
Other Split Windows
179
4
Irregularly Shaped Forms
183
7
Shaped Form Content
185
2
Moving Shaped Forms
187
2
Forms with Holes
189
1
Visual Inheritance
190
5
Making an Ancestor Control Available
192
1
Adding an Ancestor Property
192
1
Overriding an Event Handler
193
2
The Last Word
195
2
Modern Controls
197
58
The Imagelist
197
4
Dealing with the ImageList in Code
199
2
ListView and TreeView
201
1
Basic ListView
202
6
Advanced ListView Tricks
208
5
Label Editing
212
1
Adding Information to a ListView
213
1
Basic TreeView
213
11
TreeView Structure
214
2
TreeView Navigation
216
3
Manipulating Nodes
219
3
Selecting Nodes
222
2
Advanced TreeView Tricks
224
7
Node Pictures
225
1
Expanding and Collapsing Levels
226
1
TreeView Drag-and-Drop
227
4
Taming the TreeView
231
6
A Project Tree
231
2
A Data-Aware TreeView
233
2
Unusual Trees
235
1
Design-Time Support for the Custom TreeView
236
1
The ToolBar
237
4
Synchronizing the ToolBar
241
4
The StatusBar
245
1
Basic StatusBar
246
4
Synchronizing the StatusBar to a Menu
248
2
The TabControl
250
2
The Notify Icon
252
1
The Last Word
253
2
Custom Controls
255
38
Types of Custom Controls
255
1
User Controls
256
19
Creating User Controls
257
2
The Progress User Control
259
5
The Bitmap Thumbnail Viewer
264
6
Testing the Bitmap Viewer
270
1
BitmapViewer Events
270
2
BiimapViewer Enhancements and Threading
272
3
Inherited Controls
275
8
Inherited Controls or User Controls?
276
1
The DirectoryTree Control
276
3
Testing the DirectoryTree
279
1
A Masked TextBox Control
280
3
Custom Extender Providers
283
8
The Menu Text Provider
284
4
The Help Icon Provider
288
3
The Last Word
291
2
Design-Time Support for Custom Controls
293
46
Control Projects
294
6
The Class Library Project
294
2
Referencing a Custom Control
296
2
The GAC
298
2
Control Designer Basics
300
12
Attributes
300
5
Basic Serialization
305
1
The Toolbox Bitmap
306
2
Resource Files
308
4
Testing Custom Controls
312
4
Debugging Design-Time Support
313
1
Testing for Design Mode
314
1
The PropertyGrid Control
315
1
Custom Designers
316
10
Filtering Properties and Events
318
1
Designer Verbs
319
6
Control Designer Notifications
325
1
Data Types and UITypeEditors
326
6
Using Prebuilt UITypeEditors
328
2
Custom UITypeEditors
330
2
Licensing Custom Controls
332
5
Simple LIC File Licensing
332
2
Custom LIC File Licensing
334
1
Advanced License Providers
334
3
The Last Word
337
2
Data Controls
339
50
Introducing Data Binding
339
1
Basic Data Binding
340
9
Simple List Binding
342
1
Binding Lists to Complex Objects
343
3
Single-Value Binding
346
3
ADO.NET Data Binding
349
14
Multiple Control Binding
353
1
Updating with Data Binding
354
2
Formatting Data Before Binding
356
3
Advanced Conversions
359
3
Row Validation and Changes
362
1
Data Binding Exposed
363
7
Navigation with Data Binding
364
2
Reacting to Record Navigation
366
1
Creating Master-Detail Forms
367
2
Creating a New Binding Context
369
1
The DataGrid Control
370
7
DataGrid Relations
371
1
DataGrid Column Mapping
372
1
Creating Custom DataGrid Column Styles
373
4
Encapsulation with Data Controls
377
3
Validating Bound Data
378
2
Data-Aware Controls
380
7
A Decoupled TreeView with Just-in-Time Nodes
382
5
Can There Be a Data-Bound ListView Control?
387
1
The Last Word
387
2
MDI Interfaces and Workspaces
389
36
The Story of MDI
389
1
Types of MDI Applications
390
1
MDI Essentials
390
11
Finding Your Relatives
392
1
Synchronizing MDI Children
393
2
MDI Layout
395
1
Merging Menus
396
3
Managing Interface State
399
2
Document-View Architecture
401
14
A Document-View Ordering Program
402
13
Floating Windows and Docking
415
9
Floating Toolbars
415
3
Dockable Windows
418
6
The Last Word
424
1
Dynamic User Interface
425
30
The Case for Dynamic User Interface
425
1
Creating Controls at Runtime
426
12
A System Tray Application
428
4
Using Controls in a Drawing Program
432
6
Dynamic Content
438
8
Localization
439
3
A Dynamic Menu Example
442
4
Data-Driven Programming
446
2
A Data-Driven Pricing Application
446
2
Control Layout Engines
448
4
The SingleLineFlow Layout Manager
449
3
Control Layout Engines As Extender Providers
452
1
The Last Word
452
3
GDI+ Basics
455
36
Paint Sessions with GDI+
456
4
Accessing the Graphics Object
456
1
Painting and Refreshing
457
3
Optimizing GDI+ Painting
460
11
Painting and Resizing
460
2
Painting Portions of a Window
462
3
Rendering Mode and Antialiasing
465
2
Double Buffering
467
3
Painting and Debugging
470
1
The Graphics Class
471
14
Coordinate Systems and Transformations
476
3
Pens
479
3
Brushes
482
3
Hit Testing
485
3
Hit Testing Nonrectangular Shapes
487
1
The ControlPaint Class
488
2
The Last Word
490
1
GDI+ Controls
491
28
Simple GDI+ Controls
491
10
A Gradient Label
492
3
Improving the GradientLabel's Design-Time Support
495
3
A Marquee Label
498
3
Creating Button Controls
501
6
A Hot Tracking Button
502
5
Reconsidering the Vector Drawing Program
507
6
Solving the Bounding Problem
508
5
A Simple Graphing Control
513
4
The Last Word
517
2
Help and Application-Embedded Support
519
30
The Case for Help
519
1
Types of Help
520
6
WinHelp
520
1
WinHelp 95
521
1
HTML Help
522
2
MS Help 2
524
1
Some Help Authoring Tools
525
1
Classic Bad Help
526
1
Basic Help with the HelpProvider
527
5
Control-Based and Form-Based Help
531
1
Invoking Help Programmatically
532
7
Help Without the HelpProvider
533
1
Using Database-Based Help
534
1
Using Task-Based Help
535
2
Creating Your Own Help
537
2
Application-Embedded Support
539
8
Affordances
540
1
Agents
541
6
The Last Word
547
2
Index
549