明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1684|回复: 7

[求助]非模式窗口

[复制链接]
发表于 2010-11-11 20:08:00 | 显示全部楼层 |阅读模式

请教各位老师

我在使用非模式窗口时,点确认按钮时,窗体设为不用关闭的情况下,程序没有任何反映,是什么原因?

Application.ShowModelessDialog(fm)

发表于 2010-11-11 20:30:00 | 显示全部楼层
问题是,你的代码呢
 楼主| 发表于 2010-11-11 21:23:00 | 显示全部楼层
  1.     [CommandMethod("TEST")]
  2. static public void DrawCircle()
  3. {
  4. ClassLibrary1.TestForm Dg = new ClassLibrary1.TestForm();
  5. Application.ShowModelessDialog(Dg);
  6. if (Dg.DialogResult== System.Windows.Forms.DialogResult.Cancel)
  7. {
  8. ed.WriteMessage("\n");
  9. return;
  10. }
  11. using (Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.LockDocument())
  12. Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
  13. PromptPointOptions p = new PromptPointOptions("");
  14. p.Message = "请选取圆心!";
  15. PromptPointResult result = ed.GetPoint(p);
  16. if (result.Status.ToString() == "OK")
  17. {
  18. Point3d centerPoint = result.Value;
  19. Document acDoc = Application.DocumentManager.MdiActiveDocument;
  20. Database acCurDb = acDoc.Database;
  21. using (Transaction acTrans = acDoc.TransactionManager.StartTransaction())
  22. {
  23. BlockTable acTab = acTrans.GetObject(acCurDb.BlockTableId, OpenMode.ForRead) as BlockTable;
  24. BlockTableRecord acBlkTblRec = acTrans.GetObject(acTab[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
  25. Circle newCircle = new Circle();
  26. newCircle.SetDatabaseDefaults();
  27. newCircle.Center = centerPoint;
  28. newCircle.Radius = 10;
  29. acBlkTblRec.AppendEntity(newCircle);
  30. acTrans.AddNewlyCreatedDBObject(newCircle, true);
  31. acTrans.Commit();
  32. }
  33. }
  34. }
发表于 2010-11-11 22:38:00 | 显示全部楼层
画圆的代码放在窗体的button1的单击事件里
 楼主| 发表于 2010-11-12 12:29:00 | 显示全部楼层

狐哥,

请问非模式窗口必须将程序放在窗体内吗?能否有其它方法可以让程序还是放在类内面,我想这样管理程序容易一些

 楼主| 发表于 2010-11-13 09:55:00 | 显示全部楼层
能否有其它方法可以让程序还是放在类内面?
发表于 2010-11-16 00:06:00 | 显示全部楼层

对话框也是类,程序放在窗体内也就是放在类内

C#可以说全部代码都在类内

 楼主| 发表于 2010-11-16 00:35:00 | 显示全部楼层

谢谢Sieben

我刚学C#,你能否帮我在我以上贴的绘制圆程序中添加进去啊...

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 01:50 , Processed in 0.225750 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表