---
title: SAIFMenuTop.clsMenuButton
summary: API reference for SAIFMenuTop.clsMenuButton.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Controls.V2.Menu
reference_type: package
---

# SAIFMenuTop.clsMenuButton

`SAIFMenuTop.clsMenuButton` is a small, serializable model class that captures the rendered state of one toolbar button so it can be stored in view state and reapplied on postback without recomputing the button's derived visibility/enabled flags from the current page's configuration every time ([BR-MENU-054](../../business-rules.md#br-menu-054-toolbar-button-state-is-serialized-into-view-state)). Each instance corresponds to exactly one `ToolBarButton` value ([BR-MENU-075](../../business-rules.md#br-menu-075-each-toolbar-icon-maps-to-exactly-one-toolbarbutton-value)).

## Purpose
- Hold the rendered visibility, enabled state, image path, tooltip, and access key for a single toolbar icon, so `SAIFMenuTop` can synchronise the icon's rendered `SAIFImageButton` from this model on every request ([BR-MENU-062](../../business-rules.md#br-menu-062-rendered-icon-image-access-key-and-tooltip-are-synchronised-from-the-model)).
- Represent the disabled-image variant (`_D` suffix) used when the button is present but disabled rather than hidden ([BR-MENU-068](../../business-rules.md#br-menu-068-a-disabled-button-renders-a-_d-image-variant-and-a-disabled-control)).

## Context
- Namespace: `SAIF.Presentation.Web.Controls.V2.Menu`
- Assembly/package: `SAIF.Presentation.Web.Controls.V2.Menu` (shipped merged into `SAIF.Presentation.Web.Infragistics111.dll` via ILMerge)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Button` | `Public Property Button As ToolBarButton` | The logical toolbar action this state object represents. |
| `Visible` | `Public Property Visible As Boolean` | Whether the corresponding toolbar icon is rendered at all for the current page. |
| `Enabled` | `Public Property Enabled As Boolean` | Whether the rendered icon is clickable; when false, the disabled (`_D`) image variant is used. |
| `ImagePath` | `Public Property ImagePath As String` | The image path applied to the rendered `SAIFImageButton` for this button. |
| `ToolTip` | `Public Property ToolTip As String` | The tooltip text applied to the rendered icon, sourced from the current page's toolbar configuration. |
| `AccessKey` | `Public Property AccessKey As String` | The single-character access key applied to the rendered icon; rendered tooltips are prefixed for Firefox when an access key is present ([BR-MENU-063](../../business-rules.md#br-menu-063-access-key-tooltips-are-prefixed-for-firefox)). |

## Behavioral notes
- Instances are created and populated once per request by `SAIFMenuTop` and kept in the `MenuButtons` collection in view state; they are not intended to be constructed directly by hosting pages.*

## Constraints and usage notes
- `clsMenuButton` is a plain internal state-transfer object; hosting pages should treat its instances as read-only snapshots rather than mutating them directly, since `SAIFMenuTop` re-synchronises them from page configuration on every request.*

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `SAIF.Presentation.Web.Controls.V2.Menu/SAIFMenuTop.vb`
