I'm trying to think of a nice element where there are 3 states, but a simple checkbox would be a litlte overkill for what I want (I'd need two), as the states are:

  • Enabled
  • Default
  • Disabled

But I want the user to be able to change to this at any one time and I find tri-state checkboxeIs are too difficult to figure out how to use.

What do you think is the best way to implement this? I currently am thinking of just three buttons, but there must be something really obvious that does this which I'm more than capable of programming (I'm a programmer not a UX desginer)

3 Answers 3


What's wrong with just using the standard element for choosing one of multiple options - the dropdown list (or combobox or select, depending on your technology)? Or if you want, you can use three radio buttons (but I prefer dropdowns for something like this).

Why create something with non-standard functionality when something already exists that everyone already knows how to use?


I think a button with a pop-up menu would be the best answer for this. See the image below.

3 state button prototype

You can easily create a custom control deriving from a toggle button and styling it accordingly. Depending on what technology you develop in this task may be easier or harder.

  • Thanks, that looks really darn good! I might create two versions and see what appeals best to people. (P.S what did you make that picture in, if it's some diagramming software I'd love to have a play with it) Apr 14, 2012 at 15:33
  • I'm glad you like it, I used Photoshop to create it. :)
    – asuciu
    Apr 16, 2012 at 14:13

Mayby something like this:


download bmml source – Wireframes created with Balsamiq Mockups

A row of buttons would work great for this purpose, and it shouldn't be that hard to make.

  • That's what I've got so far, I was wondering if there was anything else Apr 8, 2012 at 18:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.