When you programmatically change ActiveGroup for a NavBar, it only partially changes the active group. It does not set the control container or the header on the navbar to reflect the active group.
I have created a Sample app to demonstrate this behavior. Please see the attached zip:
I have two forms, main and popup.
Popup form has a navbar with 4 groups (1, 2, 3, 4).
There are two buttons on the Main form that allows the popup form to be opened with either Navbar-group 1 or Navbar-group 2 as the active group.
When you run the app, main form opens, and let's say i press the first (one) button.
It opens Popup as expected, with Navbar-group 1 selected.
I change the ActiveGroup to Navbar-group 3 by clicking on group 3.
Close popup form.
Click the same button (one) on main form again.
Popup form opens, Navbar-group 1 is the active group - but it shows the control container for group 3 and also the header of the navbar show group 3.
Also, popup form has a panel of buttons at the bottom, and if you press One button, it will make Navbar-group 1 as the active group and fix the control container. That makes me think that setting the active group from code did not actually set it as i am able to click on the "One" button in popupform and ActiveGroupChanged event is actually fires even though i had set the same group through code earlier. Not sure if the ActiveGroup is behaving this way due to the fact that group is changed while the popupform is hidden.
Your prompt reply is highly appreciated as this issue is stopping us from releasing similar functionality in our application.
Thank you.
Pallavi
Hi,
We have successfully reproduced the behavior you described and passed this ticket to our developers' team for further research. Please bear with us. We will notify you as soon as we make any progress.
In the meantime, override the PopupForm.OnShown method and call the NavBarControl.LayoutChanged method.