Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
60
Extending ButtonTool in MDI Child
posted

 I am trying to extend the ButtonTool in my winforms mdi child form however, I keep getting a Key not found error?  This only happens when I extend the ButtonTool.  If I do not extend the ButtonTool then things work as expected.  I am attempting to implement a command pattern with the IG toolbars etc. however, it is proving to be MUCH more of a headache than I expected.  Can someone please help?

 

<code>

// ButtonTool btool = new ButtonTool("Test button");  // this will work...

MyButton btool = new MyButton ("test"); // this will throw an exception when the child form is launched  WTF? btool.SharedProps.DisplayStyle = ToolDisplayStyle.ImageAndText;

btool.SharedProps.Caption = "Test button";

toolMgr.Tools.Add(btool);

toolMgr.Toolbars["UltraToolbar1"].Tools.AddTool("Test button",false);

toolMgr.ToolClick += new ToolClickEventHandler(ToolbarsManager_ToolClick);

...

</code>

 

this is the error I receive when the child form loads...

ystem.ArgumentException: Key not found
Parameter name: key
   at Infragistics.Shared.KeyedSubObjectsCollectionBase.GetItem(String key)
   at Infragistics.Win.UltraWinToolbars.ToolsCollectionBase.get_Item(String key)
   at Infragistics.Win.UltraWinToolbars.ToolBase.InternalSetUnderlyingTool(ToolBase underlyingMdiChildTool)
   at Infragistics.Win.UltraWinToolbars.ToolsCollectionBase.MergeMdiChildTools(ToolsCollection childToolsCollection)
   at Infragistics.Win.UltraWinToolbars.UltraToolbarsManager.MergeMdiChildToolbarTools()
   at Infragistics.Win.UltraWinToolbars.UltraToolbarsManager.MergeMdiChild(UltraToolbarsManager childToolbarsManager)
   at Infragistics.Win.UltraWinToolbars.UltraToolbarsManager.InternalSetActiveMdiChildManager(UltraToolbarsManager newActiveMdiChildManager, Boolean calledFromMdiChildActivate, Boolean remergeIfUnchanged)
   at Infragistics.Win.UltraWinToolbars.UltraToolbarsManager.OnFormMdiChildActivated(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnMdiChildActivate(EventArgs e)
   at System.Windows.Forms.Form.ActivateMdiChildInternal(Form form)
   at System.Windows.Forms.Form.WmMdiActivate(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DefMDIChildProc(IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at System.Windows.Forms.Form.DefWndProc(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
   at System.Windows.Forms.Control.DefWndProc(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.MdiClient.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

 

Parents Reply Children
No Data