|
Windows Forms in Action Second Edition of Windows Forms Programming with C# Erik Brown April, 2006 | 850 pages ISBN: 1-932394-65-6 |
|||
| $49.95 | Softbound print book | ||
![]() |
$22.50 | PDF ebook | |
Table of Contents
preface
preface to the first edition
acknowledgments
about this book
what's new in 2.0
about the cover illustration
I Hello Windows Forms
- 1 Getting started with Windows Forms
- Programming in C#
- Namespaces and classes, Constructors and methods, C# types, The Main method, The Application class, Program execution
- Windows Forms controls
- The using directive, The Control class, The Controls property
- Loading files
- Events, The OpenFileDialog class, Bitmap images, Resizing forms, The Anchor property, The Dock property
- Recap
- 2 Getting started with Visual Studio
- Programming with Visual Studio
- Creating a project, Executing a program, Viewing the source code
- Windows Forms controls
- The AssemblyInfo file, Renaming a form, The Toolbox window
- Loading files
- Handling events in Visual Studio, Handling exceptions, Resizing forms, Assigning the Anchor property, Assigning the Dock property
- Recap
II Basic Windows Forms
- 3 Menus
- Controls and containers
- Control classes, Container classes
- The nature of menus
- Menu terminology, Menus in .NET
- Menu bars
- Adding a menu strip, Adding a menu item, Adding drop-down menu items
- Menu handling
- Adding handlers via the designer window, Adding handlers via the properties window
- Recap
- 4 Context menu and status strips
- Context menu strips
- Creating a context menu, Adding items to a context menu, Sharing a context menu
- Drop-down events and event arguments
- Handling a submenu item click, Altering a submenu before it appears
- Status strips
- Creating a status strip, Adding status strip labels
- Recap
- 5 Reusable libraries
- Class libraries
- Creating a class library, Using the command-line tools, Creating the Photograph class, Defining class properties
- The object class
- Comparing object and Object, Overriding object methods
- Interfaces
- Interfaces and collections, Appreciating collection classes
- Generics
- Generic classes, Appreciating generic collections, Disposing of resources
- Recap
- 6 Files and common dialog boxes
- Standard menus
- Changing the menu bar, Managing an album
- Common file dialog boxes
- Creating a new album, Opening an album, Saving an album, Printing and exiting
- Streams and writers
- Stream classes, Writing an album to disk, Reading an album from disk
- Album management
- Adding and removing images, Navigating an album, Displaying album status
- Recap
- 7 Dialog boxes
- Message boxes
- Creating an OK message box, Creating a YesNo message box, Creating a YesNoCancel message box
- The Form.Close method
- Comparing Close and Dispose, Intercepting the Form.Close method
- Forms and panels
- The Form class, Creating a dialog box
- Modeless dialog boxes
- Creating a modeless dialog box, Adding panels and labels to a form, Updating the PixelDialog controls, Displaying a modeless dialog box, Updating the PixelDialog form, Tracking mouse movement
- Recap
- 8 Text boxes
- Form inheritance
- Creating a base form, Creating a derived form
- Standard text boxes
- Adding text boxes, Adding a multiline text box, Hooking up a dialog box
- Masked text boxes
- Handling key presses, Masking text
- Recap
- 9 Buttons
- Push buttons
- The Button class, Expanding the PhotoAlbum class, Storing album data
- Radio buttons
- The RadioButton class, Creating an album dialog box
- Check box buttons
- The CheckBox class, Using check box buttons, Completing the AlbumEditDialog form, Hooking up a dialog box (again)
- Tooltips and error providers
- The ToolTip class, Displaying tooltips, Building extender providers, The ErrorProvider class
- Recap
- 10 Handling user input and encryption
- Keyboard events
- The three events, Handling the KeyPress event, Handling the KeyDown and KeyUp events, Preprocessing command keys
- Mouse events
- The MouseEventArgs class, Implementing FlybyTextProvider using mouse events, Using the FlybyTextProvider class
- Encryption
- The Cryptography namespace, Encrypting data, Writing encrypted data, Reading encrypted data, Storing encrypted albums
- Link labels
- The LinkLabel class, Saving encrypted albums, Opening encrypted albums
- Recap
- 11 List boxes
- List controls
- The ListControl classes, Creating a new solution, Refactoring application code
- Simple list boxes
- The ListBox class, Displaying a data source, Selecting list items
- Multiselection list boxes
- Enabling multiple selection, Reordering list items, Removing list items
- Recap
- 12 Combo boxes
- Standard combo boxes
- The ComboBox class, Creating a combo box, Selecting combo box items, Modifying the data source
- Editable combo boxes
- Creating a combo box (again), Updating a combo box dynamically
- Automatic completion
- Understanding automatic completion, Using auto-completion in a combo box
- Item formatting
- The formatting interfaces, Implementing an IFormattable interface, Using formatting in list controls, Implementing custom formatters
- Recap
- 13 Tab controls and pages
- Tab control fundamentals
- The TabControl class, Creating tab controls
- Tab page fundamentals
- The TabPage class, Creating tab pages, Enclosing existing controls in a tab page
- Owner-drawn tabs
- The DrawItem event, Drawing page tabs, Using a custom tab control
- Owner-drawn list boxes
- Custom list items, Assigning item size, Drawing list items
- Recap
- 14 Dates, calendars, and progress bars
- Date and time display
- The DateTimePicker class, Creating a DateTimePicker control
- Date and time formats
- Formatting date and time values, Customizing a DateTimePicker control
- Calendars
- The MonthCalendar class, The UserControl class, Creating a calendar control, Initializing a calendar, Handling mouse clicks in a calendar control
- Progress bars
- Creating an images user control, The ProgressBar class, Performing a background task
- Recap
- 15 Bells and whistles
- Images and cursors
- Bitmaps, Icons, Cursors
- Embedded resources and sounds
- Embedding a resource, Using the project resource file, Playing a sound
- Track bars
- The TrackBar class, Using track bars
- Timers
- The Timer class, Using timers
- Recap
- 16 Tool strips
- Tool strip fundamentals
- The ToolStrip classes, Creating a tool strip
- Tool strip item fundamentals
- The ToolStripItem classes, Adding standard tool strip items, Item alignment, overflow, and other features
- Image lists
- The ImageList class, Creating an image list, Adding custom tool strip buttons
- Tool strip containers
- The ToolStripContainer class, Embedding a tool strip in a container
- Specialized button items
- Toggle buttons, Drop-down buttons, Split buttons
- Recap
III Advanced Windows Forms
- 17 Custom controls
- Extending existing controls
- Designing a scrollable picture box, Creating a scrollable picture box, Implementing a scrollable picture box
- Control-based classes
- Creating a Control-based class, Common features of custom controls
- The ScrollablePictureBox class
- Painting the control, Resizing the control, Handling property changes
- User controls
- Custom controls in Visual Studio
- Customizing class behavior, Customizing class member behavior, Customizing design time behavior
- Recap
- 18 Explorer interfaces and tree views
- Interface styles
- Single document interfaces, Multiple document interfaces, Explorer interfaces
- Explorer interfaces in .NET
- The SplitContainer class, The TreeView class, Creating an explorer interface
- Tree nodes
- The TreeNode class, Creating tree nodes
- Custom tree views
- Creating a custom tree view, Creating custom tree nodes, Using interfaces with custom nodes, Expanding and collapsing tree nodes, Selecting and editing tree nodes, Integrating a custom tree view control
- Recap
- 19 List views
- List view fundamentals
- The ListView class, Creating a list view, Populating a list view
- List view columns
- Defining column headers, Populating list view columns, Sorting list view columns
- List view features
- Selecting items, Editing item labels, Activating items
- Virtual Items
- Recap
- 20 Multiple document interfaces
- MDI forms
- Creating an MDI container, Creating an MDI child, Updating the entry point
- Merged menus
- Assigning merge actions, Assigning merge indexes, Opening and closing child forms
- MDI children
- Merging tool strips, Displaying pixel data, Opening an album twice, Updating the title bar
- MDI child window management
- Arranging MDI children, Displaying an MDI child list menu
- Recap
- 21 Data binding
- Data grid views
- The DataGridView class, Creating a data grid view, Populating a data grid view
- Columns and rows
- Creating columns, Creating combo box columns, Understanding bands and rows
- Cells
- The DataGridViewCell class, Using the cell class, Saving a modified album
- Recap
- 22 Two-way binding and binding sources
- Binding lists
- The IBindingList interface, Creating a binding list
- Editable objects
- The IEditableObject interface, Creating an editable object
- Simple data binding
- The BindingSource class, Altering the MyAlbumData application, Performing simple binding, Updating data bound controls, Binding navigators
- Recap
- 23 Odds and ends .NET
- Printing
- Using the print classes, Drawing a print page
- Drag-and-drop
- Initiating drag-and-drop, Receiving drag-and-drop
- Web browsing
- Creating an about box, The WebBrowser class, Browse to a web site
- Application settings
- Storing the Location setting, Defining a custom setting
- Deployment
- Creating a setup project, Publishing a ClickOnce application
- Recap
- Practical and real-world
- Examples presented in unique tabular form
- Covers application integration and code management
- Expands and updates the widely acclaimed First Edition
appendix A C# primer 701
appendix B .NET namespaces 735
appendix C Visual index 741
appendix D For more information 758
bibliography 760
index 763
DESCRIPTION
Using many examples all on a common theme, this second edition of Windows Forms Programming with C# presents Windows application development in a step-by-step, easy to follow format. Written for beginner and intermediate programmers eager to get their hands dirty, the text covers fundamentals like labels, buttons, and tool strips, as well as advanced concepts like owner-drawn lists, custom controls, and two-way data binding.
The book is a tutorial, leading the reader through Windows application development using C# and Visual Studio .NET. It illustrates how the classes in the .NET Framework interact in a fully functional application. Material added for the second edition includes coverage of the .NET 2.0 Framework, extender providers, cryptographic classes, and application deployment.
Highlights
ABOUT THE AUTHOR...
A mathematician by training, Erik Brown has been working with code for over 17 years, as a developer, architect, consultant, and manager. He is a veteranof three successful start up companies and currently works as a program manager at Unisys Corporation. Erik lives in northern Virginia with his wife and two daughters.


