Recent

Author Topic: The trouble with checklistbox  (Read 1532 times)

dbannon

  • Hero Member
  • *****
  • Posts: 2802
    • tomboy-ng, a rewrite of the classic Tomboy
The trouble with checklistbox
« on: May 20, 2020, 10:21:44 am »
I really like the look of Tchecklistbox but find it confuses end users.   The problem is that its possible to have a checkbox ticked and another item highlighted because the item (not the checkbox) was clicked.  So, if we then hit some "do it" button, which item do we use, the ticked one or the highlighted one ?

I tried to turn off the highlight to leave it unambiguous but does not seem possible.

Is there some other way to use this component ?

Davo

« Last Edit: May 20, 2020, 12:28:15 pm by dbannon »
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

eljo

  • Sr. Member
  • ****
  • Posts: 468
Re: The trouble with checklistbox
« Reply #1 on: May 20, 2020, 10:40:34 am »
I really like the look of Tchecklistbox but find it confuses end users.   The problem is that its possible to have a checkbox ticked and another item highlighted because the item (not the checkbox) was clicked.  So, if we then hit some "do it" button, which item do we use, the ticked one or the highlighted one ?

I tried to turn off the highlight to leave it unambiguous but does not seem possible.

Is there some other way to use this component ?

Davo
the ticked one. Only the ticked ones should be considered for the "do it" action. The selection is there for the end user's comfort when deciding which items to use. Think what happens when a keyboard is used instead of a mouse.

winni

  • Hero Member
  • *****
  • Posts: 3197
Re: The trouble with checklistbox
« Reply #2 on: May 20, 2020, 10:55:13 am »
hi!

I think this is intended behaviour: It is a Listbox!

I think your design is faulty:

There can be more than one items set to selected.
So use either a Listbox or a RadiobuttonGroup.

Winni

lucamar

  • Hero Member
  • *****
  • Posts: 4219
Re: The trouble with checklistbox
« Reply #3 on: May 20, 2020, 11:37:31 am »
One uses a check-list box to allow the user to "check" (or "tick") which items should be considered, so whatever action should be taken on the "ticked" items, regardless of the one currently selected (which might be selected because the user has just "unticked" it!)

Think of a common use of this control: you have an editor where several files have been modified and want to ask the user which, if any, she wants to save: obviously, the ones to consider are the ones she has ticked.

Or think of a normal ListBox with MultiSelect and ExtendedSelect. Then the items to consider would be the ones selected; the CheckListBox makes this more apparent by having a checkbox for each item.
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.

dbannon

  • Hero Member
  • *****
  • Posts: 2802
    • tomboy-ng, a rewrite of the classic Tomboy
Re: The trouble with checklistbox
« Reply #4 on: May 20, 2020, 12:17:32 pm »

Thanks folks, perhaps I have not made myself clear.  The issue is end users are making mistakes.

Winnin, I would typically have 20 to 50 items in the checklistbox, maybe hundreds, a RadioButton solution would indeed be a "faulty design" to use your words !  I have not used this control in any published application so how do you know my design faulty ?

eljo, I agree with you but my "field testing" does not. Two out of three testers expected the highlight to be significant.  If its not significant, then why is it there ?

Lucamar, thanks but I have already thought of uses for this control. Multiselect is irreverent. The issue is that end users click an item and expect it to be 'selected' for whatever purpose.

So, again, to be clear, end users (bless 'em) are confused because they seem to be able to 'select' something in the checklistbox in two different and potentially conflicting ways.   I know the checkboxes are the key, you know its the key, the end users do not necessarily know. Indeed, most of them don't even know that its called a CheckListBox.

If there is not a better solution, I guess I'll experiment with setting Itemindex to -1 after a onclick event ......

Thanks for your input folks.

Davo
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

dbannon

  • Hero Member
  • *****
  • Posts: 2802
    • tomboy-ng, a rewrite of the classic Tomboy
Re: The trouble with checklistbox
« Reply #5 on: May 20, 2020, 12:29:28 pm »

Thanks folks, perhaps I have not made myself clear.  The issue is end users are making mistakes.

Winnin, I would typically have 20 to 50 items in the checklistbox, maybe hundreds, a RadioButton solution would indeed be a "faulty design" to use your words !  I have not used this control in any published application so how do you know my design faulty ?

eljo, I agree with you but my "field testing" does not. Two out of three testers expected the highlight to be significant.  If its not significant, then why is it there ?

Lucamar, thanks but I have already thought of uses for this control. Multiselect is irreverent. The issue is that end users click an item and expect it to be 'selected' for whatever purpose.

So, again, to be clear, end users (bless 'em) are confused because they seem to be able to 'select' something in the checklistbox in two different and potentially conflicting ways.   I know the checkboxes are the key, you know its the key, the end users do not necessarily know. Indeed, most of them don't even know that its called a CheckListBox.

If there is not a better solution, I guess I'll experiment with setting Itemindex to -1 after a onclick event ......

Thanks for your input folks.

Davo


edit : Yeah, that works,

Code: Pascal  [Select][+][-]
  1. procedure TForm1.CheckListBox1Click(Sender: TObject);
  2. begin
  3.     CheckListBox1.ItemIndex := -1;
  4. end;

Makes it impossible to select an item, still can tick one or more checkbox ....

D
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

eljo

  • Sr. Member
  • ****
  • Posts: 468
Re: The trouble with checklistbox
« Reply #6 on: May 20, 2020, 12:31:47 pm »
the check list box is a two level selection, makes things easier for the end user to select while scrolling through the existing list.

You have two options
1) educate your users.
2) use a simple list box in multiselect.

dbannon

  • Hero Member
  • *****
  • Posts: 2802
    • tomboy-ng, a rewrite of the classic Tomboy
Re: The trouble with checklistbox
« Reply #7 on: May 20, 2020, 02:10:52 pm »
No eljo, sorry, I have to disagree. I think it makes a lot more sense the way I posted above.

With user interfaces, we should always try for something that the user finds easy to understand, just by looking at it. Educating users should be our last resort !

Davo
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

eljo

  • Sr. Member
  • ****
  • Posts: 468
Re: The trouble with checklistbox
« Reply #8 on: May 20, 2020, 02:49:39 pm »
No eljo, sorry, I have to disagree. I think it makes a lot more sense the way I posted above.

With user interfaces, we should always try for something that the user finds easy to understand, just by looking at it. Educating users should be our last resort !

Davo
I strongly disagree, but its not my place to dictate policy. In your place I would change the drawing process of TCheckListBox and make sure that the selected state has the same colors as the non selected state. Make sure that the focused rectangle is visible and clear to see.


 

TinyPortal © 2005-2018