我有一个包含ElementHost的表单,该Host托管3D视图。要显示此视图,我需要使用form.ShowDialog()调用表单。但我想以相同的形式创建一个按钮,允许用户选择模型中的某些元素,选择后这些元素将显示在ElementHost上。但是我做不到,因为当我按下按钮允许选择时,我再也没有控制权了。当我使用form.Show()调用主窗体时,我可以允许用户选择,但是没有显示ElementHost。如何结合这两个命令?
允许选择的代码
private void button4_Click(object sender, EventArgs e)
{
this.Hide();
IList<Reference> lis = this.UIDoc.Selection.PickObjects(Autodesk.Revit.UI.Selection.ObjectType.Element,"Pick test");
this.ShowDialog();
}
允许显示3D视图的代码
public System.Windows.Forms.Integration.ElementHost View3DPanel { get { return this.elementHost1; } }