完善主體資料,免費贈送VIP會員!
      * 主體類型
      * 企業名稱
      * 信用代碼
      * 所在行業
      * 企業規模
      * 所在職位
      * 姓名
      * 所在行業
      * 學歷
      * 工作性質
      請先選擇行業
      您還可以選擇以下福利:
      行業福利,領完即止!

      下載app免費領取會員

      NULL

      ad.jpg

      二次開發教程:Revit開發實現在modeless對話框中無法刪除構件

      發布于:2019-08-26 16:47:24

      網友投稿

      更多

      在Revit API 論壇里看到了一個人在問,怎樣實現在modeless對話框中


      禁止刪除操作,大概想了一下,可以通過下面3個步驟實現


      1.在對話框顯示的時候,復寫刪除命令


      2.寫一個外部命令來刪除1中復寫的命令


      3.在對話框關閉后調用這個外部事件




      下面是關鍵代碼:


                  UIApplication uiapp = commandData.Application;

                  Window1 myWin = new Window1(uiapp);

                  myWin.Show();

                  return Result.Succeeded;




          public partial class Window1 : Window

          {

              UIApplication uiapp = null;

                   ExEvent myEvent =null;

                   ExternalEvent myEventHandler = null;

              public Window1()

              {

                  InitializeComponent();

              }

              public Window1(UIApplication uiapp)

              {         

                  InitializeComponent();

                  AddInCommandBinding binding = uiapp.CreateAddInCommandBinding(RevitCommandId.LookupPostableCommandId(PostableCommand.Delete));

                  binding.Executed += Execute;

                  this.uiapp = uiapp;

                   myEvent = new ExEvent();

                   myEventHandler = ExternalEvent.Create(myEvent);

              }

              private void Execute(object sender, Autodesk.Revit.UI.Events.ExecutedEventArgs e)

              {

                  MessageBox.Show("窗體關閉之前無法做刪除操作!");

              }


              private void Window_Closed(object sender, EventArgs e)

              {

                  myEventHandler.Raise();

              }       

          }

          public class ExEvent : IExternalEventHandler

          {

              public void Execute(UIApplication app)

              {

                  app.RemoveAddInCommandBinding(RevitCommandId.LookupPostableCommandId(PostableCommand.Delete));   

              }

              public string GetName()

              {

                  return "test";

              }

          }

      本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。

      未標題-1.jpg

      上一篇:二次開發教程:Revit開發通過Category設置構件顏色

      下一篇:二次開發教程:Revit開發之調用過濾器設置窗體設置過濾器

      主站蜘蛛池模板: 亚洲日本一区二区一本一道| 国产精品揄拍一区二区| 另类国产精品一区二区| 亚洲AV无码一区二区三区性色| 亚洲av无码成人影院一区| 国产一区在线视频观看| 亚洲国产精品自在线一区二区 | 99久久国产精品免费一区二区| 日韩精品一区二区三区中文| 国产一区中文字幕| 亚洲乱码一区二区三区国产精品| 亚洲一区日韩高清中文字幕亚洲 | 精品人妻少妇一区二区三区| 久久人做人爽一区二区三区| 一区二区三区福利| 国产成人av一区二区三区不卡 | 国模视频一区二区| 韩国美女vip福利一区| 精品无码AV一区二区三区不卡 | 精品欧洲av无码一区二区| 福利一区二区三区视频在线观看| 国产成人精品视频一区| 国产在线精品一区在线观看| 色欲AV蜜桃一区二区三| 国产在线精品观看一区| 丝袜美腿高跟呻吟高潮一区| 国产伦理一区二区三区| 日韩动漫av在线播放一区| 日本一区二区三区在线视频| 一区二区三区国模大胆| 中文无码精品一区二区三区| 激情一区二区三区| 国产短视频精品一区二区三区| 精品一区二区三区波多野结衣| 亚洲av无码一区二区三区天堂古代| 日本一区二区不卡在线| 日韩一区二区三区射精| jazzjazz国产精品一区二区| 亚洲国产精品一区二区成人片国内| 国产一区二区精品| 精品在线一区二区|