disabling controls by checking off a radio button when the form loads

H

helpful sql

Hi,
I have 2 radio buttons on my Windows form control. The radio button's
CheckedChanged event disables or enables other controls on the form based on
the value of the Checked property.
When the form loads, I want to check off one of the radio buttons. So I
put the code to check off my radio button in the form's load event. But the
CheckedChanged even is not firing.

Private Sub ActivityList_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

' check the Unscheduled Activity radio button

rdoUnscheduledActivity.Checked = True

End Sub

This code is not firing the CheckedChanged event of the radio button.

Any help will be appreciated.

Thanks in advance...
 
G

Guest

Only thing I can think of is if rdoUnscheduledActivity's Checked property is
set to True at the design time then in Form Load event setting it again to
True will not fire that event.
 
C

Cerebrus

Hi,

You did not post the code that you're using as a handler for your
CheckedChanged event.

Two possible reasons come to my mind, which might explain the problem :

1. The Eventhandler is not wired to the Event. i.e., the method
Private Sub rdoUnscheduledActivity_CheckedChanged() does not have a
Handles clause to connect it to the event.

2. If the radio button is already checked and you set it's checked
property to True, the CheckedChanged event won't fire. Though, in this
case, it probably won't be possible, since even if you set the Checked
property of the Radio button to True in Design mode, the event will
still fire when InitializeComponent sets that setting. (Pardon the long
sentence.)

Regards,

Cerebrus.
 
J

James Park

Cerebrus said:
Hi,

You did not post the code that you're using as a handler for your
CheckedChanged event.

Two possible reasons come to my mind, which might explain the problem :

1. The Eventhandler is not wired to the Event. i.e., the method
Private Sub rdoUnscheduledActivity_CheckedChanged() does not have a
Handles clause to connect it to the event.

2. If the radio button is already checked and you set it's checked
property to True, the CheckedChanged event won't fire. Though, in this
case, it probably won't be possible, since even if you set the Checked
property of the Radio button to True in Design mode, the event will
still fire when InitializeComponent sets that setting. (Pardon the long
sentence.)

Actually, #2 is possible. The Designer sets properties before adding event
handlers in InitializeComponent.
 
L

Lebesgue

Please note that crossposting is considered rude. Please note that this has
nothing to do with the C# programming language. When crossposting any of
your problems again, please omit the csharp group.
Thanks.
 
C

Cerebrus

Hi James,

Could you elaborate on how #2 is possible ? I actually tried this. I
set the Checked property to True in Design mode. Then implemented an
Event handler for the CheckedChanged event. I then set breakpoints
within the InitializeComponent, where the property is set, and within
the Eventhandler.

As I have mentioned, the program breaks within the Initialize
component, and even before proceeding to the next line, the
CheckedChanged event is raised.

Regards,

Cerebrus.
 
J

James Park

Cerebrus said:
Hi James,


Could you elaborate on how #2 is possible ? I actually tried this. I
set the Checked property to True in Design mode. Then implemented an
Event handler for the CheckedChanged event. I then set breakpoints
within the InitializeComponent, where the property is set, and within
the Eventhandler.

As I have mentioned, the program breaks within the Initialize
component, and even before proceeding to the next line, the
CheckedChanged event is raised.

I did what you did and the event isn't raised. Looking at my
InitializeComponent(), I can't see how it could.

private void InitializeComponent()
{
// snip
this.radioButton1.Checked = true;
// snip
this.radioButton1.CheckedChanged += new
System.EventHandler(this.radioButton1_CheckedChanged);
// snip
}

If I hand-modify it and move the latter statement before the former, then
the event goes off. But as it is, no go.
 
J

James Park

James Park said:
I did what you did and the event isn't raised. Looking at my
InitializeComponent(), I can't see how it could.

private void InitializeComponent()
{
// snip
this.radioButton1.Checked = true;
// snip
this.radioButton1.CheckedChanged += new
System.EventHandler(this.radioButton1_CheckedChanged);
// snip
}

If I hand-modify it and move the latter statement before the former, then
the event goes off. But as it is, no go.

Whoops. Totally missed that the OP is using VB. I saw the thread from the
csharp group and made a bad assumption.
 
C

Cerebrus

Whoops. Totally missed that the OP is using VB. I saw the thread from the
Ah ! I suspected as much...

So Lebesgue's comments about cross-posting to newsgroups seem even more
appropriate.

Regards,

Cerebrus.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top