如何使AutoCAD插件的c#窗口形式和AutoCAD本身同时可用

时间:2015-09-02 16:02:40

标签: autocad autocad-plugin

我为AutoCAD创建了一个基本插件。在我的插件中,一些任务是通过c#windows窗体完成的。当Windows窗体打开时,我的最终用户需要访问autocad。目前,如果打开c#窗体,AutoCAD将无法访问。要使用AutoCAD,用户必须先关闭表单。

有没有办法同时访问autocad和windows窗体?

1 个答案:

答案 0 :(得分:3)

是的,您可以使用无模式格式:

Autodesk.AutoCAD.ApplicationServices.Application.ShowModelessDialog

但它不是很直观,我建议使用一个托管用户控件的PaletteSet。

Autodesk.AutoCAD.Windows.PaletteSet ps; // declare as a STATIC variable, avoid duplicate
ps.Add("Name here", userCtrl);
ps.Visible = true;

我更喜欢Modal方式,在需要用户在图纸上选择内容的按钮内,使用EditorUserInteraction对象

Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
using (EditorUserInteraction userIt = ed.StartUserInteraction())
{
  // this will close the form and go to the model space, once finished, the form gets back
}