Group: Forum Members
Last Active: 6 Years Ago
Like subject says I'm trying to remove some commands I don't use from the DiagramCommandBarsManager.
I searched about it and found this:http://support.nevron.com/KB/a48/replace-override-the-commands-in-command-bars-manager.aspx
I tried to remove the PDF Export... icon + command from the toolbar and from the "File" context menu but it didn't work, here is my code:
NPdfExportCommand newD = (NPdfExportCommand)nDiagramCommandBarsManager1.Commander.Commands.GetCommandFromId((int)DiagramCommand.PdfExport);
int index = nDiagramCommandBarsManager1.Commander.Commands.IndexOf(newD);
It disables the command so when I click the icon it doesn't show me anything... but I would like to remove the icon so it doesn't appear.
Group: Forum Members
Last Active: 9 hours ago
To remove or change the icon in a command from NDiagramCommandBarsManager you will need to override CreateUICommand method in manager’s commander class (NDiagramCommander)
Here is an example which you can use:
public class MyNDiagramCommander : NDiagramCommander
public override object CreateUICommand(NDiagramCommand command)
NCommandContext context = new NCommandContext();
// range and id
context.RangeID = command.RangeId;
context.Properties.ID = command.Id;
// text and tooltip
context.Properties.Text = command.Text;
context.TooltipText = command.TooltipText;
if (command.Shortcut != null)
context.Properties.Shortcut = command.Shortcut;
if (command.GetImageInfo(out imageList, out imageIndex))
//Here we make a check for the command's type (in this case one that format text to be bold) so we can omit the drawing of the icon.
//However, you can put any other logic here.
if (command is NMakeBoldTextCommand)
context.Properties.ImageInfo.Image = imageList.GetImage(imageIndex);
Then you need to set an instance of the new commander to the command bars manager and call recreate method:
MyNDiagramCommander commander = new MyNDiagramCommander();
m_DiagramCommandBarManager.Commander = commander;
Hope this helps.
Nevron Support Team