Creating a Button
This example provides information on creating CommandBarButton(String, String) in RobotStudio.
Create RibbonTab(String, String)
Create RibbonGroup(String, String)
Create and add a CommandBarButton
Initialize CommandBarButton events
Solution
Create RibbonTab(String, String)
RibbonTab ribbonTab = new RibbonTab("MyTab", "MyTab"); UIEnvironment.RibbonTabs.Add(ribbonTab); UIEnvironment.ActiveRibbonTab = ribbonTab;
Create RibbonGroup(String, String)
RibbonGroup ribbonGroup = new RibbonGroup("MyButtons", "MyButton");
Create and add a CommandBarButton
CommandBarButton buttonFirst = new CommandBarButton("MyFirstButton", "MyFirstButton"); buttonFirst.HelpText = "Help text for small button"; buttonFirst.Image = Image.FromFile(@"..\Resources\TpsQuickSetSpeed.jpg"); buttonFirst.Enabled = true; ribbonGroup.Controls.Add(buttonFirst);
Initialize CommandBarButton events
buttonFirst.UpdateCommandUI += new UpdateCommandUIEventHandler(button_UpdateCommandUI); buttonFirst.ExecuteCommand += new ExecuteCommandEventHandler(button_ExecuteCommand);
Example
This example provides information on creating buttons in RobotStudio.
private void CreateButton()
{
//Begin UndoStep
Project.UndoContext.BeginUndoStep("Add Buttons");
try
{
// Create a new tab.
RibbonTab ribbonTab = new RibbonTab("MyTab", "MyTab");
UIEnvironment.RibbonTabs.Add(ribbonTab);
//make tab as active tab
UIEnvironment.ActiveRibbonTab = ribbonTab;
// Create a group for buttons
RibbonGroup ribbonGroup = new RibbonGroup("MyButtons", "MyButton");
// Create first small button
CommandBarButton buttonFirst = new CommandBarButton("MyFirstButton", "MyFirstButton");
buttonFirst.HelpText = "Help text for small button";
buttonFirst.Image = Image.FromFile(@"..\Resources\TpsQuickSetSpeed.jpg");
buttonFirst.DefaultEnabled = true;
ribbonGroup.Controls.Add(buttonFirst);
//Include Seperator between buttons
CommandBarSeparator seperator = new CommandBarSeparator();
ribbonGroup.Controls.Add(seperator);
// Create second button. The largeness of the button is determined by RibbonControlLayout
CommandBarButton buttonSecond = new CommandBarButton("MySecondButton", "MySecondButton");
buttonSecond.HelpText = "Help text for large button";
// Set the image of the button.
buttonSecond.Image = Image.FromFile(@"..\Resources\TpsQuickSetSpeed.jpg");
buttonSecond.DefaultEnabled = true;
ribbonGroup.Controls.Add(buttonSecond);
// Set the size of the buttons.
RibbonControlLayout[] ribbonControlLayout = { RibbonControlLayout.Small, RibbonControlLayout.Large };
ribbonGroup.SetControlLayout(buttonFirst, ribbonControlLayout[0]);
ribbonGroup.SetControlLayout(buttonSecond, ribbonControlLayout[1]);
//Add ribbon group to ribbon tab
ribbonTab.Groups.Add(ribbonGroup);
// Add an event handler.
buttonFirst.UpdateCommandUI += new UpdateCommandUIEventHandler(button_UpdateCommandUI);
// Add an event handler for pressing the button.
buttonFirst.ExecuteCommand += new ExecuteCommandEventHandler(button_ExecuteCommand);
}
catch (Exception ex)
{
Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
Logger.AddMessage(new LogMessage(ex.Message.ToString()));
}
finally
{
Project.UndoContext.EndUndoStep();
}
}
private void button_ExecuteCommand(object sender, ExecuteCommandEventArgs e)
{
//Perform any action like creating paths and targets
}
private void button_UpdateCommandUI(object sender, UpdateCommandUIEventArgs e)
{
// This enables the button, instead of "button1.Enabled = true".
e.Enabled = true;
}
Required Namespaces
ABB.Robotics.RobotStudio.Environment