# DropdownButton

> Makes a button that reacts to mouse down, for displaying your own dropdown content.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.0/script-reference/unityeditor.md)
* **Assembly:** UnityEditor

## DropdownButton(Rect, GUIContent, FocusType)

Makes a button that reacts to mouse down, for displaying your own dropdown content.

```csharp
public static bool DropdownButton(Rect position, GUIContent content, FocusType focusType)
```

### Parameters

**** (\[Rect]\(/engine/6000.0/script-reference/unityengine/rect)): Rectangle on the screen to use for the button.**** (\[GUIContent]\(/engine/6000.0/script-reference/unityengine/guicontent)): Text, image and tooltip for this button.**** (\[FocusType]\(/engine/6000.0/script-reference/unityengine/focustype)): Whether the button should be selectable by keyboard or not.

### Returns

| Type                                                          | Description                           |
| ------------------------------------------------------------- | ------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | true when the user clicks the button. |

### Remarks

This control does not do anything but returns true on mouse down when clicked, as opposed to regular buttons that return true on mouse up.

This can be used for buttons that should open a [GenericMenu](/engine/6000.0/script-reference/unityeditor/genericmenu.md) or your own custom [EditorWindow](/engine/6000.0/script-reference/unityeditor/editorwindow.md) in dropdown form.

When used with a GenericMenu, use [Dropdown](/engine/6000.0/script-reference/unityeditor/genericmenu/dropdown.md) and pass the same rect to the method as was used for the button position.

When used with a custom EditorWindow, use ShowAsDropdown and pass the same rect to the method as was used for the button position.

## DropdownButton(Rect, GUIContent, FocusType, GUIStyle)

Makes a button that reacts to mouse down, for displaying your own dropdown content.

```csharp
public static bool DropdownButton(Rect position, GUIContent content, FocusType focusType, GUIStyle style)
```

### Parameters

**** (\[Rect]\(/engine/6000.0/script-reference/unityengine/rect)): Rectangle on the screen to use for the button.**** (\[GUIContent]\(/engine/6000.0/script-reference/unityengine/guicontent)): Text, image and tooltip for this button.**** (\[FocusType]\(/engine/6000.0/script-reference/unityengine/focustype)): Whether the button should be selectable by keyboard or not.**** (\[GUIStyle]\(/engine/6000.0/script-reference/unityengine/guistyle)): Optional style to use.

### Returns

| Type                                                          | Description                           |
| ------------------------------------------------------------- | ------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | true when the user clicks the button. |

### Remarks

This control does not do anything but returns true on mouse down when clicked, as opposed to regular buttons that return true on mouse up.

This can be used for buttons that should open a [GenericMenu](/engine/6000.0/script-reference/unityeditor/genericmenu.md) or your own custom [EditorWindow](/engine/6000.0/script-reference/unityeditor/editorwindow.md) in dropdown form.

When used with a GenericMenu, use [Dropdown](/engine/6000.0/script-reference/unityeditor/genericmenu/dropdown.md) and pass the same rect to the method as was used for the button position.

When used with a custom EditorWindow, use ShowAsDropdown and pass the same rect to the method as was used for the button position.
