Pushbutton (where Cancel/Default/Generic are all the same basic object)
Bevel Button (with text and/or icons)
Pushbuttons have 10 “Styles”
Push
Gradient
Rounded - seems to look/act identical to “Push”
Recessed - darker flat style
Textured
Round Textured
Square
Bevel
Round
Help - a “Round” with default “?” caption
Gradient (which really has no “gradient”), Textured and Bevel are “almost” identical (just off by slight shading), although if “default” is set each is more “different”
In all my years I have only ever used “PUSH” or “HELP” styles, never any of the 8 others
Bevel Buttons has 8 “styles”
Small
Normal
Large
Rounded
None
Round
Large Round - same as Bevel Round and Pushbutton Round
Disclosure (not the “plain” arrow)
On macOS, Small, Normal, Large and None are all identical, Large Round and Round are the same (one is not larger than the other) and are the same as Pushbutton round.
Rounded seems to be the same as Pushbutton Gradient, except it “can” have icons,
Now these observations are based on macOS, and Windows/Linux might present differently
I use plain PushButton. BevelButtons instantly make an application look like a port of an old classic app. Anything else I need is almost always custom.
Push buttons predominantly. I have tried for years to get Bevel buttons to do what I want but they are very frustrating. Where a Push button doesn’t help, I use a Canvas with alternating images.
Preferably with Comic Sans (all in CAPS) for the font
Mostly I use just the standard PushButton. If I feel I need something more, then I’ll roll my own using a canvas.
However, I still like this “old school” approach when entering the button area:
If Me.Enabled = True Then
Me.MouseCursor = System.Cursors.FingerPointer
Else
Me.MouseCursor = System.Cursors.StandardPointer
End If
I’m sure that that usage is frowned upon these days, but I still like it.