我为AutoCAD创建了一个基本插件。在我的插件中,一些任务是通过c#windows窗体完成的。当Windows窗体打开时,我的最终用户需要访问autocad。目前,如果打开c#窗体,AutoCAD将无法访问。要使用AutoCAD,用户必须先关闭表单。
有没有办法同时访问autocad和windows窗体?
答案 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
}