From Xojo Documentation

You are currently browsing the old Xojo documentation site. Please visit the new Xojo documentation site!

For web apps, see WebButton.

Class (inherits from RectControl)

A PushButton is the standard button used in desktop apps. Examples are a Default button, a Cancel button or a standard button.

Action DropObject MouseExit
Close GotFocus MouseMove
ConstructContextualMenu KeyDown MouseUp
ContextualMenuAction KeyUp MouseWheel
DragEnter LostFocus Open
DragExit MouseDown
DragOver MouseEnter
Active fa-lock-32.png Index fa-lock-32.png Parent
AllowAutoDeactivate Italic Scope fa-lock-32.png
AllowTabStop Left TabIndex
Bold LockBottom Tooltip
Cancel LockLeft Top
Caption LockRight Transparent
Default LockTop TrueWindow fa-lock-32.png
Enabled MacButtonStyle Underline
FontName MouseCursor Visible
FontSize MouseX fa-lock-32.png Width
FontUnit MouseY fa-lock-32.png Window fa-lock-32.png
Handle fa-lock-32.png Name fa-lock-32.png
Height PanelIndex
AcceptFileDrop AddActionNotificationReceiver Press
AcceptPictureDrop Close Refresh
AcceptRawDataDrop DrawInto RemoveActionNotificationReceiver
AcceptTextDrop Invalidate SetFocus


To set an accelerator character, precede the character in the Caption with an ampersand. In order to show an ampersand in the Caption, use two ampersands in a row. The sets the accelerator to the "D" character:

Calculate &Data

The PushButton's Caption property can show a caption that uses an encoding that doesn't match the application’s region code (or while running within the IDE, the IDE's region code). For example, an English application can set a Japanese caption, as long as it first sets the button's FontName to Osaka.

If your Pushbutton has a height greater than 22 pixels, on macOS it will not have the standard rounded appearance and will instead be drawn as a square button. This is a restriction of macOS.

Linux and Pi Button Height

On Linux and Pi you may find that the button height is not large enough to fit the text. This is because some themes will drastically increase the default font size for buttons causing it to exceed the size of the button. There are a couple things you can do to fix this. In the Open event of the PushButton you can choose to make the button larger:

Me.Height = 32

Or you can choose to make its font smaller:

Me.FontSize = 10

The above numbers are for example. You will want to adjust them as appropriate for the theme being used.

You can also look up the best size to use based on the theme by using Declares. Refer to this example project to see how it is done:


See Also

BevelButton, SegmentedButton controls; RectControl class.