Перетаскиваемые элементы управления ToolStrip внутри формы MDI

У меня есть приложение .NET MDI (многодокументный интерфейс), в котором я хочу использовать перетаскиваемые элементы управления ToolStrip. Я хочу, чтобы элементы управления ToolStrip находились в верхней части моей формы MDI (прямо под меню). Когда я использую стандартный ToolStripContainer внутри формы MDI, я не могу показать только верхнюю стыковочную полосу, она всегда показывает центральную панель содержимого и скрывает дочерние формы в моем приложении MDI. Я попытался установить стыковку ToolStripContainer на «верх» (вместо «заливки»), но панель содержимого все еще отображается, и ее размер не изменяется правильно, когда у меня есть несколько строк элементов управления ToolStrip.

Есть ли способ скрыть панель содержимого ToolStripContainer, чтобы она хорошо воспроизводилась в форме MDI? Если нет, как мне получить перетаскиваемые элементы управления ToolStrip в форме MDI? Казалось бы, перетаскиваемые ToolStrips в приложениях MDI были бы обычным запросом.


person EverPresent    schedule 06.02.2012    source источник


Ответы (1)


Я нашел решение! Есть элемент управления, которого нет в списке по умолчанию на панели инструментов, и он делает именно то, что я хочу. Это элемент управления System.Windows.Forms.ToolStripPanel.

  1. В окне "Панель инструментов" щелкните правой кнопкой мыши и выберите "Выбрать элементы ..."
  2. Появится окно «Выбрать элементы панели инструментов». Прокрутите вниз до элемента управления ToolStripPanel и установите флажок. Нажмите "ОК".
  3. Теперь перетащите ToolStripPanel в форму MDI и установите для стыковки значение «сверху».
  4. Теперь вы можете поместить элементы управления ToolStrip внутри панели, и их можно будет перетаскивать, панель будет правильно изменять размер (до нескольких строк), а ваши дочерние элементы MDI по-прежнему будут видны!
person EverPresent    schedule 13.02.2012