I want to inform user the name of command immediately when they netload my dll. I use the constructor like this way:
public class Control
{
public Control()
{
Editor acDoc = Application.DocumentManager.MdiActiveDocument.Editor;
acDoc.WriteMessage("Type ABC to start");
}
[CommandMethod("abc", CommandFlags.UsePickSet)]
public void MyForm_start()
{
MyForm fr = new MyForm();
Application.ShowModalDialog(fr);
}
}
But it only write to command line when call abc command. Pls help!
Solved! Go to Solution.
Solved by DiningPhilosopher. Go to Solution.
Try use
Autodesk.AutoCAD.ApplicationServices.Application
instead of Application
Thank you, but it's still not right. I need after user call 'netload' and select my dll file. it will show some information to autocad command line.
Thank again.
The class that contains your command methods is not constructed until the first time one of the commands is used.
You have to use IExtensionApplication.Initialize() to display a message when your assembly is Netloaded.
Thank you so much. I can do it already.
public class Control : Autodesk.AutoCAD.Runtime.IExtensionApplication
{
public void Initialize()
{
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("Type ABC to start.");
}
public void Terminate()
{
Console.WriteLine("Cleaning up...");
}
[CommandMethod("abc", CommandFlags.UsePickSet)]
public void MyForm_start()
{
MyForm fr = new MyForm();
Application.ShowModalDialog(fr);
}
}
Can't find what you're looking for? Ask the community or share your knowledge.