This is a RobotStudio addin made with Visual Studio 2010 in C#. Its made for RobotStudio 5.15.
RobotStudioAddin_ActiveProjectChanged.zip
To debug [F5] you need to run Visuals Studio as Administrator, or remove the post-build xcopy command. And if you are not using RobotStudio 5.15 you need to change the debug>start external program path.
I made this on a request by Lin, and Lin I made some clarification to it from the example I sent you.
This is how you test it:
Start RobotStudio
Home - check out the output window "MySample info - AddinMain"
File > New >Empty Station
Home - check out the output window "MySample info - Project_ActiveProjectChanged event triggered - New Empty Station opened"
File > Save > "SampleStation"
Home - check out the output window "MySample info - myStation_Saved event triggered"
File > Close
Home - check out the output window "MySample info - Project_ActiveProjectChanged event triggered - Closed the project"
Home - check out the output window "MySample info - myStation_Closed event triggered"
File > Open > "SampleStation"
Home - check out the output window "MySample info - Project_ActiveProjectChanged event triggered - Station opened: SampleStation"
File > Close
Home - check out the output window "MySample info - Project_ActiveProjectChanged event triggered - Closed the project"
Home - check out the output window "MySample info - myStation_Closed event triggered"
This is the code itself:
public class Class1
{
public static void AddinMain()
{
Logger.AddMessage("MySample info - AddinMain");
Project.ActiveProjectChanged += new EventHandler(Project_ActiveProjectChanged);
}
static void Project_ActiveProjectChanged(object sender, EventArgs e)
{
if (Project.ActiveProject != null)
{
Station myStation = Project.ActiveProject as Station;
myStation.Closed += new EventHandler(myStation_Closed);
myStation.Saved += new EventHandler(myStation_Saved);
if (myStation.Name == "")
{
Logger.AddMessage("MySample info - Project_ActiveProjectChanged event triggered - New Empty Station opened");
}
else
{
Logger.AddMessage("MySample info - Project_ActiveProjectChanged event triggered - Station opened: " + myStation.Name);
}
}
else
{
Logger.AddMessage("MySample info - Project_ActiveProjectChanged event triggered - Closed the project");
}
}
static void myStation_Closed(object sender, EventArgs e)
{
Logger.AddMessage("MySample info - myStation_Closed event triggered");
}
static void myStation_Saved(object sender, EventArgs e)
{
Logger.AddMessage("MySample info - myStation_Saved event triggered");
}
}