Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Atomohod от 12-12-2019, 22:55:18
-
Здравствуйте!
Подскажите, пожалуйста способ как можно окно WinForms сделать в виде palette? То есть нужна закрепленная в окне Autocad панель с набором кнопок и контролов (не ленточный тулбар).
-
Интегрирование формы WinForm в окно AutoCAD: https://adn-cis.org/forum/index.php?topic=7451
-
ps = new PaletteSet("Name", new Guid("63B8DB5B-10E4-4924-B8A2-A9CF9158E4F6"));
А где взять guid если окно встроено в большое решение? Или окно нужно сделать отдельной dll?
-
А где взять guid если окно встроено в большое решение?
Сгенерировать. Например, здесь: https://www.guidgenerator.com/online-guid-generator.aspx
-
Сгенерировать. Например, здесь: https://www.guidgenerator.com/online-guid-generator.aspx
ok. GUID я сгенерировал, но он никак не связан с моей формой. Как мне связать их? Можно мне чуть подробнее план действий, я впервые сталкиваюсь с такой задачей (панелями)?
-
Ничего не надо связывать. Просто сгенерированный Guid передаётся конструктору PaletteSet. Это будет идентификатором этой палитры. По этому идентификатору сохраняются её настройки между сеансами в профиле пользователя.
-
Ничего не надо связывать. Просто сгенерированный Guid передаётся конструктору PaletteSet. Это будет идентификатором этой палитры. По этому идентификатору сохраняются её настройки между сеансами в профиле пользователя.
А откуда Autocad поймет какую именно форму WinForm надо запустить? У меня их несколько. И еще - в примере в посте выше указан контрол, а у меня форма. Что в итоге надо создать для связывания-контрол или форму?
-
Насколько я помню, в палитру можно вставить только контрол. Так что .если требуется палитра - придётся переделать все формы в контролы. Если несколько форм -то надо делать либо несколько палитр (PaletteSet), либо несколько вкладок в одной палитре.
-
придётся переделать все формы в контролы
То есть переделать с Winforms на WPF?
-
Так что .если требуется палитра
Нужно что-то типа встроенного автокадовского quick калькулятора - набор кнопок, пара выпадающих списков и чтобы эту панель элементов можно было встраивать типа Allow Docking. Нажатие кнопок запускает команды из той же dll что и содержит в себе такую панельку. Может я просто выбрал не то средство реализации?
(https://i.postimg.cc/F14Z6HBQ/2019-12-13-185615.jpg) (https://postimg.cc/F14Z6HBQ)
-
UserControl есть и в WPF и в WinForms. Делать можно и тот и другой - оба они встраиваются в палитры. Инструмент выбрали правильно.
-
Atomohod,
Для начала AutoCAD.NET Training Lab 7 отсюда: https://damassets.autodesk.net/content/dam/autodesk/files/Autocad2020_dot_net_training.zip