How about an approach of using two check boxes - one hidden and one visible?
Assuming I have a check box called "OzDotNetSubscriber" hide it (ie `.Visible =
false`), and then add in a new check box called "OzDotNetSubscriberVisible" and
place it on the UI to replace the hidden original check box.
Now, since the original check box is not visible the user cannot change it.
They can change the new visible check box though. Now it's just a matter of
keeping the two in sync and tracking which of the two initiated the change.
Here's the code that does it:
// Was the check box changed by the user (or by code)?
var OzDotNetSubscriberChangedByUser = false;
// Check box checked changed event handler declarations
var userChangeHandler = (EventHandler)null;
var codeChangeHandler = (EventHandler)null;
// Defined after declarations because they reference each other
userChangeHandler = (s, e) =>
{
this.OzDotNetSubscriber.CheckedChanged -= codeChangeHandler;
this.OzDotNetSubscriber.Checked = this.OzDotNetSubscriberVisible.Checked;
this.OzDotNetSubscriber.CheckedChanged += codeChangeHandler;
OzDotNetSubscriberChangedByUser = true;
};
codeChangeHandler = (s, e) =>
{
this.OzDotNetSubscriberVisible.CheckedChanged -= userChangeHandler;
this.OzDotNetSubscriberVisible.Checked = this.OzDotNetSubscriber.Checked;
this.OzDotNetSubscriberVisible.CheckedChanged += userChangeHandler;
OzDotNetSubscriberChangedByUser = false;
};
// Wire up events
this.OzDotNetSubscriberVisible.CheckedChanged += userChangeHandler;
this.OzDotNetSubscriber.CheckedChanged += codeChangeHandler;
Does that work for you?
Cheers.
James.
From: [email protected] [mailto:[email protected]] On
Behalf Of Anthony
Sent: Wednesday, 4 May 2011 12:22
To: 'ozDotNet'
Subject: Can you detect a checkbox state chnage by user not code?
Is it possible to determine if a check box has been clicked by a user and not
by code.
regards
Anthony (*12QWERNB*)