Мне нужна замена WeifenLuo, которая будет работать как в .NET, так и в Mono, в Windows, Linux и Mac, предпочтительно под лицензией MIT. Я был бы признателен, если бы API был похож на API WeifenLuo, но я понимаю, что он может быть недоступен.
Кроме того, поскольку я ничего не нашел в Google, я полагаю, что этого может не существовать. В этом случае мне бы хотелось подсказать, как это реализовать.
У меня есть некоторый (небольшой) опыт работы с Windows.Forms, и я не должен использовать P / Invoke. Я уже знаю, как обнаружить движение окна и как создать полупрозрачное окно без полей в заданной позиции и с заданным размером.
Итак, вот некоторые проблемы, с которыми я столкнулся:
Что еще мне следует знать перед тем, как начать? Доступны ли аналогичные проекты с открытым исходным кодом?





Я хотел того же. Я тестировал базовую систему компоновки для форм выигрыша и обнаружил, что моно версия WinForms для Mac не на 100% завершена, так как перетаскивание не было реализовано и работает медленно.
Судя по моему собственному поиску, GTK # имеет лучшую поддержку на всех платформах. Другой способ - разделить пользовательский интерфейс для каждой платформы, то есть WinFoms, GTK # (linux) и Cocoa (cocoa # / monobjc).
Это создает еще одну проблему. Доступна ли какая-либо библиотека стыковки для GTK # и Cocoa #? Я знаю, что у MonoDevelop есть док-система, но мне не удалось сделать ее автономной ...
Я еще ничего не нашел. Для Mac это не способ делать что-то. Ознакомьтесь с MonoMate, который использует monobjc lib и имеет базовый интерфейс документа с вкладками. Я не так часто использовал GTK #.
Можно отключить все API PInvoke для Win32 при работе в Mono. Цена, которую вы платите, - это потеря поддержки перетаскивания в Mono / Linux, что в некоторых случаях может быть приемлемым.
Отредактировано: http://www.lextm.com/2012/05/a-call-to-the-community-dockpanel-suite-history-and-future-2/ Форк DPS теперь размещен на GitHub, http://github.com/dockpanelsuite/dockpanelsuite
Спасибо. Я исследую это немного дальше.
GTK # выглядит красиво, но увлекательно и требует обучения. Я сам пробовал QuickSharp, но нигде не нашел поддержки, а док-системе weifenluo не хватало некоторых функций, и было трудно реализовать размеры форм.
В итоге я выбрал [dockDotNet][1], который позволяет использовать параметр minimumsize, и с ним очень легко работать. Вы можете установить почти все свойства плавающей формы прямо здесь с помощью диспетчера свойств - даже установив значок формы!
Чем для вас оказался этот проект? Вы в конечном итоге использовали GTK #? Лично я застрял, пытаясь изменить размер плавающих форм с помощью QuickSharp: stackoverflow.com/questions/16290541/…. GTK # выглядит интересно - было ли это легко реализовать?