GDI+ Custom Controls with Visual C# 2005

Iulian Serban, Dragos Brezoi, Adam Ward, Tiberiu Radu

  • 出版商: Packt Publishing
  • 出版日期: 2006-06-20
  • 售價: $1,500
  • 貴賓價: 9.5$1,425
  • 語言: 英文
  • 頁數: 276
  • 裝訂: Paperback
  • ISBN: 1904811604
  • ISBN-13: 9781904811602
  • 相關分類: C#Visual C#
  • 已過版

買這商品的人也買了...

相關主題

商品描述

Table of Contents

Preface

 

Chapter 1: Introduction to Custom Controls

  • What Are Controls?
  • Introducing Custom Controls
    • Categories of User Controls
  • Preparing Your Environment
  • What Are Custom Controls Made Of?
    • Private Fields
    • Properties
    • Indexers
    • Events and Delegates
      • Handling Events
    • Collections
    • Enums
  • Building TinyNoiseMaker
    • Time for Action—Creating the TinyNoiseMaker Custom Control
  • Extending TinyNoiseMaker
    • Time for Action—Adding Public Functionality
    • Time for Action—Using the Control's Public Interface
  • Summary
 
  • Understanding Control Drawing
    • Understanding GDI+
    • The Graphics Object
    • The Control.Paint Event
    • Invalidation
  • Simple Drawing on a Form
    • Time for Action—Creating the Application
  • Drawing Inside a Panel Object
    • Time for Action—Creating the Application
  • Drawing Inside a Control
    • Time for Action—Creating the Application
  • Summary
 
  • The GDI+ Coordinate System
  • Drawing with GDI+
    • Using the Color Object
    • Drawing Using the Pen Object
    • Filling Surfaces Using the Brush Object
    • Drawing Text Using the Font Object
    • Improving Drawing Quality
  • Building the GradientLabel Control
    • Time for Action—Creating the GradientLabel Custom Control
  • Summary
 
  • Drawing Complex Shapes
    • The GraphicsPath Object
    • The Region Object
  • Clipping Drawing Using Region Objects
    • Keeping Drawing Inside a Region
    • Keeping Drawing Outside a Region
  • Graphics Transformations
    • Translation
    • Rotation
    • Scaling
  • Creating the Clock Control
    • Time for Action—Creating the Clock Control
    • Time for Action—Updating the Clock to Use Transformations
  • Summary
 
  • Rendering Common Control Parts
    • Drawing Buttons
    • Drawing Caption Buttons
    • Drawing Checkboxes
    • Drawing Drop-Down Buttons
    • Drawing Radio Buttons
    • Drawing Scroll Buttons
  • Rendering Borders and Frames
    • Rendering Button Borders
    • Rendering 3D Borders
  • Rendering Control Adornments
  • Creating Multiple Controls that Reuse the Same Functionality
    • Creating a Base Class for Two or More Controls
      • Time for Action—Creating the ControlPart Base Class
  • Creating Derived Controls
    • Time for Action—Creating the ScrollArrowButton Control
    • Time for Action—Creating the CheckButton Control
  • Extending Existing Controls
    • Time for Action—Creating the BorderGradientPanel Control
    • Time for Action—Implementing the GradientButton Control
  • Summary
 
  • Drawing Images
    • Using the Image Class
    • Using the Bitmap Class
    • Displaying Images
      • Time for Action—Displaying Images
  • Image Effects
  • Skewing, Rotation, and Scaling
  • Building the ImageWarper Class
    • Time for Action—Creating the ImageWarper Class
  • The ImageWarperControl
    • Time for Action—Creating the ImageWarperApp and the Image WarperControl
  • Summary
 
  • .NET Printing Explained
    • Using the PrintDocument Class
  • Your First Print Job
    • Time for Action—Creating the "Hello Printer!" Application
  • The SimpleReportPrinter
    • Building the SimpleReportPrinter and TextDispenser Classes
      • Time for Action—Building the TextDispenser Class
      • Time for Action—Building the SimpleReportPrinter Class
  • User Involvement
  • Our Responsibilities as Programmers
  • Printing Custom Controls
    • Time for Action—Creating the PrintableRichTextBox
  • Summary
 
  • Collections in the .NET Framework
    • ArrayList
    • Queue
    • Stack
    • SortedList
  • Generics
  • Building the Font Picker
    • Time for Action—Building Font Picker
  • Summary
 
  • Introduction to Double Buffering
  • The Scroll Bar
    • Scroll that Text!
      • Time for Action—Building FlickerFree Control
  • Summary
 
  • Handling Mouse Events
    • Working with Coordinates
  • Dragging and Dropping
    • Dragging
      • Time for Action—Dragging
  • Dragging and Dropping
    • Time for Action—Dragging and Dropping
  • Summary
 
  • Building Designer-Friendly Controls
    • Attributes
    • Designers
    • Type Converters
    • UI Type Editors
    • Property Editors
      • Creating Property Editors
        • Time for Action—Adding Design-Time Support
  • Summary
 
  • The Relationship between User and Computer
    • Communicating with Users
  • Requests, Input Parsing, Fault Tolerance, and Feedback
    • Examining the Sketcher Control
  • Looking Further Into Input Parsing
    • How Can We Use Regex to Our Advantage?
      • Time for Action—Creating the Regex Application
  • Our Regex Pattern in Detail
  • Optimization and Coding Conventions
  • Summary
 
  • Creating the PieChart Control
    • Time for Action—Creating the PieChart Control
  • Adding Slice Names and Delimiters
    • Time for Action—Improving the PieChart Control
  • PieChart Legend
    • Time for Action—Creating the PieChart Legend
  • Printing the PieChart
    • Time for Action—The Printable PieChart
  • Adding and Removing Slices
    • Time for Action—Add Application Support for PieChart Slice Add/Remove Operations
  • Summary
 
  • Creating a Control Library Using Visual Studio 2005
  • Creating a Control Library Using Visual C# Express 2005
  • Using a Custom Control Library