WinForms for .NET 5+ Planning
- Dominant language
- C#
- Stars
- 237
- Forks
- 191
- Avg merge
- 4d 16h
- Merged PRs (30d)
- 3
Description
Planning content for Desktop Guide - WinForms portion.
**Update** We should redesign this plan like the WPF plan was designed: evaluate each article in the .NET Framework for value, and redesign the TOC below to include each new article specifically.
----
The current overall plan is to:
- Copy the existing winforms documentation for .NET 5
- Sanitize content for .NET Framework terminology.
- Trim out articles that don't add value (small articles that are not critical to the story and are easily answered with a stackoverflow question).
Content plan items
- [x] Getting started (#73)
- Overview
- Create an app
- [x] Migration (#74)
- Migrate to .NET
- [ ] Forms (#75)
- [ ] Overview ([link (WPF)](https://docs.microsoft.com/dotnet/desktop/wpf/windows/?view=netdesktop-5.0) [link](https://docs.microsoft.com/dotnet/desktop/winforms/windows-forms-overview?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/order-of-events-in-windows-forms?view=netframeworkdesktop-4.8))
- [x] Event handlers ([link](https://docs.microsoft.com/dotnet/desktop/winforms/events-overview-windows-forms?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/event-handlers-overview-windows-forms?view=netframeworkdesktop-4.8))\
This requires an update with info from [order of events](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/order-of-events-in-windows-forms?view=netframeworkdesktop-4.8)
- [x] Automatic scaling ([link](https://docs.microsoft.com/dotnet/desktop/winforms/automatic-scaling-in-windows-forms?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/how-to-respond-to-font-scheme-changes-in-a-windows-forms-application?view=netframeworkdesktop-4.8))
- [ ] High DPI support ([link](https://docs.microsoft.com/dotnet/desktop/winforms/high-dpi-support-in-windows-forms?view=netframeworkdesktop-4.8))
- Common tasks
- [x] Add a form
- [ ] Configure autoscaling ([link](https://docs.microsoft.com/dotnet/desktop/winforms/automatic-scaling-in-windows-forms?view=netframeworkdesktop-4.8))
- [ ] Respond to scale changes ([link](https://docs.microsoft.com/dotnet/desktop/winforms/how-to-respond-to-font-scheme-changes-in-a-windows-forms-application?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/high-dpi-support-in-windows-forms?view=netframeworkdesktop-4.8))
- [x] Resize a form ([link](https://docs.microsoft.com/dotnet/desktop/winforms/how-to-resize-windows-forms?view=netframeworkdesktop-4.8))
- [x] Position a form ([link](https://docs.microsoft.com/dotnet/desktop/winforms/windows-forms-coordinates?view=netframeworkdesktop-4.8))
- [ ] Change the border style ([link](https://docs.microsoft.com/dotnet/desktop/winforms/how-to-change-the-borders-of-windows-forms?view=netframeworkdesktop-4.8))
- [ ] Dialogs and popups (#1069)\
This content should mirror what is in WPF. This content doesn't really exist in the .NET Framework winforms area
- [ ] Overview ([link](https://docs.microsoft.com/dotnet/desktop/winforms/how-to-display-dialog-boxes-for-windows-forms?view=netframeworkdesktop-4.8) [link (WPF)](https://docs.microsoft.com/dotnet/desktop/wpf/windows/dialog-boxes-overview?view=netdesktop-5.0))
- [ ] Common tasks
- [ ] Display a message box ([link (WPF)](https://docs.microsoft.com/dotnet/desktop/wpf/windows/how-to-open-message-box?view=netdesktop-5.0))
- [ ] Open a form ([link (WPF)](https://docs.microsoft.com/dotnet/desktop/wpf/windows/how-to-open-window-dialog-box?view=netdesktop-5.0))
- [ ] Close a form ([link (WPF)](https://docs.microsoft.com/dotnet/desktop/wpf/windows/how-to-close-window-dialog-box?view=netdesktop-5.0))
- [ ] Display a system dialog box ([link (WPF)](https://docs.microsoft.com/dotnet/desktop/wpf/windows/how-to-open-common-system-dialog-box?view=netdesktop-5.0) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/advanced/how-to-capture-user-input-from-a-printdialog-at-run-time?view=netframeworkdesktop-4.8))
- [ ] Get or set the main form ([link (WPF)](https://docs.microsoft.com/dotnet/desktop/wpf/windows/how-to-get-set-main-application-window?view=netdesktop-5.0))
- [ ] Controls (#76)
- [x] Overview
- [x] Handle control events ([link](https://docs.microsoft.com/dotnet/desktop/winforms/how-to-create-event-handlers-at-run-time-for-windows-forms?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/how-to-connect-multiple-events-to-a-single-event-handler-in-windows-forms?view=netframeworkdesktop-4.8))
- [ ] Layout options ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/margin-and-padding-in-windows-forms-controls?view=netframeworkdesktop-4.8))
- [x] Layout options
- [x] Labels
- [x] Custom controls
- [x] Custom painting and drawing
- [ ] Thread-safe calling ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-make-thread-safe-calls-to-windows-forms-controls?view=netframeworkdesktop-4.8))
- [x] Apply accessibility
- [ ] Control reference... (#77)
- [x] Common tasks
- [x] Add a control to a form
- [x] Add create access key shortcuts
- [x] Set the text displayed by a control
- [x] Set the image displayed by a control
- [x] Dock and anchor controls ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-anchor-controls-on-windows-forms?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-dock-controls-on-windows-forms?view=netframeworkdesktop-4.8))
- [x] Set the tab order for controls ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-set-the-tab-order-on-windows-forms?view=netframeworkdesktop-4.8))
- [ ] Develop controls (#1070)\
Custom designers for .NET require new namespace and type #41
- [ ] Overview ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/varieties-of-custom-controls?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/control-type-recommendations?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/windows-forms-control-development-basics?view=netframeworkdesktop-4.8))
- [ ] Design guidelines ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/property-changed-events?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/defining-an-event-in-windows-forms-controls?view=netframeworkdesktop-4.8))
- [ ] Extend controls ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-author-composite-controls?view=netframeworkdesktop-4.8))
- Composite user controls
- [ ] Overview ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-inherit-from-the-usercontrol-class?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/varieties-of-custom-controls?view=netframeworkdesktop-4.8))
- [ ] Constituent controls ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/constituent-controls?view=netframeworkdesktop-4.8))
- [ ] Tutorial: Create a user control ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-inherit-from-the-usercontrol-class?view=netframeworkdesktop-4.8))
- Common tasks
- [ ] Make your control invisible ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-give-your-control-a-transparent-background?view=netframeworkdesktop-4.8))
- User-drawn controls
- [ ] Overview ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/user-drawn-controls?view=netframeworkdesktop-4.8))
- [ ] Rendering an interface with OnPaint ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/overriding-the-onpaint-method?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/rendering-a-windows-forms-control?view=netframeworkdesktop-4.8))
- [ ] Tutorial: Create a new progress control ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-create-a-windows-forms-control-that-shows-progress?view=netframeworkdesktop-4.8))
- Common tasks
- [ ] Create a simple control ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-develop-a-simple-windows-forms-control?view=netframeworkdesktop-4.8))
- [ ] Visual Studio designer support
- [ ] Overview ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/varieties-of-custom-controls?view=netframeworkdesktop-4.8#custom-design-experience) [link](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/307hck25(v=vs.120)) [link](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/37899azc(v=vs.120)))
- [ ] Designer attributes ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-apply-attributes-in-windows-forms-controls?view=netframeworkdesktop-4.8#class-level-attributes))
- [ ] Troubleshoot designer errors ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/design-time-errors-in-the-windows-forms-designer?view=netframeworkdesktop-4.8))
- Common tasks
- [ ] Add an event handler
- Common form tasks
- Common data binding tasks
- Common control tasks
- [ ] Manage control properties set by the designer ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/defining-default-values-with-the-shouldserialize-and-reset-methods?view=netframeworkdesktop-4.8))
- [ ] Provide an image for the toolbox ([link](https://docs.microsoft.com/dotnet/desktop/winforms/controls/how-to-provide-a-toolbox-bitmap-for-a-control?view=netframeworkdesktop-4.8))
- [x] User input - Keyboard (#78)
- Overview
- Using keyboard events
- Input validation
- Common tasks
- Change the pressed key
- Determine which modifier key is pressed
- Handle input at the form level
- Simulate keyboard events
- [x] User input - Mouse (#79)
- Overview ([link](https://docs.microsoft.com/dotnet/desktop/winforms/user-input-in-a-windows-forms-application?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/how-mouse-input-works-in-windows-forms?view=netframeworkdesktop-4.8))
- Using mouse events ([link](https://docs.microsoft.com/dotnet/desktop/winforms/mouse-events-in-windows-forms?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/how-mouse-input-works-in-windows-forms?view=netframeworkdesktop-4.8))
- Drag-and-drop functionality ([link](https://docs.microsoft.com/dotnet/desktop/winforms/drag-and-drop-functionality-in-windows-forms?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/advanced/how-to-perform-drag-and-drop-operations-between-applications?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/dotnet/desktop/winforms/advanced/walkthrough-performing-a-drag-and-drop-operation-in-windows-forms?view=netframeworkdesktop-4.8))
- Common tasks
- Distinguish between clicks and double-clicks ([link](https://docs.microsoft.com/dotnet/desktop/winforms/how-to-distinguish-between-clicks-and-double-clicks?view=netframeworkdesktop-4.8))
- Control and modify the mouse pointer ([link](https://docs.microsoft.com/dotnet/desktop/winforms/mouse-pointers-in-windows-forms?view=netframeworkdesktop-4.8))
- Simulate mouse events ([link](https://docs.microsoft.com/dotnet/desktop/winforms/how-to-simulate-mouse-and-keyboard-events-in-code?view=netframeworkdesktop-4.8))
- [ ] Accessibility (#1071)
- [ ] Overview (Needs more. [link from controls section](https://docs.microsoft.com/dotnet/desktop/winforms/controls/providing-accessibility-information-for-controls-on-a-windows-form?view=netframeworkdesktop-4.8))
- [ ] Improvements over .NET Framework ([link](https://docs.microsoft.com/dotnet/desktop/winforms/windows-forms-accessibility-improvements?view=netframeworkdesktop-4.8))
- [ ] Designing an accessible UI
- [ ] Localization
- [ ] Data binding (#1074)
- [ ] Overview ([link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/interfaces-related-to-data-binding?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/data-sources-supported-by-windows-forms?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/data-binding-and-windows-forms?view=netframeworkdesktop-4.8))
- [ ] Design great data sources ([link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/multiple-controls-bound-to-data-source-synchronized?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/how-to-apply-the-propertynamechanged-pattern?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/change-notification-in-windows-forms-data-binding?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/how-to-implement-the-inotifypropertychanged-interface?view=netframeworkdesktop-4.8))
- [ ] Tutorial: Work with a data grid ([link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/how-to-navigate-data-in-windows-forms?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/ensure-the-selected-row-in-a-child-table-correct?view=netframeworkdesktop-4.8))
- [ ] Common tasks
- [ ] Create a control binding ([link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/how-to-create-a-simple-bound-control-on-a-windows-form?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/how-to-create-a-bound-control-and-format-the-displayed-data?view=netframeworkdesktop-4.8))
- [ ] Synchronize multiple controls ([link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/multiple-controls-bound-to-data-source-synchronized?view=netframeworkdesktop-4.8))
- [ ] Ensure the selected row or item remains selected (Improve w/other controls like combobox/listbox [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/ensure-the-selected-row-in-a-child-table-correct?view=netframeworkdesktop-4.8))
- [ ] Implement the INotifyPropertyChanged interface ([link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/how-to-implement-the-inotifypropertychanged-interface?view=netframeworkdesktop-4.8))
- [ ] Publishing
- [ ] Printing (#1075)
- [ ] Overview ([link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/controls/printdialog-component-overview-windows-forms?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/advanced/how-to-capture-user-input-from-a-printdialog-at-run-time?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/advanced/how-to-create-standard-windows-forms-print-jobs?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/advanced/windows-forms-print-support?view=netframeworkdesktop-4.8) [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/advanced/how-to-complete-windows-forms-print-jobs?view=netframeworkdesktop-4.8))
- [ ] Common tasks
- [ ] Print a text document (mention word/pdf not supported, need 3rd party [link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/advanced/how-to-print-a-multi-page-text-file-in-windows-forms?view=netframeworkdesktop-4.8))
- [ ] Print a form ([link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/advanced/how-to-print-a-windows-form?view=netframeworkdesktop-4.8))
- [ ] Use print preview ([link](https://docs.microsoft.com/en-us/dotnet/desktop/winforms/advanced/how-to-print-in-windows-forms-using-print-preview?view=netframeworkdesktop-4.8))
- [ ] Using Visual Studio (#181)
- [ ] Advanced
- [ ] Graphics and drawing
- [ ] App settings (make sure to distinguish portable (app-level) settings from user profile settings)
- [ ] Drag-and-drop
- [ ] COM and Unmanaged apps
- [ ] Power management
- [ ] Forms visual inheritance
- [ ] Multiple-Document Interface (MDI) apps
- [ ] Integrate user help
- [ ] Interop with WPF and UWP
.NET Framework 4 TOC and my notes
```
- Windows Forms
- Getting Started with Windows Forms
- Windows Forms Overview (keep)
- Creating a New Windows Form
- How to: Create a Windows Forms Application from the Command Line (keep; rewrite to visual studio-based
- Windows Forms Coordinates (low; small)
- Creating Event Handlers in Windows Forms > I suggest this split and tuned to both FORMS and CONTROLS. Those are the winforms specific things that have events. No need for a generic overview
- Events Overview (low;)
- Event Handlers Overview (low; small; merge with events overview)
- How to: Create Event Handlers at Run Time for Windows Forms (med; google search items suggest ppl looking for generic C# events; also, doesn't really do "run time" events; Improve with VS)
- How to: Connect Multiple Events to a Single Event Handler in Windows Forms (low; odd. vb is demonstrated in code, C# in VS steps. is it useful? delete)
- Order of Events in Windows Forms (important; break up and put in forms overview (or events info) and controls overview (or events info))
- Adjusting the Size and Scale of Windows Forms
- How to: Resize Windows Forms" (keep)
- Automatic Scaling in Windows Forms (keep)
- How to: Respond to Font Scheme Changes in a Windows Forms Application (low;keep)
- High DPI Support In Windows Forms (med;keep)
- Changing the Appearance of Windows Forms
- How to: Change the Borders of Windows Forms (low;delete or keep)
- Windows Forms Controls
- Arrange controls on Windows Forms \
- How to: Align Multiple Controls | ALL ITEMS IN THIS GROUPED BLOCK
- How to: Anchor Controls | =========================================================================
- How to: Dock Controls | Some tasks are VS designer related. some are code related;
- How to: Layer Objects | needs more diagrams and placed in a How to use VS with WinForms section
- How to: Lock Controls | Port how to where it makes sense
- How to: Position Controls |
- How to: Resize Controls |
- How to: Set Grid Options for All Windows Forms |
- How to: Reassign Existing Controls to a Different Parent |
- How to: Set the Tab Order |
- Walkthrough: Arrange Controls Using Snaplines (Odd that it's a walkthrough; this info should be ported to a generic layout article)
- Walkthrough: Laying Out Windows Forms Controls with Padding, Mar... (Port to a generic layout overview article)
- Putting Controls on Windows Forms |
- How to: Add Controls |
- How to: Add Controls Without a User Interface |
- How to: Add to or Remove from a Collection of Controls at Run Time |
- Walkthrough: Automatically Populating the Toolbox with Custom Components |
- How to: Add ActiveX Controls |
- Considerations When Hosting an ActiveX Control on a Windows Form /
- Label controls and provide shortcuts
- Overview (delete; not an overview, just header links)
- Create access keys for controls (important; ported)
- Set the text displayed by a control (low; not really useful)
- Set the image displayed by a control (low; not really useful)
- Provide accessibility information for controls (important; ported)
- Controls to use on Windows Forms
- .... \
- .... | Almost 500 articles breaking down individual controls with overviews
- .... | and how to articles.
- .... |
- .... | Some of the higher level articles should be ported as reference material
- .... | such as what controls are available and what they do.
- .... |
- .... | Import these into the TOC. Scrub the articles for Framework.
- .... /
- Developing Custom Windows Forms Controls with the .NET Framework
- Overview of Using Controls in Windows Forms (delete; basic overview of adding buttons??)
- Varieties of Custom Controls (low; merge below article into same "Types of Custom Controls" article)
- Control Type Recommendations (low; merge above article into same "Types of Custom Controls" article)
- Windows Forms Control Development Basics (low; merge into the new "Types of Custom Controls" article or an overview article)
- How to: Develop a Simple Windows Forms Control (low; important; clean up)
- How to: Create a Windows Forms Control That Shows Progress (low; would make good tutorial)
- Developing a Composite Windows Forms Control (delete; link farm)
- Properties in Windows Forms Controls
- Defining a Property (low; important; designer related; could be rolled into something else)
- Defining Default Values with the ShouldSerialize and Reset Methods (low; important; designer related; could be rolled into something else)
- Property-Changed Events (low; generic guidance on .NET property change handler; move to design guide for WinForms)
- How to: Expose Properties of Constituent Controls (low; generic guidance on .NET property forwarding; delete?)
- Method Implementation in Custom Controls (low; generic guidance on .NET creating a method; delete?)
- Events in Windows Forms Controls
- Overriding the OnPaint Method (med; mix of generic OnEventName guidance and OnPaint; roll into something else)
- Handling User Input (low; important; events list related to input)
- Defining an Event (low; generic guidance on .NET event design implementation; move to design guide for WinForms?)
- Attributes in Windows Forms Controls (low; designer related; move to design guide for WinForms)
- How to: Apply Attributes in Windows Forms Controls (low; semi-designer data-binding related; unsure)
- Custom Control Painting and Rendering
- Rendering a Windows Forms Control (low; important; basic overview)
- User-Drawn Controls (low; important)
- Constituent Controls (low; small; roll into other article)
- How to: Make Your Control Invisible at Run Time (low; small; it's show/hide a control)
- How to: Give Your Control a Transparent Background (low; small; more popular than other article; it's a tip/trick too)
- Rendering Controls with Visual Styles (low; overview; is it still important? talks about "in .net 2.0 we introduced...")
- How to: Use a Control Rendering Class (low; briefly shows how to use ControlPaint class and detect if visual styles is on; roll into other?)
- How to: Render a Visual Style Element (low; Unsure what it does. Never heard of this stuff before. Not in my books either)
- Layout in Windows Forms Controls
- AutoSize Property Overview (low; important)
- How to: Align a Control to the Edges of Forms (low; too small; roll or delete)
- Margin and Padding in Windows Forms Controls (low; important; more examples needed; more info needed (the designer takes these into account, does autosizing and layout?); maybe roll into general layout article?)
- How to: Create a Border Around a Windows Forms Control Using Padding (low; too small; delete)
- How to: Implement a Custom Layout Engine (dead; interesting; roll into a conceptual perhaps?)
- Multithreading in Windows Forms Controls
- How to: Make Thread-Safe Calls to Windows Forms Controls (high; important)
- How to: Use a Background Thread to Search for Files (low; important info should be ported into general multithreading overview; delete)
- Windows Forms Controls in the .NET Framework by Function (med; useful)
- Develop Controls at Design Time
- Overview > (This whole section has a lot of great content. Walkthroughs are short, perhaps turn them into a full user control tutorial?)
- Walkthrough: Author a Composite Control (low; important; feedback on article states "Add VB" and "Better example of a real composite control (forward events etc)")
- Walkthrough: Inherit from a Control (low; doesn't detail anything special; delete)
- Walkthrough: Perform Common Tasks Using Design Actions (dead; delete/rewrite; describes the > icon actions in the designer, not how to creat them!)
- Walkthrough: Serialize Collections of Standard Types (dead; important; roll into something; useful information)
- Walkthrough: Debug Custom Controls (low; important; needs clarification, less sections)
- Walkthrough: Create a Control That Takes Advantage of Design-Time Features (med; important; needs clean up; demos two controls. Turn into tutorial)
- How to: Author Controls (dead; move into overview; nothing to do with design-time)
- How to: Author Composite Controls (dead; not much info; delete/roll into tutorial)
- How to: Inherit from the UserControl Class (low; less info than "composite controls" describes same thing better keyword though; delete)
- How to: Inherit from Existing Controls (med; important; improve with better examples and keywords)
- How to: Inherit from the Control Class (low; important; improve with better examples and keywords)
- How to: Align a Control to the Edges of Forms (dead; delete)
- How to: Display a Control in Choose Toolbox Items (low; describes registering with GAC; how does this work in .NET 5+???)
- How to: Provide a Toolbox Bitmap for a Control (low; important to the designer)
- How to: Test the Run-Time Behavior of a UserControl (delete; doesn't work in .NET 5)
- Design-Time Errors in the Windows Forms Designer (high; important; needs clean up, better keywords, maybe a whole reference section in the TOC related to these errors? lots of neg feedback)
- Troubleshoot Control and Component Authoring (dead; delete)
- User Input in Windows Forms
- User Input in a Windows Forms Application (low;tiny;roll into both mouse/keyboard overviews)
- Keyboard Input in a Windows Forms Application
- How Keyboard Input Works (low;important;is overview)
- Using Keyboard Events (low;important;roll into overview)
- How to: Modify Keyboard Input to a Standard Control (low;important;bounce
- How to: Determine Which Modifier Key Was Pressed (low;important;bounce
- How to: Handle Keyboard Input at the Form Level (low;important
- Mouse Input in a Windows Forms Application
- How Mouse Input Works in Windows Forms (low;important)
- Mouse Events in Windows Forms (low;important)
- How to: Distinguish Between Clicks and Double-Clicks (low
- Mouse Pointers in Windows Forms (low;important;roll into overview)
- Mouse Capture in Windows Forms (low;important;roll into overview)
- Drag-and-Drop Functionality in Windows Forms (low;important;roll into how to or overview)
- How to: Simulate Mouse and Keyboard Events in Code (med;keep and update
- How to: Handle User Input Events in Windows Forms Controls (low;delete;it's a single paragraph with a whole app in one file. Odd
- User Input Validation in Windows Forms (low;important)
- Dialog Boxes in Windows Forms
- How to: Display Dialog Boxes for Windows Forms (med;small;roll into general display windows article
- Windows Forms Data Binding
- Data Binding and Windows Forms (high;low ratings;merge into single overview)
- Data Sources Supported by Windows Forms (high;low ratings;merge into single overview)
- Interfaces Related to Data Binding (low; important)
- Change Notification in Windows Forms Data Binding (low; important; should be rolled into something else though)
- How to: Apply the PropertyNameChanged Pattern (low; important; small, rolled into bigger)
- How to: Create a Bound Control and Format the Displayed Data (low; important; should be rewritten with better example)
- How to: Create a Simple-Bound Control on a Windows Form (low; important; should be rewritten with better example)
- How to: Ensure Multiple Controls Bound to the Same Data Source Remain Synchronized (low; important; needs improvement and more details)
- How to: Ensure the Selected Row in a Child Table Remains at the Correct Position (low; important)
- How to: Implement the IListSource Interface (low; delete)
- How to: Implement the INotifyPropertyChanged Interface (med; important)
- How to: Implement the ITypedList Interface (low; delete)
- How to: Navigate Data in Windows Forms (med; improve into tutorial)
- Windows Forms Security
- Security in Windows Forms Overview (review; CAS doesn't apply anymore)
- More Secure File and Data Access in Windows Forms (low; important; some stuff doesn't apply; move elsewhere)
- More Secure Printing in Windows Forms (delete; not apply)
- Additional Security Considerations in Windows Forms (delete; not apply)
- ClickOnce Deployment for Windows Forms (migrate; link farm for VS docs)
- Accessibility improvements with .NET Core 3.0 (move)
- How to: Access Keyed Collections in Windows Forms (low; delete
- Enhancing Windows Forms Applications
- Graphics and Drawing in Windows Forms
- .... \
- .... |
- .... | A lot of content here. Well written and important.
- .... | Do the same as the Controls Overview section and cross link it to the TOC
- .... |
- .... /
- Application Settings for Windows Forms (a lot of this stuff is covered in visual studio docs. what should we cover?)
- Application Settings Overview (med; important)
- Application Settings Architecture (low; important)
- Application Settings Attributes (low; important)
- Application Settings for Custom Controls (low; important)
- Using Application Settings and User Settings
- How To: Create a New Setting at Design Time (med; important; improve)
- How To: Change the Value of an Existing Setting at Design Time (med; important; improve)
- How To: Change the Value of a Setting Between Application Sessions (med; important; improve)
- How To: Read Settings at Run Time With C# (high; important; improve; verbatim (1))
- How To: Write User Settings at Run Time with C# (high; important; improve)
- How To: Add Multiple Sets of Settings To Your Application in C# (low; important; improve)
- How to: Create Application Settings (low; important)
- How to: Validate Application Settings (low; important)
- Windows Forms Print Support
- How to: Create Standard Windows Forms Print Jobs (dead; important)
- How to: Capture User Input from a PrintDialog at Run Time (dead; important)
- How to: Choose the Printers Attached to a User's Computer in Windows Forms (low; delete)
- How to: Print Graphics in Windows Forms (low; important)
- How to: Print a Multi-Page Text File in Windows Forms (low; important)
- How to: Complete Windows Forms Print Jobs (dead; small; move into something else)
- How to: Print a Windows Form (med; good page views, should keep)
- How to: Print in Windows Forms Using Print Preview (med; restructure this)
- Drag-and-Drop Operations and Clipboard Support
- Walkthrough: Performing a Drag-and-Drop Operation in Windows Forms (high; important)
- How to: Perform Drag-and-Drop Operations Between Applications (low; important)
- How to: Add Data to the Clipboard (low; important)
- How to: Retrieve Data from the Clipboard (med; important)
- Networking in Windows Forms Applications (dead; link farm; delete)
- Globalizing Windows Forms
- International Fonts in Windows Forms and Controls (dead; important)
- Bi-Directional Support for Windows Forms Applications (dead; important)
- Display of Asian Characters with the ImeMode Property (dead; small; roll into something else)
- Windows Forms and Unmanaged Applications
- Windows Forms and Unmanaged Applications Overview (dead; review; what is relevant?)
- How to: Support COM Interop by Displaying Each Windows Form on Its Own Thread (dead; review; what is relevant?)
- How to: Support COM Interop by Displaying a Windows Form with the ShowDialog Method (dead; review; what is relevant?)
- System Information and Windows Forms (dead; small)
- Power Management in Windows Forms (dead; important; update with more info)
- Help Systems in Windows Forms Applications (dead; HTML help is mostly dead on windows? What replaces it?)
- Windows Forms Visual Inheritance (Create new section under forms that relates to this content)
- How to: Inherit Windows Forms (med; small; )
- How to: Inherit Forms Using the Inheritance Picker Dialog Box (low; small; visual studio related)
- Effects of Modifying a Base Form's Appearance (dead; delete)
- Walkthrough: Demonstrating Visual Inheritance (low; delete)
- How to: Use the Modifiers and GenerateMember Properties (low; important with )
- Multiple-Document Interface (MDI) Applications
- How to: Create MDI Parent Forms (med; important)
- How to: Create MDI Child Forms (high; important)
- How to: Determine the Active MDI Child (low; important)
- How to: Send Data to the Active MDI Child (low; important)
- How to: Arrange MDI Child Forms (low; )
- Integrating User Help in Windows Forms
- How to: Provide Help in a Windows Application (low; important but unsure if HELP 1.0 is still supported??)
- How to: Display Pop-up Help (low; important)
- Control Help Using ToolTips (dead; important)
- Windows Forms Accessibility
- Walkthrough: Creating an Accessible Windows-based Application (dead; important)
- Properties on Windows Forms Controls That Support Accessibility Guidelines (dead; important)
- Using WPF Controls (rewrite this whole section. Focus on XAML islands Win10+WPF?)
- How to: Copy and Paste an ElementHost Control at Design Time (dead; delete)
- Walkthrough: Arranging WPF Content on Windows Forms at Design Time (dead; delete)
- Walkthrough: Creating New WPF Content on Windows Forms at Design Time (med; improve)
- Walkthrough: Assigning WPF Content on Windows Forms at Design Time (dead; delete)
- Walkthrough: Styling WPF Content (dead; rewrite/roll; Interesting as it describes editing the XAML in the control host)
(1)
I think you have omitted how settings get implemented. The configuration is saved to a Settings.settings file. Access the setting properties via the Settings.cs file. Any best practice suggestions? Also the documentation -- at least how it links from Google -- appears to confuse Runsettings with Settings. Also it might be useful to explain the difference in use between the Settings file/objects and the Application Configuration File. When should I use the Settings vs. App.config?
Contributor guide
Assessment
This issue has not been assessed yet.