---
description: >-
  A control feature that manages the tick marks and scale labels for the gauge,
  allowing developers to set the number, length, and appearance of both major
  and minor tick marks, etc.
---

# Scale and Markers

## Overview

The Scale & Markers feature provides options to display and customize the gauge’s scale by configuring properties such as `ShowScaleMarkers`, `MajorTickCount`, `MinorTickCount`, `MajorTickLength`, and `ShowMinMaxLabels`. These settings determine the number and spacing of tick marks along the gauge’s arc, while also controlling the display of scale labels for the minimum and maximum values. This feature is critical for applications where precise measurement and visual scale representation are required.

***

### Key Points

| Aspect              | Description                                                                                 | Code Reference / Example                                                                                                                                                                                                        |
| ------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Scale Marker Toggle | Enables or disables the display of tick marks around the gauge.                             | `csharp\n// Toggle scale markers\nmyGauge.ShowScaleMarkers = true;`                                                                                                                                                             |
| Major Tick Count    | Sets the number of major tick marks that appear along the gauge's arc.                      | `csharp\n// Set to 10 major ticks\nmyGauge.MajorTickCount = 10;`                                                                                                                                                                |
| Minor Tick Count    | Defines how many minor tick marks are drawn between each pair of major ticks.               | `csharp\n// Set to 5 minor ticks between major ticks\nmyGauge.MinorTickCount = 5;`                                                                                                                                              |
| Tick Appearance     | Controls the length and color of the tick marks and the font and color of the scale labels. | `csharp\n// Set the major tick length and color\nmyGauge.MajorTickLength = 15f;\nmyGauge.TickColor = Color.Gray;\n// Configure scale label appearance\nmyGauge.ScaleLabelsFontSize = 9f;\nmyGauge.LabelColor = Color.DarkGray;` |
| Optional Labels     | Optionally display the minimum and maximum value labels along the scale.                    | `csharp\n// Enable min and max labels\nmyGauge.ShowMinMaxLabels = true;`                                                                                                                                                        |

***

### Best Practices

| Recommendation                     | Details                                                                                                                     | Example / Explanation                                                                            |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| Configure Tick Counts Thoughtfully | Choose `MajorTickCount` and `MinorTickCount` values that balance clarity and visual density without overwhelming the gauge. | `csharp\n// A balanced configuration\nmyGauge.MajorTickCount = 10;\nmyGauge.MinorTickCount = 3;` |
| Use Consistent Styling             | Align the tick color and scale label color with the overall gauge theme for a unified appearance.                           | `csharp\nmyGauge.TickColor = Color.Gray;\nmyGauge.LabelColor = Color.DarkGray;`                  |
| Enable Labels for Precision        | When precise measurement is critical, enable `ShowMinMaxLabels` so that the endpoints of the scale are clearly marked.      | `csharp\nmyGauge.ShowMinMaxLabels = true;`                                                       |

***

### Common Pitfalls

| Issue                                  | Details                                                                                                      | Resolution / Code Example                                                                                                                                                   |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Overcrowded Scale                      | Setting too many major or minor ticks can clutter the gauge, making it hard to read.                         | Instead of using extreme values, choose moderate counts:`csharp\nmyGauge.MajorTickCount = 10;\nmyGauge.MinorTickCount = 2;`                                                 |
| Mismatched Colors and Fonts            | Inconsistent tick and label colors can lead to a visually disjointed gauge display.                          | Ensure that `TickColor`, `LabelColor`, and font settings align with the overall gauge theme.`csharp\nmyGauge.TickColor = Color.Gray;\nmyGauge.LabelColor = Color.DarkGray;` |
| Ignoring the Display of Min/Max Labels | Omitting the display of minimum and maximum labels when needed can reduce the interpretability of the gauge. | Always verify the use-case; for precise measurement displays, enable the labels:`csharp\nmyGauge.ShowMinMaxLabels = true;`                                                  |

***

### Usage Scenarios

| Scenario             | Description                                                                                                                                            | Sample Code                                                                                                                                                                                              |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Standard Dashboard   | Display a gauge with clearly marked scales for monitoring performance metrics where both major and minor ticks aid in quick visual assessment.         | `csharp\n// Dashboard gauge configuration\nmyGauge.ShowScaleMarkers = true;\nmyGauge.MajorTickCount = 8;\nmyGauge.MinorTickCount = 4;\nmyGauge.MajorTickLength = 12f;\nmyGauge.ShowMinMaxLabels = true;` |
| Data Monitoring Tool | For applications that require precise readings, such as a temperature or pressure monitor, display both the ticks and the min/max labels for accuracy. | `csharp\n// Data monitoring configuration\nmyGauge.ShowScaleMarkers = true;\nmyGauge.MajorTickCount = 12;\nmyGauge.MinorTickCount = 3;\nmyGauge.ShowMinMaxLabels = true;`                                |
| Minimalist Design    | In modern UI designs, a minimal scale might be preferred; in this case, fewer tick marks without extra labels provide a clean look.                    | `csharp\n// Minimal scale configuration\nmyGauge.ShowScaleMarkers = true;\nmyGauge.MajorTickCount = 5;\nmyGauge.MinorTickCount = 0;\nmyGauge.ShowMinMaxLabels = false;`                                  |

***

### Real Life Usage Scenarios

| Scenario              | Description                                                                                                                                                  | Sample Integration Code                                                                                                                                                                                                                                                              |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Financial Dashboard   | A financial dashboard may use a gauge to display percentage metrics where the scale markers and min/max labels help users understand performance thresholds. | `csharp\n// Financial dashboard scale settings\nmyGauge.MajorTickCount = 10;\nmyGauge.MinorTickCount = 2;\nmyGauge.ShowMinMaxLabels = true;\n// Consistent styling for a professional look\nmyGauge.TickColor = Color.LightGray;\nmyGauge.LabelColor = Color.DarkSlateGray;`         |
| Industrial Monitoring | In an industrial setting, a gauge for monitoring temperature or pressure requires clearly visible tick marks and labels for safety and precision.            | `csharp\n// Industrial monitoring gauge\nmyGauge.MajorTickCount = 15;\nmyGauge.MinorTickCount = 5;\nmyGauge.MajorTickLength = 15f;\nmyGauge.ShowMinMaxLabels = true;\n// Ensuring high contrast for visibility\nmyGauge.TickColor = Color.Black;\nmyGauge.LabelColor = Color.Black;` |
| Healthcare Devices    | Medical devices often require a clear and uncluttered display; thus, a limited number of major ticks without extra labels can be beneficial for readability. | `csharp\n// Healthcare device gauge settings\nmyGauge.MajorTickCount = 7;\nmyGauge.MinorTickCount = 1;\nmyGauge.ShowMinMaxLabels = false;`                                                                                                                                           |

***

### Troubleshooting Tips

| Tip                               | Explanation                                                                                                   | Action                                                                                                                                                                       |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Verify Tick Count Values          | Incorrect tick counts (too high or too low) may result in a scale that is either too cluttered or too sparse. | Check that your `MajorTickCount` and `MinorTickCount` values align with your design goals.Example: If using `MajorTickCount = 20` leads to overcrowding, try reducing to 10. |
| Ensure Consistent Color Settings  | Inconsistent or conflicting color settings for ticks and labels may cause readability issues.                 | Confirm that `TickColor` and `LabelColor` are set to complementary colors that match your application's theme.                                                               |
| Confirm Label Visibility Settings | If minimum and maximum labels do not appear as expected, verify the `ShowMinMaxLabels` property setting.      | Ensure:`csharp\nmyGauge.ShowMinMaxLabels = true;`                                                                                                                            |

***

### Review

| Aspect              | Comments                                                                                                                             | Suggestions                                                                                                                               |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
| Visual Clarity      | The feature provides a robust method for displaying a detailed scale, ensuring that the gauge is easy to interpret even at a glance. | Consider adjusting the tick and label styling to fit different themes (light vs. dark) for optimal clarity.                               |
| Flexibility         | Offers extensive customization through tick counts, lengths, and optional labels.                                                    | Ensure that the selected values for `MajorTickCount` and `MinorTickCount` are appropriate for the intended display size and use case.     |
| Ease of Integration | Simple to integrate with straightforward property assignments and clear code examples.                                               | Follow the provided integration examples to tailor the scale to the application’s requirements, ensuring consistency with the overall UI. |

***

### Summary

| Summary Point            | Description                                                                                                                   |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| Feature Overview         | Manages the gauge's scale by configuring major and minor tick marks along with optional minimum/maximum value labels.         |
| Core Properties          | `ShowScaleMarkers`, `MajorTickCount`, `MinorTickCount`, `MajorTickLength`, and `ShowMinMaxLabels` determine scale appearance. |
| Integration Methods      | Properties are set directly, and the scale is rendered automatically as part of the gauge’s drawing routine.                  |
| Usage and Best Practices | Balance the number of ticks with visual clarity and ensure consistent styling with the overall gauge theme.                   |
| Troubleshooting and Tips | Verify that tick counts and color settings are appropriate to avoid a cluttered or sparse display.                            |

***

### Integration Demo

Below is a full sample code snippet to demonstrate how to integrate the Scale & Markers feature into a WinForms application:

```csharp
using System;
using System.Drawing;
using System.Windows.Forms;
using SiticoneNetFrameworkUI; // Namespace as provided

public class ScaleDemoForm : Form
{
    private SiticoneGaugeNumeric myGauge;
    private Button updateScaleButton;
    
    public ScaleDemoForm()
    {
        // Initialize the gauge with scale settings
        myGauge = new SiticoneGaugeNumeric
        {
            // Set up gauge value properties
            MinValue = 0f,
            MaxValue = 100f,
            Value = 50f,
            AnimationSpeed = 5f,
            ShowAnimation = true,
            // Set up scale and marker properties
            ShowScaleMarkers = true,
            MajorTickCount = 10,
            MinorTickCount = 3,
            MajorTickLength = 15f,
            ShowMinMaxLabels = true,
            Size = new Size(300, 300),
            Location = new Point(50, 30)
        };
        
        // Initialize a button to update scale settings dynamically
        updateScaleButton = new Button
        {
            Text = "Change Scale",
            Location = new Point(50, 350),
            Width = 100
        };
        updateScaleButton.Click += UpdateScaleButton_Click;
        
        // Add controls to the form
        Controls.Add(myGauge);
        Controls.Add(updateScaleButton);
    }
    
    private void UpdateScaleButton_Click(object sender, EventArgs e)
    {
        // Example: Change the number of major and minor ticks dynamically
        myGauge.MajorTickCount = 8;
        myGauge.MinorTickCount = 2;
        myGauge.MajorTickLength = 12f;
        // Optionally, update the min and max labels display
        myGauge.ShowMinMaxLabels = !myGauge.ShowMinMaxLabels;
    }
    
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.Run(new ScaleDemoForm());
    }
}
```

***

### API Reference

| Member           | Type  | Description                                                              |
| ---------------- | ----- | ------------------------------------------------------------------------ |
| ShowScaleMarkers | bool  | Enables or disables the display of scale tick marks along the gauge arc. |
| MajorTickCount   | int   | Sets the number of major tick marks displayed on the gauge.              |
| MinorTickCount   | int   | Sets the number of minor tick marks displayed between major ticks.       |
| MajorTickLength  | float | Determines the length (in pixels) of the major tick marks.               |
| ShowMinMaxLabels | bool  | Determines whether the minimum and maximum scale labels are displayed.   |

***

This documentation should provide a thorough guide for integrating and using the Scale & Markers feature in your WinForms applications. By following the provided examples, tables, and best practices, you can ensure that your gauge displays a clear and well-defined scale for improved user interaction and data interpretation.
