Revit任務對話框

Revit API支持更美觀的任務對話框(TaskDialog),並且它的使用非常簡單。比如下面這段代碼:

TaskDialog taskDialog = new TaskDialog("管道");taskDialog.MainInstruction = "管道信息";taskDialog.MainContent = "管道的名字為:" + refElem.Element.Name;taskDialog.Show();

在Revit中效果如下圖:

任務對話框還支持更多的互動式功能,例如:增加不同命令的菜單、增加幫助鏈接信息等等。Revit API的任務對話框支持最多四個命令菜單。例如增強上述例子的對話框,增加兩個命令菜單:「查看管道類別名稱」和「查看管道元素ID」,並增加幫助鏈接。我們將taskDialog.Show();替換為以下代碼:

taskDialog.AddCommandLink(TaskDialogCommandLinkId.CommandLink1, "查看管道類別名稱");taskDialog.AddCommandLink(TaskDialogCommandLinkId.CommandLink2, "查看管道元素ID");taskDialog.CommonButtons = TaskDialogCommonButtons.Close;taskDialog.DefaultButton = TaskDialogResult.Close;taskDialog.FooterText = "<a href="你的幫助文檔鏈接地址">點擊這裡查看幫助!</a>";TaskDialogResult tResult = taskDialog.Show();if (TaskDialogResult.CommandLink1 == tResult){ TaskDialog subDlg = new TaskDialog("管道類別名稱"); subDlg.MainInstruction = "類別名稱: " + refElem.Element.Category.Name; subDlg.Show();}else if (TaskDialogResult.CommandLink2 == tResult){ TaskDialog.Show("管道元素", "管道元素ID: " + refElem.Element.Id.ToString());}

命令菜單通過AddCommandLink方法實現,幫助鏈接通過FooterText設置,並且可以通過對話框返回值來判斷應該執行哪個命令。簡單的任務對話框也可以通過一句代碼完成:

TaskDialog.Show("管道元素", "管道元素ID: " + refElem.Element.Id.ToString());

編譯代碼並運行程序,可以看到如下圖所示的任務對話框。

推薦閱讀:

你想對政府窗口的工作人員提出哪些建議?

TAG:AutoDeskRevit | 窗口 |