User Interfaces in C#-Windows Forms and Custom Controls 
Matthew MacDonald
Apress™ 
Copyright © 2002 Matthew MacDonald
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the
prior written permission of the copyright owner and the publisher.
(pbk):
1-59059-045-7
Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark.
Technical Reviewer: Gordon Henshaw
Editorial Directors: Dan Appleman, Gary Cornell, Jason Gilmore, Simon Hayes, Karen Watterson, John Zukowski
Managing Editor: Grace Wong
Copy Editor: Anne Friedman
Production Editor: Kari Brooks
Project Manager: Sofia Marchant
Compositor: Diana Van Winkle, Van Winkle Design
Artist: Kurt Krames
Indexer: Nancy A. Guenther
Cover Designer: Kurt Krames
Manufacturing Manager: Tom Debolski
Marketing Manager: Stephanie Rodriguez
Distributed to the book trade in the United States by Springer-Verlag New York, Inc., 175 Fifth Avenue, New York, NY, 10010 and outside the United States by Springer-Verlag GmbH & Co. KG, Tiergartenstr. 17, 69112
Heidelberg, Germany.
In the United States, phone 1-800-SPRINGER, email orders@springer-ny.com
, or visit http://www.springer-ny.com
.
Export pdf to powerpoint - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
how to add pdf to powerpoint slide; convert pdf pages into powerpoint slides
Export pdf to powerpoint - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
convert pdf to ppt online; how to convert pdf into powerpoint
Online Convert PowerPoint to PDF file. Best free online export
Online Powerpoint to PDF Converter. Download Free Trial. Then just wait until the conversion from Powerpoint to PDF is complete and download the file.
pdf to ppt; change pdf to powerpoint online
C# WPF PDF Viewer SDK to convert and export PDF document to other
Viewer & Editor. WPF: View PDF. WPF: Annotate PDF. WPF: Export PDF. WPF: Print PDF. PDF Create. Create PDF from Word. Create PDF from Excel. Create PDF from PowerPoint
convert pdf to powerpoint using; convert pdf to powerpoint online no email
User Interfaces in C#: Windows Forms and Custom
Controls
byMatthew MacDonald 
ISBN:1590590457
Apress
2002 (586 pages)
Including a comprehensive examination of the user interface
controls and classes in .NET, this resource provides an
overview of how to design elegant user interfaces the
average user can understand.
Companion Web
Site
Table of
Contents
Back Cover
Table of Contents 
User Interfaces in C#-Windows Forms and Custom Controls
Preface
Introduction
Ch
apt
er
1
- Creating Usable Interfaces
Ch
apt
er
2
- Designing with Classes and Tiers
Ch
apt
er
3
- Control Class Basics
Ch
apt
er
4
- Classic Controls
Ch
apt
er
5
- Forms
Ch
apt
er
6
- Modern Controls
Ch
apt
er
7
- Custom Controls
Ch
apt
er
8
- Design-Time Support for Custom Controls
Ch
apt
er
9
- Data Controls
Ch
apt
er
10
- MDI Interfaces and Workspaces
Ch
apt
er
11
- Dynamic User Interface
Ch
apt
er
12
- GDI+ Basics
Ch
apt
er
13
- GDI+ Controls
VB.NET PDF - Convert PDF with VB.NET WPF PDF Viewer
PDF in WPF. Annotate PDF in WPF. Export PDF in WPF. Print PDF in WPF. PDF Create. Create PDF from Word. Create PDF from Excel. Create PDF from PowerPoint. Create
pdf to ppt converter online for large; change pdf to powerpoint on
VB.NET PDF Converter Library SDK to convert PDF to other file
PDF Export. |. Home ›› XDoc.PDF ›› VB.NET PDF: PDF Export. for converting MicroSoft Office Word, Excel and PowerPoint document to PDF file in VB
convert pdf into ppt; image from pdf to powerpoint
C# PDF Converter Library SDK to convert PDF to other file formats
PDF Export. |. Home ›› XDoc.PDF ›› C# PDF: PDF Export. Able to export PDF document to HTML file. Able to create convert PDF to SVG file.
change pdf to ppt; how to add pdf to powerpoint presentation
C# HTML5 PDF Viewer SDK to convert and export PDF document to
Export PDF in WPF. Print PDF in WPF. PDF Create. Create PDF from Word. Create PDF from Excel. Create PDF from PowerPoint. Create PDF from Tiff. Create PDF from
changing pdf to powerpoint; pdf to ppt converter
Preface 
byMatthew MacDonald 
Apress 2002
Companion Web
Site
Preface
In the past few months, a deluge of .NET books has hit store shelves, each one eager to explain the new programming philosophy of the .NET world. In the excitement, many of these books have left out the tricks and insights you
need to really master .NET programming. Part of the problem is that no single work can cover the entire .NET platform-a sprawling, ambitious framework that revolutionizes everything from Internet applications to data access
technology. Many .NET books provide a good overview of essential concepts, but they can't deal with the subtleties needed for all types of development.
This book represents the start of the second wave of .NET books: closely focused works that give you the insight of experienced developers about a single aspect of .NET programming. User Interfaces in C#:Windows Forms and
Custom Controls takes a close look at all the ingredients you can use to design state-of-the-art application interfaces. It also delves into entirely new topics like custom control design and GDI+, the next-generation painting
framework for Windows. You don't just learn about anchoring and docking, you work with examples that show document-view architecture, custom control layout engines, dockable windows, and hit testing with owner-drawn
controls. You also learn how to design irregularly shaped forms, unshackle data binding, and build an integrated help system.
In short, this is the sort of .NET book that I would want to read as a professional developer. It's a book that goes beyond the basics, and combines user interface design principles with practical guidelines for creating the next
generation of software applications. And seeing as you are reading this introduction, you've probably already realized that this next generation will be built using the .NET Framework.
Acknowledgments
This book has been, comparatively speaking, a lot of fun to write. As a result, I have a long list of people to thank.
Gary Cornell never ceases to amaze me with his ability to respond to emails mere seconds after they've departed from my outbox. I'm indebted to him for quickly and painlessly signing me on for this project. I also owe a sincere
thanks to a number of other individuals at Apress who helped everything move swiftly and smoothly. They include Sofia Marchant, Kari Brooks, Grace Wong, Stephanie Rodriguez, and doubtless many others I never interacted with
directly.
Gordon Henshaw performed the technical review for the C# edition of this book, and Gordon Wilmot performed the technical review for the VB edition. Both provided invaluable feedback. Anne Friedman performed the copy editing,
and her unerring light touch helped guarantee the final polished product. I owe a heartfelt thanks to all.
Finally, I'd never write any book without the support of my loving wife, her parents, and my parents (who started this whole mess with two gametes at the right place and the right time). Thanks everyone!
C# WPF PDF Viewer SDK to view, annotate, convert and print PDF in
Export PDF in WPF. Print PDF in WPF. PDF Create. Create PDF from Word. Create PDF from Excel. Create PDF from PowerPoint. Create PDF from Tiff. Create PDF from
add pdf to powerpoint; convert pdf to powerpoint online
VB.NET PDF- HTML5 PDF Viewer for VB.NET Project
PDF in WPF. Annotate PDF in WPF. Export PDF in WPF. Print PDF in WPF. PDF Create. Create PDF from Word. Create PDF from Excel. Create PDF from PowerPoint. Create
convert pdf file to powerpoint; conversion of pdf to ppt online
Introduction 
byMatthew MacDonald 
Apress 2002
Companion Web
Site
Introduction
The .NET revolution is in full swing, and the confusion that has surrounded it for the last year is finally lifting. Developers are no longer wondering whether .NET is designed for web services, distributed applications, object-oriented
development, cross-language interoperability, painless deployment, or a new way to access data. Instead, we now realize that .NET is built for all of that, and much more. With .NET, Microsoft has bundled almost a dozen
miniature revolutions into one marketing term, along with a class library stocked with hundreds of pieces of prebuilt functionality.
Unfortunately, you can't come to terms with the amazing breadth of the .NET Framework by reading a single book. To become an expert .NET programmer, you need an in-depth exploration of the areas of development that
interest you the most. In other words, it's time to forget about the broadly sweeping goals of .NET for a moment, and focus on the nuts and bolts of how to design the next-generation of software applications.
This book explains how to program user interfaces applying the tools and techniques of the .NET world. You may already be familiar with some of the concepts that carry over from traditional development (like multiple-document
interfaces, and the standard Windows controls and conventions). Other features are entirely new and will be unlike anything you have ever worked with before. But no matter what aspect of user interface design you're exploring, it
all works through the .NET class library, which provides a new set of capabilities, subtleties, and quirks that every .NET programmer needs to master.
About This Book
User interface design deals with several aspects of programming. The tendency in a book about a topic like this is to pursue one of these themes exclusively. With .NET, however, the programming framework is entirely new. A
reference that only explains controls and commands is dangerous, and without a proper discussion of best practices and design tips, programmers are likely to wind up in a great deal of trouble-with applications that are difficult to
enhance, debug, or scale up. For that reason, I've made the decision in this book to focus on three distinct themes.
What This Book Teaches You
This book fills three roles. It provides the following:
An overview of how to design elegant user interfaces the average user can understand. This is addressed directly in the first chapter, and indirectly in Tips and Notes throughout the book.
A comprehensive examination of the user interface controls and classes in .NET. Although this book is not a reference, it contains an exhaustive tour of almost every user interface element you'll want to use,
including providers, components, and custom controls.
A tutorial with best practices and design tips for coding user interfaces and integrating help. As a developer, you need to know more than how to add a control to a window. You also need to know how to create
an entire user interface framework that's scalable, flexible, and reusable.
What This Book Doesn't Teach You
Of course, it's just as important to point out what this book doesn't contain:
A description of core .NET concepts like namespaces, assemblies, exception handling and types. These fundamentals are an important basis for .NET design, and they are already explained well in several works,
including a number of excellent C# and VB .NET books from Apress.
A primer on object-oriented design. No .NET programmer can progress very far without a solid understanding of classes, interfaces, and other .NET types. In this book, many examples rely on these basics, using
objects to encapsulate, organize, and transfer information.
A reference for Visual Studio .NET. The new integrated design environment provides powerful customization, automation, and productivity features that deserve a book of their own. Though this book describes a few
control designers, for the most part it assumes that you already know how to use IDE to create controls and set properties. 
A comparison between .NET and its predecessors (including Visual Basic, C++, and even Java). Examining the evolution of the .NET language is largely a historical interest and while fascinating, it won't help you
master modern .NET development any faster. The best approach is to leave your past language allegiances behind.
If you haven't learned the .NET fundamentals, you will probably still be able to work through this book. You will probably need to do so at a slower pace, and you may also need to refer to the MSDN help files to clear up a few
issues along the way. On the other hand, if you have already read another, more general .NET book, you will benefit the most.
Note 
This book is targeted at experienced developers. If you have never programmed with a language like
Visual Basic, C++/C#, or Java before, this isn't the place to start. Instead, start with an introductory
book on object-oriented design or programming fundamentals.
Code Samples
It's a good idea to check the online site to download the most recent, up-to-date code samples. You'll need to do this to test most of the more sophisticated code examples described in this book, because the full code listing is
often left out. Instead, I focus on the most important conceptual sections so that you don't need to wade through needless extra pages to understand an important concept.
Introduction 
byMatthew MacDonald 
Apress 2002
Companion Web
Site
Chapter Overview
The following overview describes what each chapter covers. If you have some .NET experience, feel free to skip from chapter to chapter and read everything in the order you prefer. If, however, you're relatively new to .NET
development it's probably easiest to read through the book sequentially, to make sure you learn the basics before encountering more advanced topics.
Creating Usable Interfaces 
User interface design is about more than just knowing how to program the latest trendy interface element-it's also about conventions, consistency, and the best way to guide a user into unfamiliar territory. In this chapter, you learn
the basics of interface design theory, and the principles that support every good design.
Designing with Classes and Tiers 
For several years, programming books and articles have advocated a three-layered approach to application design that rigorously separates user interface from application code. Despite this emphasis, real-world applications rarely
follow these best practices, and programmers usually discover and rediscover that they are far more time-consuming and awkward than most computer writers promise. In this chapter, you learn how a modern layered design
becomes dramatically easier with .NET-and how it might work for you.
Control Class Basics 
This chapter delves into the details of one of .NET's most feature-rich classes: the Control. In this chapter, you learn how the Control class defines the basic features for responding to key presses and mouse movements, defining
control relations, and handling Windows messages. You also learn about some of the basic System.Drawing ingredients for points, rectangles, colors, and fonts.
Classic Controls 
The classic controls include basic tools for input, selection, and display that have been used since the ancient days of 16-bit Windows programming. This chapter also includes a few .NET twists, like the owner-drawn menus, date
controls, and the hyperlink label. It rounds up with demonstrations of control validation and drag-and-drop techniques.
Forms 
The Form class is the basis for every application window in a .NET program. To use forms effectively, you need to understand how forms interact, scroll, and take ownership of each other. This chapter explains the basics, and
considers exciting new techniques like visual inheritance, Windows XP styles, and irregularly shaped forms. It also explains how to make multipaned resizable windows that work.
Modern Controls 
This chapter dissects everyone's favorite Windows controls, including TreeView, ListView, ToolBar and StatusBar. As these controls are introduced, you see some innovative ways to extend them with custom classes that provide
useful higher-level features or are tailored for a specific type of data.
Custom Controls 
Custom control development is one of the key themes of this book, and a remarkable feature of the .NET platform. This chapter considers the basic types of controls you can create, and introduces examples like a bitmap
thumbnail viewer, a progress user control, and a directory tree. It also considers advanced topics like asynchronous control programming, and custom extender providers, which allow you to develop enhancements that can be
latched onto any .NET control.
Design-Time Support for Custom Controls 
Creating a custom control is easy, but making it behave well in the design-time environment often takes a little extra wizardry. In this chapter, you see how custom control designers, UITypeEditors, and context-menu verbs can
equip your controls for Visual Studio .NET. You also tackle different models of custom control licensing.
Data Controls 
Most applications need to deal with data at some point. This chapter considers how you can integrate data into your user interfaces without creating an interface that's tightly coupled to a specific data access strategy or data
source. In other words, you learn how you can create user interface code that doesn't directly refer to field names or assume that data is retrieved all at once. The solutions lead you through an exhaustive look at .NET data
Chapter 1 - Creating Usable Interfaces
byMatthew MacDonald 
Apress 2002
Companion Web
Site
Chapter 1: Creating Usable Interfaces
Overview
Sometimes it seems that no one can agree what user interface design really is. Is it the painstaking process an artist goes through to create shaded icons that light up when the mouse approaches? Is it the hours spent in a
usability lab subjecting users to a complicated new application? Is it the series of decisions that determine how to model information using common controls and metaphors?
In fact, user interface design is really a collection of several different tasks:
User interface modeling. This is the process where you look at the tasks a program needs to accomplish, and decide how to break these tasks into windows and controls. To emerge with an elegant design, you need
to combine instinct, convention, a dash of psychology, and painstaking usability testing.
User interface architecture. This is the logical design you use to divide the functionality in your application into separate objects. Creating a consistent, well-planned design makes it easy to extend, alter, and reuse
portions of the user interface framework.
User interface coding. This is the process where you write the code for managing the user interface with the appropriate classes and objects. Ideally, you follow the first two steps to lay out a specific user interface
model and architecture before you begin this stage.
This book concentrates on the third, and most time-consuming step, where user interfaces designs are translated into code using the tools and techniques of .NET. However, it's impossible to separate good coding from good code
design, and discussion about user interface architecture, the second item on the list, recurs throughout this book (and is the focus of the next chapter).
This chapter, however, focuses on the first task: user interface design. Here you'll examine the essential guidelines that no programmer can afford to ignore. You learn basic tips for organizing information, handling complexity, and
entering into the mind of that often-feared final judge: the end user.
You could skip ahead at this point and dive right into .NET code. However, the greatest programming framework in the world won't solve some common, critical user interface mistakes. Learning how to design an interface is no
less important than learning how to work with it in code.
Documents you may be interested
Documents you may be interested