Just playing around ...
#region System using declarations
using System;
using System.Diagnostics;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Reflection;
using System.Windows.Forms;
using System.ComponentModel;
using Microsoft.VisualBasic;
using System.Text.RegularExpressions;
#endregion
#region AutoCAD COM Interop using declarations
//// COM Interop References
//// AutoCAD 2006 Type Library
using Autodesk.AutoCAD.Interop;
//// AXDBLib AutoCAD/ObjectDBX Common 16.0 Type Library
using Autodesk.AutoCAD.Interop.Common;
#endregion
#region AutoCAD Managed Wrappers using declarations
//// Assembly acdbmgd .. ObjectDBX.NET Managed Wrapper
//// Assembly acmgd .. Autocad.NET Managed Wrapper
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Colors;
#endregion
#region Alias using declarations
using AcadApp = Autodesk.AutoCAD.ApplicationServices.Application;
#endregion
// codehimbelonga kwb : posted@TheSwamp 20051215
[assembly: ExtensionApplication(typeof(ClassLibrary20051215.StartApp))]
[assembly: CommandClass(typeof(ClassLibrary20051215.Commands))]
namespace ClassLibrary20051215
{
#region CommandClass
//-------------------------------------------------------------------------------
public class
Commands
{
[CommandMethod("myHelp", CommandFlags.Modal)]
static public void
TEMPLATEHelp()
{
Editor ed = AcadApp.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("\n Testing Assembly [kwb v:20051215]");
ed.WriteMessage("\n Commands : GoHome");
}
//----------------------------
[CommandMethod("GoHome", CommandFlags.Modal)]
public static void Command_GoHome()
{
Class1 tester = new Class1();
tester.Method001();
}
//----------------------------
}
#endregion
#region MainApp core
//-------------------------------------------------------------------------------
public class Class1
{
public void Method001()
{
Editor ed = AcadApp.DocumentManager.MdiActiveDocument.Editor;
DateTime dt = DateTime.Now;
bool yesnoResult;
PromptStatus promptStatus = LibTools.TellmeYesNo(string.Format(
"\nIt's only {0}, are you sure you want to quit ?", dt.ToString("HH:mm")),
false, out yesnoResult);
if ((promptStatus != PromptStatus.OK) || (yesnoResult == false))
MessageBox.Show("\n.. Well get back to work, slacker .. !", "I'm the boss of you, OK !");
else
MessageBox.Show("\ngoodbye, slacker .. ");
}
}
#endregion
#region LibraryTools
//-------------------------------------------------------------------------------
public class LibTools
{
public static PromptStatus
TellmeYesNo(string message, bool useYesDefault, out bool yesnoResult)
{
Editor ed = AcadApp.DocumentManager.MdiActiveDocument.Editor;
yesnoResult = false;
string defaultAnswer = (useYesDefault) ? "Yes" : "No";
PromptKeywordOptions keywordOptions = new PromptKeywordOptions(message);
keywordOptions.Keywords.Add("Yes");
keywordOptions.Keywords.Add("No");
keywordOptions.Keywords.Default = defaultAnswer;
PromptResult keywordResult = ed.GetKeywords(keywordOptions);
if (keywordResult.Status == PromptStatus.OK)
{
if (keywordResult.StringResult == "Yes")
yesnoResult = true;
}
return keywordResult.Status;
}
}
#endregion
#region Public class StartApp
//-------------------------------------------------------------------------------
/// <summary>
/// The entry point for AutoCAD.
/// </summary>
public class
StartApp : IExtensionApplication
{
public void
Initialize()
{
Editor ed = AcadApp.DocumentManager.MdiActiveDocument.Editor;
Commands.TEMPLATEHelp();
ed.WriteMessage("\n Type 'myHelp' at the Command Line for assistance ...");
}
public void
Terminate()
{
// Does Nothing ... can't unload NET assembly ...
}
}
#endregion
}