Hi,
I have a UltraTabControl with around 5 or 6 tabs.
I am aware there is already a dropdown button that lets the user select from all the visible tabs.
I have been asked to add a new feature for one of our tabs (lets call it Tab3 since it is the third tab in the control).
Tab3's TabPageControl contains information that can be displayed in more than one view.
So far I have created separate tabs for each view. What I'd like to do is combine all views under Tab3 and put a dropdown next to Tab3 to switch between the views.
My current thought is to put a DropDownButton next to Tab3 with all the available views, and still keep each view in a separate tab.
All but the selected view will be hidde.
What's the best way to do this? Or is there a better more efficient way than what I am proposing?
Thanks,
Jason
Dear Jason,
Thank you for contacting Infragistics!
I put together a small sample to show how you can achieve the behavior you described.
Please let me know if this works for your case.
Sincerely
Ammar Zuriki
Senior Manager
NetAdvantage for Windows Forms
NUCLiOS – INFRAGISTICS iOS controls
TestAdvantage for Windows Forms, HP, IBM
TestAdvantage for WPF (HP)
That works pretty well.
The only concern I have is that my UltraTabControl is inside a DockWindow, and I'm not sure how to calculate the location/size of the DropDownButton.
Especially if the dockwindow is moved around.
How do I figure this out?
Also, is there a way to show the scrollbuttons that appear in the Design view?(When I set the ShowTabListButton to True it doesn't seem to do anything with the UltraTabControl style set to Wizard style.)
Thanks,Jason
Hi Jason
I tweaked my sample application with a little trick to handle the docking of the tab. Basically I placed both the Tab control and the dropdown button inside an Ultra Panel control with the tab control docked fill within its container, then I added Infragistics dock manager then docked the ultra panel. This way the dock manager will not change the location of the dropdown button as it docked/undocked and moved around.
I tried it out and it seems to be working well. As for the scroll buttons on the internal tab that only shows up in design time. there is no way currently to show this during runtime, however, you should be able to create a user control that simulate this scroll buttons that you can show in runtime.
Let me know how this work for you.
Regards,
Ammar
Hi Jason,
Please let me know if you have additional questions regarding Ammar's solution. I will be happy to assist.
Thanks Jose, and Ammar for the help.
I finally got around to trying out the new solution with docking.
I still see an issue if the window is shrunk horizontally to the point where the scroll arrows show for the tabs.
If the scroll arrows are shown, the dropdown still stays in the same spot blocking the other tabs.
I'd like the dropdown to scroll with the tab so it is only visible when the tab is in view.
Is this possible?
Hello Jason,
The behavior you've encountered is occurring because the UltraDropDownButton is on top of the UltraTab. You should be able to prevent this behavior by using a Creation Filter to add the UltraDropDownButton as a child to tab2. To learn more about Creation Filters, please visit the following page in our online help documentation:http://help.infragistics.com/NetAdvantage/WinForms/2013.1/CLR4.0/?page=Win_Creation_Filter.html
I am currently working on implementing this creation filter and will provide you with an update on this post once I am complete.
I have been able to use the creation filter as previously explain to get the desired result; however, I am currently working on finding a way to get the DropDown to popup in the desired location. I will continue working on this next week and provide you with an update.
Thank attached sample provides the behavior you are looking for as I understand it. Please run the sample and let me know if you have any questions.
Thanks for the update Michael.
-Jason
Jason,
I want you to know that we are still working on this and we will get back to you with an update later this week.