Я решил пойти по собственному совету (за который вы проголосовали -1, и я удалил его, так как он на самом деле не отвечает на вопрос), поэтому здесь я снова рискую своей репутацией.С кодом:
http://uplink.kicks -ass.net / ~ radu / GTK_Sharp_Notebook /
По указанному выше адресу вы найдете два архива одной и той же вещи (так какЯ не знаю, какой из них вы предпочтете).В архивах есть код, который я написал сегодня, и который делает это:
Главное окно содержит Блокнот с тремя вкладками, каждая вкладка имеет случайный элемент пользовательского интерфейса (кнопка, календарь и флажок).Вы можете перетащить вкладки за пределы основного окна.Когда вы отбрасываете их за пределы главного окна, создается новое окно, в котором содержится записная книжка.Вкладка, которую вы только что уронили, появится в новом окне.Вы сами дошли до этого.
Теперь, если вы перетащите другую вкладку из главного окна в новое окно, вкладка будет добавлена в блокнот нового окна вместо создания нового окна.
Кроме того, если вы перетащите все вкладки из нового окна обратно в главное окно, новое окно будет уничтожено (после того, как последняя вкладка будет удалена).
Ключ к этому?GroupId = 0
для всех ноутбуков.Они сами справляются с перетаскиванием.
Если вы хотите скрыть вкладки в новых окнах (перед их повторным подключением), вам, вероятно, следует рассмотреть встраиваемые виджеты, а не записные книжки.
Примечание: я использовал MonoDevelop под Linux для создания связанного приложения.