Hi,
is it possible to activate a Ribbon Tool so that it will be focused like the active Control on a Windows Form?
When im trying to set the Active State with the "IsActiveTool" Property the following Error appears:
Can't activate a root tool. Only tool instances that are in an UltraToolbar's or PopupMenuTool's Tools collection can be activated.
The same Error occurs when im using the "ActiveTool" Property on the Toolbars Manager.
Im using the Infragistics 2007 Volume 3 Version of the Toolbar.
Whats the Problem? Ribbon Tools cant have Sub Items i think?!? So why i cant activate a Ribbon Tool?
I'm guessing you're getting the tool from the Tools collection of the toolbars manager. This collection contains root tools that are not visible and therefore cannot be activated. Instead, you probably want to do something like this:
this.ultraToolbarsManager.Ribbon.Tabs[0].Groups[0].Tools["ButtonTool1"].IsActiveTool = true;
This sets IsActiveTool on an instance tool as opposed to a root tool.
Thank you.
but i still have the problem that my TextBoxTool is not focussed on the Windows Form.
When my Windows Form gets loaded, i need to bring the cursor into the TextBoxTool of my Ribbon.
Im looking for something like:
myWindowsFormInstance.ActiveControl = myTextBoxToolFromRibbon;
do you have any ideas?
thanks a lot
As I said earlier, the root tools are never displayed. That is why they can not receive focus. You need to activate one of the instance of the tool. You can either activate the first visible tool instance by getting the txtMemberID.SharedProps.ToolInstances[0], or you can activate the instance of the tool specifically in the quick access toolbar (the area next to the Office 2007 application menu button) by getting this.utmMenu.Ribbon.QuickAccessToolbar.Tool[txtMemberID.Key]
This is an old post, but I'm running into this same problem, but slightly different.
The original question concerned setting a TextBox to be active. In my case I am having the same problem, but with a ComboBox.
I have done the following
tbrForm.Ribbon.Tabs(0).Groups(1).Tools("cbSuperfamily").IsActiveTool = True
But when I begin to type, nothing happens.
How can I activate the ComboBox?
Thanks
Hello sch,
Could you please try out the following code and see if it helps:
((ComboBoxTool)ultraToolbarsManager1.Ribbon.Tabs[0].Groups[0].Tools["ComboBoxTool1"]).IsInEditMode = true;
Please let me know if the above suits your needs.
Thank you very much. That worked.
Since I program in VB.NET and your answer was in C#, I had to use a translator to get the equivalent statement (as you can see it's not a simple translation, since VB uses CType). For anyone else who needs this functionality, this is the translation that worked in VB.
CType(tbrForm.Ribbon.Tabs(0).Groups(1).Tools("cbSuperfamily"), Infragistics.Win.UltraWinToolbars.ComboBoxTool).IsInEditMode = True
I have a ultratoolbar manager and root tools on it and that is a control which i am using on another forms.
Now when i hit ALT key it doen't activate first root tool.
For Processcmd key i write a code in Base form to focus first tool.
tbmBaseQueueCtls.Tools(0).IsActiveTool =true
but i am getting this exception.