New answers tagged checkboxes
Definitely as you mention you should use the affirmative language. To begin, the affirmative language is the convention and there's not any real benefit in changing it for the past form. This the first big reason. The state in this control is dictated by the checkbox itself so you don't need to reflect the state in the text. Classic examples: "I accept ...
Actually, you have 3 visual states: MouseDown(ActiveClicking), Checking and Unchecking. In WPF the action command is usually fired at MouseUp. For obvious reasons like DragAndDrop, which is pretty common at Desktop Apps. MouseDown - Checking and Unchecking: gives users a blue indicator where the action takes place. Regardless of which interface you use: ...
Another way, depending on the message type, could be to replace "Don't show this message again" by "Don't stop on this <whatever> any more", which is in fact what the user wants. Then, the user could be notified (for example by stacking the messages in a notifications area) but the action wouldn't be halted but for a short while (like 700ms) in order to ...
A tenet of good user experience in software is system feedback. In this instance, the system should confirm it will no longer show you notifications... which is a good place to offer an undo option, as well as tell them where they can change their preferences. For example:
Top 50 recent answers are included