Spread Windows Forms Product Documentation Assembly Reference Getting Started Handling Installation Pipeline Licensing Product Requirements Activating the Product Creating a Runtime License Using Satellite Assemblies for Languages End-User License Agreement Installing the Product Handling Redistribution Using Windows Regional Settings or Options Getting More Practice Getting Technical Support Finding the Documentation Understanding the Spread Wizard Starting the Spread Wizard Using the Spread Wizard Tutorial: Creating a Checkbook Register Adding Formulas to Calculate Balances Setting the Cell Types of the Register Setting Up the Rows and Columns of the Register Adding Spread to the Checkbook Project Spread Designer Guide Using the Chart Designer Chart Collection Editors LabelArea Collection Editor LegendArea Collection Editor Light Collection Editor PlotArea Collection Editor Series Collection Editor Chart Designer Toolbar Opening the Chart Designer Adding Charts Applying and Customizing Themes Designing in the Data Area Rich Text Editing Adding and Customizing Sheets Selecting an Item in the Spread Designer Selecting an Individual Cell Selecting a Contiguous Range of Cells Selecting a Column of Cells Selecting an Entire FpSpread Component Selecting the Cells with Data Selecting a Row of Cells Selecting a Sheet of Cells Entering a Formula in Spread Designer Setting Properties in Spread Designer Setting Cell Properties in Spread Designer Setting Column Properties in Spread Designer Setting Row Properties in Spread Designer Setting Sheet Properties in Spread Designer Setting Table Properties in Spread Designer Spread Designer Dialogs Forecast Sheet Dialog Goal Seek Dialog Insert Function Dialog Cell Styles Dialog Cell Type Dialog Background Tab BarCode Tab Button Tab Check Box Tab Color Picker Tab Combo Box Tab Currency Tab Date-Time Tab GcCharMask Tab GcComboBox Tab GcDateTime Tab GcMask Tab GcNumber Tab GcTextBox Tab GcTimeSpan Tab General Tab Hyperlink Tab Image Tab Label Tab ListBox Tab Mask Tab MultiColumnComboBox Tab MultiOption Tab Number Tab Percent Tab Progress Tab Regular Expression Tab Rich Text Tab Slider Tab Text Tab Conditional Formatting Dialog Custom File Options Dialog Go To Cell Dialog Row Height or Column Width Dialog Row or Column Insert or Delete Dialogs Name Manager Dialog Sheet Print Settings Dialog Page Tab Header/Footer Tab Margins Tab Sheet Tab Shape Properties Dialog Shape Shadow Properties Dialog Sheet Settings Dialog Colors tab Font tab General tab Grid Lines tab Headers tab Sort Dialog Spread Settings Dialog Calculations Tab Edit tab General Tab Scroll Bars Tab Split Box Tab Titles Tab View Tab Unhide Specific Row or Column Dialogs Zoom Dialog Spread Designer Editors Formatter and Editor Alternating Row Collection Editor Border Editor Cells, Columns, and Rows Editor DefaultGroupFooter Editor Focus Indicator Editor Footer Editor Formula Editor GroupInfo Collection Editor Header Editor InputMap Editor Named Style Editor SheetSkin Editor SheetView Collection Editor Shortcut Collection Editor SmartPrintRule Collection Editor SpreadChart Collection Editor SpreadSkin Editor TabStrip Editor Spread Designer User Interface Formula Bar Spread Designer Data Area Spread Designer Menus Developer Menu Formulas Menu Context Menu Sheet Context Menu Data Menu Home Menu File Menu Settings Menu Help Menu Insert Menu Page Layout Menu Table Context Menu View Menu Spread Designer Property Window Spread Designer Status Bar Spread Designer Quick Access Toolbar Introduction Using Spread Designer in Runtime Getting Started Designing Starting Spread Designer Understanding Applied Settings Overview of Spread Designer Features Simple Example Using Spread Designer Running Spread Designer Stand Alone Designing Shapes Advanced Topics for Shapes Creating a Custom Compound Shape Using Shapes with Maps Using Pictures in Shapes Customizing Particular Shapes Customizing a Line as an Arrow Customizing a Polygon Customizing Text as a Shape Understanding the Built-in Shapes Things to Do with Any Shape Adding Hyperlink to a Shape Editing the Points of a Shape Adding a Shape to a Sheet Changing the Appearance of a Shape Using Keys with Shapes Locking a Shape Moving a Shape Resizing a Shape Rotating a Shape Adding a Drop Shadow Working with the Design Applying the Design to the Form Saving and Opening Design Files Previewing a Sheet in Spread Designer Printing a Sheet from Spread Designer Resetting and Clearing Design Work Developer's Guide Chart Control Creating Charts Advanced chart settings Fill Effects View Type Connecting to Data Using a Bound Data Source Using an UnBound Data Source Binding with cell range Creating Plot Types Combining different types of plots Creating a Pie Plot Creating a Polar Plot Creating a Radar Plot Creating an XY Plot Creating an XYZ Plot Creating a Y Plot Creating a Sunburst Chart Creating a Treemap Chart Using the Chart Control Save/Load Chart Control Using the Chart Control on sheet Saving or Loading a Chart Allowing the User to Change the Chart Understanding Charts Chart Types and Views Error Bars Multi-Level Category Labels Chart Object Model Chart User Interface Elements Plot area Axis Elevation and Rotation Walls Series Lighting, Shapes, and Borders Chart Line Style Plot Types Data Plot Types Pie Plot Types Doughnut Charts Pie Charts Polar Plot Types Polar Area Charts Pie Charts Polar Line Charts Polar Point Charts Polar Stripe Charts Radar Plot Types Radar Area Charts Radar Line Charts Radar Point Charts Radar Stripe Charts XY Plot Types XY Bubble Charts XY Line Charts XY Point Charts XY Stripe Charts XYZ Plot Types XYZ Line Charts XYZ Point Charts XYZ Stripe Charts XYZ Surface Charts Y Plot Types Bar Charts Market Data (High-Low) Charts Area Charts Line Charts Point Charts Stripe Charts Funnel Charts Histogram Charts Pareto Charts Waterfall Charts Box Whisker Charts Labels Legends Events from User Actions Clicking Actions Entering Data Actions Interactivity Actions Print Actions Selecting Actions Shape Actions Sheet-Level Actions Working with the Component Adding a Component to a Visual Studio 2019 or 2022 Project Adding NuGet Package in Spread Windows Forms Migrate .NET Framework Project to .NET 8 Platform Migrate .NET Framework Project to .NET 6 Platform Setting the Properties Using Smart Tags Drop-Down Working with Collection Editors Using Verbs in the Properties Window Adding Support for High DPI Settings Adding a Component to a Visual Studio 2013 Project Adding a Component to a Visual Studio 2017 Project Formulas in Cells Auto Format Formulas Creating and Using a Visual Function Precedents and Dependents Using the Array Formula Displaying Formula in Cells Specifying an External Reference in a Formula Creating and Using External Variable Using External Variables with Text Box Control Managing External Reference Allowing the User to Enter Formulas Working with the Formula Text Box Specifying a Cell Reference in a Formula Using a Circular Reference in a Formula Creating and Using a Custom Function Creating and Using a Custom Name Finding a Value Using GoalSeek Nesting Functions in a Formula Placing a Formula in Cells Setting up the Formula Provider Recalculating and Updating Formulas Automatically Specifying a Sheet Reference in a Formula Accessing Data from Header or Footer Setting up the Name Box Using DataTable Formula Using Language Package Available Language Packages for WinForms Creating and Using a Custom Language Package Working With Dynamic Array Formulas Understanding the Product Product Overview Cell Types Formatted versus Unformatted Data Underlying Models Shortcut Objects Key Features Data Binding Binding to Data Binding a Combo Box to a DataReader Binding a Cell Range in Spread as a Data Source to an External Control Binding Spread to an External Data Set Binding a Cell Range in Spread to an External Data Source Adding to Bound Data Adding a Row to a Bound Sheet Adding an Unbound Row to a Bound Sheet Customizing Data Binding Customizing Cell Types for Bound Sheets Customizing Column Headers for Bound Sheets Customizing Column and Field Binding Adding an Unbound Column to a Bound Sheet Working with Hierarchical Data Display Creating Custom Hierarchy Icons Creating a Hierarchical Display Manually Tutorial: Binding to a Corporate Database (Visual Studio 2013 or later) Customizing Interaction in Cells Using Double Click to Fill Cells Using Drag Operations to Fill Cells Filling Cells with Drag and Drop Filling Cells with Drag and Fill Filling Cells with Drag and Move Using Edit Mode and Focus Understanding Edit Mode in a Cell Locking a Cell Using Visible Indicators in the Cell Returning Information for a Clicked Cell Customizing the Focus Indicator for a Cell Preventing a Cell from Receiving Focus Locating the Pointer Using HitTest Using Validation Displaying Error Icons in Cells or Rows Using Validation in Cells Using a Character Format Validator Using a String Comparison Validator Using a Cell Comparison Validator Using a Value Comparison Validator Using an Encoding Validator Using the Exclude List Validator Using the Include List Validator Using a Pair Validator Using the Range Validator Using a Regular Expression Validator Using a Required Field Validator Using a Required Type Validator Using a Surrogate Character Validator Using a Text Length Validator Customizing the User Error Messages Validating User Input Adding Custom Context Menu to a Component Customizing Interaction Based on Events Displaying Context Menu at Runtime Customizing User Selection and Deselection of Data Working with Selections Hiding the Selection When Focus is Lost Customizing the Selection Appearance Specifying What the User Can Select Working with Deselections Customizing Undo and Redo Actions Customizing Row or Column Interaction Copying Size and Style of Row/Column on Insert Customizing User Searching of Data Searching for Data with Code Allowing the User to Perform an Advanced Search Allowing the User to Perform a Standard Search Managing Filtering of Rows of User Data Allowing the User to Filter Rows Setting the Appearance of Filtered Rows Customizing the Filter Bar Setting the Appearance of Filter Indicators Using Custom Filter Indicator Images Showing or Hiding Filter Indicators Determining Which Header Row Displays the Indicators Customizing Enhanced Filtering Adding a Custom Sort Dialog Managing Cell Range Filtering Customizing Simple Filtering Creating a Custom Filter Customizing the Filter List Setting the Appearance of the Display of the Filter Item List Defining the Contents of the Filter Item List Defining the Order of the Items in the Filter Item List Understanding Simple Row Filtering Managing Grouping of Rows of User Data Allowing the User to Group Rows Setting the Appearance of Grouped Rows Customizing the Group Bar Interoperability of Grouping with Other Features Creating a Custom Group Using Grouping Managing Outlines (Range Groups) of Rows and Columns Customizing the Appearance of an Outline (Range Group) Interoperability of Outlines with Other Features Using an Outline (Range Group) of Rows or Columns Managing Sorting of Rows of User Data Setting the Appearance of Sort Indicators Managing Cell Range Sorting Sorting Rows, Columns, or Ranges Using Automatic Sorting Allowing the User to Automatically Sort Rows Customizing Drawing Creating Enhanced Camera Shape Creating Camera Shapes Allowing the User to Draw with a Tablet PC Working with Images Working with Shapes in Code Working With Shapes (Enhanced Shape Engine) Keyboard Interaction Using Input Maps with Action Maps Changing an Input Map for a Child View Customizing the Input Maps Default Keyboard Maps Default Map for ExtendedSelect and WhenAncestorOfFocused Default Map for ExtendedSelect and WhenFocused Default Map for MultiSelect and WhenAncestorOfFocused Default Map for MultiSelect and WhenFocused Default Map for Normal and WhenAncestorOfFocused Default Map for Normal and WhenFocused Default Map for ReadOnly and WhenAncestorOfFocused Default Map for ReadOnly and WhenFocused Default Map for RowMode and WhenAncestorOfFocused Default Map for ReadOnly and WhenAncestorOfFocused Default Map for SingleSelect and WhenAncestorOfFocused Default Map for SingleSelect and WhenFocused Changing the Default Keyboard Map Deactivating the Default Keyboard Map Factors of Keyboard Map Usage Default Keyboard Navigation Underlying Keystroke Processing Saving and Loading Map Files Using the Excel Compatibility Input Maps Default Map for Excel Compatibility Using Excel-compatible Keyboard Shortcuts Printing Specifying What to Print Printing in Duplex Mode Printing an Area of the Sheet Printing the Portion of the Sheet with Data Printing a Child View of a Hierarchical Display Printing a Sheet with Cell Notes Printing Particular Pages Printing to PDF Printing a Range of Cells on a Sheet Printing a Sheet with Shapes Printing an Entire Sheet Customizing the Appearance of the Printing Customizing the Print Preview Dialog Adding a Page Break Customizing the Printed Page Header or Footer Customizing the Printed Page Layout Understanding the Printing Options Repeating Rows or Columns on Printed Pages Customizing the Print Job Settings Adding a Watermark to a Printed Page Optimizing the Printing Optimizing the Printing Using Size Optimizing the Printing Using Rules Displaying Dialogs for Users Modifying the PageSetup Dialog for the User Displaying an Abort Message for the User Displaying a Print Dialog for the User Providing a Preview of the Printing Ribbon Control Customizing the Sheet Appearance Customizing the Appearance of a Cell Customizing the Outline of the Component Creating and Customizing Cell Borders Creating Borders with Diagonal Lines Creating a Complex Border with Multiple Lines Displaying Grid Lines on a Sheet Customizing the Overall Component Appearance Setting the Component to the Original Appearance Applying a Skin to a Sheet Creating a Custom Skin for a Sheet Saving and Loading a Skin Loading a Skin Saving a Skin Applying a Skin to the Component Creating a Custom Skin for a Component Customizing the Dimensions of the Component Customizing Painting of Parts of the Component Customizing the Individual Sheet Appearance Setting a Background Image to a Cell Coloring a Cell Setting the Background Colors for a Sheet Setting a Background Image for a Sheet Using XP Themes with the Component Creating and Applying a Style for Cells Customizing the Display of the Pointer Text Rendering with GDI Using Conditional Formatting of Cells Setting up Conditional Formatting of a Cell Creating Conditional Formatting with Rules Data Bar Rule Highlighting Rules Top, Bottom, or Average Rules Icon Set Rule Color Scale Rules Customizing the Renderers Handling Right-to-Left Layouts Applying Theme to Customize the Appearance Customizing the User Interface Images Cell Types Understanding Additional Features of Cell Types Customizing Automatic Completion (Type Ahead) Allowing the Display of Buttons in a Cell Creating a Custom Cell Type Limiting Values for a Numeric Cell Customizing the Pop-Up Calculator Control Displaying Spin Buttons Working with a SubEditor Understanding How Cell Types Work Understanding How Cell Type Affects Model Data Understanding Cell Type Basics Understanding How Cell Types Display and Format Data Working with Editable Cell Types Setting a GcCharMask Cell Setting a GcComboBox Cell Setting a GcMask Cell Setting a GcNumber Cell Setting a GcTimeSpan Cell Setting a Currency Cell Setting a Date-Time Cell Customizing the Pop-Up Date-Time Control Setting a GcDateTime Cell Setting a GcTextBox Cell Setting a General Cell Setting a Mask Cell Setting a Number Cell Setting a Percent Cell Setting a Regular Expression Cell Setting a Rich Text Cell Setting a Text Cell Working with Graphical Cell Types Setting a Barcode Cell Setting a Button Cell Setting a Check Box Cell Setting a Color Picker Cell Setting a Combo Box Cell Allowing a Combo Box Cell to Handle a Double Click Setting a Hyperlink Cell Setting an Image Cell Setting a List Box Cell Setting a Multiple-Column Combo Box Cell Setting a Multiple Option Cell Setting a Progress Indicator Cell Setting a Slider Cell Sparklines Add Sparklines Using Methods Specifying Horizontal and Vertical Axes Customizing Markers and Points Working with Sparklines Add Sparklines using Formulas Area Sparkline BoxPlot Sparkline Bullet Sparkline Cascade Sparkline Column, Line, and Winloss Sparkline Gauge KPI Sparkline Hbar and Vbar Sparkline Histogram Sparkline Image Sparkline Month and Year Sparkline Pareto Sparkline Pie Sparkline Scatter Sparkline Spread Sparkline Stacked Sparkline Vari Sparkline Cells Adding Hyperlink in a Cell Inserting Cells Working with the Active Cell Displaying Cell Data Resizing the Data to Fit the Cell Aligning Cell Contents Resizing a Cell to Fit the Data Allowing Cell Data to Overflow Allowing Cells to Merge Automatically Adding a Note to a Cell Creating a Range of Cells Adding a Comment to a Cell Working with Cell Format Strings Formatting a Cell Value Adding Image in a Cell Creating a Span of Cells Setting Rich Text in a Cell Displaying Text Tips in a Cell Working with Pattern and Gradient Fill Effects Adding a Tag to a Cell Managing Data on a Sheet Creating Data Type for Custom Objects Remove Duplicates from Range Placing and Retrieving Data Handling Data Using Sheet Methods Handling Data Using Cell Properties Copying Data on a Sheet Repeatedly Filling a Range of Cells with Copied Cells Moving Data on a Sheet Removing Data from a Sheet Swapping Data on a Sheet Text to Columns Headers Customizing the Appearance of Headers Auto Expand Row Headers Customizing the Style of Header Cells Adding a Gradient to Header Cells Customizing the Header Grid Lines Showing or Hiding Headers Creating a Header with Multiple Rows or Columns Understanding Headers Setting the Height or Width of Header Creating a Span in a Header Setting the Header Text Customizing the Default Header Labels Customizing Header Label Text Customizing the Sheet Corner Appearance Customizable Cell in the Sheet Corner Header Count Synchronization in the Sheet Corner Drawing (Rendering) Style Cell Spans in the Sheet Corner General Style of the Sheet Corner Table Display in the Sheet Corner Text Display in the Sheet Corner Wrapping the Header Text Rows and Columns Setting up Preview Rows Adding a Row or Column Creating Alternating Rows Setting Fixed (Frozen) Rows or Columns Showing or Hiding a Row or Column Rows or Columns That Have Data Customizing the Number of Rows or Columns Removing a Row or Column Setting the Row Height or Column Width Resizing the Row or Column to Fit the Data Allowing the User to Resize Rows or Columns Using Auto Row Height Input Data in Rows or Columns Moving Rows or Columns Adding a Tag to a Row or Column Sheets Form Controls Protecting a Worksheet Selecting Multiple Sheets Customizing the Sheet Name Tabs Adding ChartSheet Customizing Clipboard Operation Options Displaying a Footer for Columns or Groups Navigating Sheet Tabs Working with the Active Sheet Adding a Sheet Placing Child Controls on a Sheet Copying and Inserting a Sheet Showing or Hiding a Sheet Moving a Sheet Working with Multiple Sheets Removing a Sheet Adding a Title and Subtitle to a Sheet Adding a Tag to a Sheet Working with 1-Based Indexing Spreadsheet Objects Rich Text Editing Resetting Parts of the Interface Allowing the User to Zoom the Display of the Component Improving Performance by Suspending the Layout Object Parentage Ways to Improve Performance Working with Scroll Bars Customizing the Scroll Bars Customizing Scroll Bar Tips Customizing the Position in the Display Customizing Split Boxes Customizing Viewports Adding a Status Bar Understanding Parts of the Component Allowing User Functionality Working With Slicers Working with Built-In Dialogs Tables Understanding Structured References Using Operators and Special Items Understanding Structured Reference Syntax Rules Using Structured References Adding a Table Auto Updating Filters in Table Binding a Table Using Table Filters Resizing a Table Sorting a Table Setting Table Styles Adding a Table Formula File Operations Opening Existing Files Opening an Excel File Opening a Spread COM File Opening an XML Data File Opening a Custom Text File Saving Data to a File Adding Custom Properties Saving Spreadsheet Data to Simple XML Saving to an Excel File Saving to an HTML File Saving to an HTML Table Saving to an Image File Saving to a PDF File Saving to a Spread XML File Saving to a Text File Using Serialization Parsing Formulas in Custom XML Deserialization Implementing a Serializer Class Understanding the Underlying Models Creating a Custom Sheet Model Understanding the Optional Interfaces Finding More Details on the Sheet Models Understanding the Sheet Model Classes and Interfaces Understanding the Axis Model Understanding the Data Model Understanding the Selection Model Understanding the Span Model Understanding the Style Model Storing Excel Summary and View Touch Support with the Component Using a Touch Keyboard Understanding Touch Messages Using the Touch Menu Bar Using Touch Support Using Touch Support with AutoFit Using Touch Support with Cell Notes Using Touch Support with Charts Using Touch Support with Clipboard Operations Using Touch Support with Drag and Fill Using Touch Support with Editable Cells Using Touch Support with Drop-Down Elements Using Touch Support with Filtering Using Touch Support with InputMan Cells Using Touch Support when Moving Columns or Rows Using Touch Support with Range Grouping Using Touch Support with Grouping Using Touch Support when Resizing Columns or Rows Using Touch Support with Scrolling Using Touch Support with Selections Using Touch Support with Shapes Using Touch Support when Sorting Using Touch Support with the Tab Strip Using Touch Support with Viewports Using Touch Support with Zooming Import and Export Reference Excel-Formatted Files Export Cell Settings Exported Cell-Type Settings Exported Print Settings Exported Row and Column Settings Exported Component and Sheet Settings Exported Chart Settings Exported Excel-Formatted Files Import Border Styles Substituted Cell Settings Imported Chart Settings Imported Formula Settings Imported Print Settings Imported Row and Column Settings Imported Sheet Settings Imported Workbook Settings Imported Version Comparison Reference Differences in Behavior and Operation Mapping Actions of COM in .NET General Differences in Product Design Inherent Differences Based on Platform Spread COM File Member Equivalents Spread COM Event Equivalents in .NET Spread COM Method Equivalents in .NET Spread COM Property Equivalents in .NET Object Import from Spread COM Borders Imported from Spread COM Files Cell Types Imported from Spread COM Files Formulas Imported from Spread COM Files Other Settings Imported from Spread COM Files