# GH_ScriptEditorButton class

Namespace: [Grasshopper.GUI.Script](https://developer.rhino3d.com/api/gh1/namespace/grasshopper.gui.script.md) · Assembly: [Grasshopper](https://developer.rhino3d.com/api/gh1/assembly/grasshopper.md)

```cs
public abstract class GH_ScriptEditorButton
```

Inherit from this class if you want to add custom buttons to a GH_ScriptEditor toolbar.

**Derived types:** [GH_BeforeAfterSolveInstanceSnippetButton](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-beforeaftersolveinstancesnippetbutton.md), [GH_FontPickButton](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-fontpickbutton.md), [GH_PreviewSnippetButton](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-previewsnippetbutton.md), [GH_ShrinkEditorButton](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-shrinkeditorbutton.md)

## Properties

- [Bounds](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-scripteditorbutton/bounds.md): Gets or sets the bounds of this button. Bounds are set and read by the script window layour mechanism.
- [Highlight](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-scripteditorbutton/highlight.md): Gets whether this button should have a highlight drawn regardless of mouse hover state.
- [HighlightOnHover](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-scripteditorbutton/highlightonhover.md): Gets whether this button should be highlighted when the mouse moves over it.
- [Icon](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-scripteditorbutton/icon.md): Gets the 24x24 image icon for this button. This property is called on every redraw so make it spiffy.

## Methods

- [FormHandleCreated](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-scripteditorbutton/formhandlecreated.md): Called once, when the script editor is created.
- [FormHandleDestroyed](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-scripteditorbutton/formhandledestroyed.md): Called once, when the script editor is destroyed.
- [PopulateTooltip](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-scripteditorbutton/populatetooltip.md): Populate the tooltip.
- [RespondToMouseDown](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.script.gh-scripteditorbutton/respondtomousedown.md): Respond to a mouse down event.
