在窗体上设置下面的属性:
button1.DialogResult = DialogResult.OK;
this.AcceptButton = button1;
this.CancelButton = button2;
button1添加事件:
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
你的代码写的有点奇怪,哎
-
-
- using System;
- using Autodesk.AutoCAD.Runtime;
- using Autodesk.AutoCAD.Geometry;
- using Autodesk.AutoCAD.ApplicationServices;
- using Autodesk.AutoCAD.DatabaseServices;
- using Autodesk.AutoCAD.EditorInput;
- [assembly: CommandClass(typeof(ClassLibrary3.YdsClass))]
- namespace ClassLibrary3
- {
- public class YdsClass
- {
- [CommandMethod("test")]
- static public void test()
- {
- Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
- Form1 frm = new Form1();
- var res = Application.ShowModalDialog(frm);
- if (res == System.Windows.Forms.DialogResult.Cancel)
- {
- ed.WriteMessage("\n命令被取消!");
- return;
- }
- PromptPointOptions p = new PromptPointOptions("");
- p.Message = "\n请选取圆心:";
- PromptPointResult result = ed.GetPoint(p);
- if (result.Status == PromptStatus.OK)
- {
- Point3d centerPoint = result.Value;
- Document acDoc = Application.DocumentManager.MdiActiveDocument;
- Database acCurDb = acDoc.Database;
- using (Transaction acTrans = acDoc.TransactionManager.StartTransaction())
- {
- BlockTable acTab = acTrans.GetObject(acCurDb.BlockTableId, OpenMode.ForRead) as BlockTable;
- BlockTableRecord acBlkTblRec = acTrans.GetObject(acTab[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
- Circle newCircle = new Circle();
- newCircle.SetDatabaseDefaults();
- newCircle.Center = centerPoint;
- newCircle.Radius = 10;
- acBlkTblRec.AppendEntity(newCircle);
- acTrans.AddNewlyCreatedDBObject(newCircle, true);
- acTrans.Commit();
- }
- }
- }
- }
- }
|