---
id: "T:cAlgo.API.ToggleButtonEventArgs"
kind: "class"
namespace: "cAlgo.API"
url: "https://help.ctrader.com/ctrader-algo/references/EventArgs/ToggleButtonEventArgs/"
---

> Documentation index for agents: https://help.ctrader.com/ctrader-algo/llms.txt · machine index: https://help.ctrader.com/ctrader-algo/api.json

# ToggleButtonEventArgs (class)

Represents the toggle button event class.

Environments: Desktop supported · CLI not supported · Cloud not supported.

- CLI: Never raised in the CLI: the events that pass it never fire there (ToggleButton.Checked, ToggleButton.Click, ToggleButton.Unchecked).
- Cloud: Never raised in the cloud: the events that pass it never fire there (ToggleButton.Checked, ToggleButton.Click, ToggleButton.Unchecked).

## Definition

```csharp
public class ToggleButtonEventArgs
```

## Examples

C#:

```csharp
using cAlgo.API;
using System;
using System.Linq;

namespace cAlgo
{
    // This sample indicator shows how to use ToggleButtonEventArgs
    public partial class ToggleButtonEventArgsSample : Indicator
    {
        protected override void Initialize()
        {
            var stackPanel = new StackPanel
            {
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment = VerticalAlignment.Center,
                BackgroundColor = Color.Gold,
                Opacity = 0.7
            };

            for (int i = 0; i < 5; i++)
            {
                var toggleButton = new ToggleButton
                {
                    Text = "Toggle Button #" + i + " Unchecked",
                    Margin = 10
                };

                toggleButton.Checked += OnToggleButtonChecked;
                toggleButton.Unchecked += OnToggleButtonUnchecked;

                stackPanel.AddChild(toggleButton);
            }

            Chart.AddControl(stackPanel);
        }

        private void OnToggleButtonChecked(ToggleButtonEventArgs obj)
        {
            var textSplit = obj.ToggleButton.Text.Split(' ').TakeWhile(text => !text.Equals("Unchecked", StringComparison.OrdinalIgnoreCase)).ToArray();

            obj.ToggleButton.Text = string.Join(" ", textSplit) + " Checked";
        }

        private void OnToggleButtonUnchecked(ToggleButtonEventArgs obj)
        {
            var textSplit = obj.ToggleButton.Text.Split(' ').TakeWhile(text => !text.Equals("Checked", StringComparison.OrdinalIgnoreCase)).ToArray();

            obj.ToggleButton.Text = string.Join(" ", textSplit) + " Unchecked";
        }

        public override void Calculate(int index)
        {
        }
    }
}
```

Python:

```python
import clr
clr.AddReference("cAlgo.API")

from cAlgo.API import *

class Test():
    def initialize(self):
        stackPanel = StackPanel()
        stackPanel.HorizontalAlignment = HorizontalAlignment.Center
        stackPanel.VerticalAlignment = VerticalAlignment.Center
        stackPanel.BackgroundColor = Color.Gold
        stackPanel.Opacity = 0.7

        for i in range(5):
            toggleButton = ToggleButton()
            toggleButton.Text = f"Toggle Button #{i} Unchecked"
            toggleButton.Margin = Thickness(10)
            toggleButton.Checked += self.on_toggle_button_checked
            toggleButton.Unchecked += self.on_toggle_button_unchecked

            stackPanel.AddChild(toggleButton)

        api.Chart.AddControl(stackPanel)

    def on_toggle_button_checked(self, args):
        text = args.ToggleButton.Text[:16]
        args.ToggleButton.Text = f"{text} Checked"

    def on_toggle_button_unchecked(self, args):
        text = args.ToggleButton.Text[:16]
        args.ToggleButton.Text = f"{text} Unchecked"
```

config.json:

```json
{
  "AccessRights": "None",
  "TimeZone": "UTC",
  "IsOverlay": true
}
```

## Properties

- `public ToggleButton ToggleButton {get;}` — Gets the toggle button data. [details](https://help.ctrader.com/ctrader-algo/references/EventArgs/ToggleButtonEventArgs/ToggleButton/index.md)

