I have an extension class in an ArcMap addin project of which loads a custom toolbox into ArcToolbox when the user opens ArcMap or opens a previously created map. My toolbox gets added to ArcToolbox fine except when the user creates a new map from File > New. My toolbox just disappears (no messages). I'm running AG10 SP2 but it doesn't work in AG10 base either.
Anyone else experience this? Solutions?
protected override void OnStartUp()
{
AddToolboxes();
#region Wire events
ArcMap.Events.NewDocument += delegate() { ArcMap_NewDocument(); };
#endregion
}
void ArcMap_NewDocument()
{
AddToolboxes();
}
void AddToolboxes()
{
// Load toolbox into ArcToolbox
IArcToolboxExtension arcTbxExt;
try
{
arcTbxExt = (IArcToolboxExtension)ArcMap.Application.FindExtensionByName("ESRI ArcToolbox");
if (arcTbxExt == null) { throw new Exception("ArcToolbox extension could not be found."); }
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show("Error finding ArcToolbox extension." + Environment.NewLine + " - " + ex.Message);
return;
}
try
{
IGPToolbox2 toolbox = Maersk.Functions.Toolbox.OpenToolbox("C:\\Toolboxes\\MyToolbox.tbx");
arcTbxExt.ArcToolbox.AddToolbox((IGPToolbox)toolbox);
arcTbxExt.ArcToolbox.Refresh();
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show("Error launching toolbox." + Environment.NewLine + " - " + ex.Message);
return;
}
}
Best Answer
There's something flaky going on here.
With the add-in extension below, a messagebox comes up showing me my toolbox is there. It works fine the first time the doc loads, but if I hit the new Map File button the messagebox will come up, then a few seconds later the toolbox disappears. Something is clearing the toolboxes after the maps changed event fires.