2012-03-29 6 views
3

Это для C#, и я работаю в среде Windows 7 с Visual Studio Express 2010. У меня есть приложение, в котором у меня установлена ​​панель инструментов toolstripcontainer, чтобы пользователи могли добавлять инструменты на любом ребре. Проблема заключалась в том, что toolstripcontainer покрыл то, что я хочу использовать для хранения подлодок. Основная форма, содержащая toolstripcontainer, была установлена ​​в качестве родителя mdi. Я нашел эту статью полезной в получении суб-окна в контейнер: How to uses a ToolStripContainer whith Dock=Fill on a MDI parent?Создание панели Toolstripcontainer работает как родитель MDI

Однако суб-окна сделаны таким образом, кажется, не вести себя, как они должны в «родной» среде MDI. Пограничники выглядят так, как если бы эффект окна 7 Aero был отключен, и сведение к минимуму вспомогательного окна делает его полностью исчезающим.

По существу, я хочу область MDI для вспомогательных окон, окруженных областями стыковки инструментальной панели.

Большое спасибо за вашу помощь

ответ

3

К сожалению, контроль ToolStripContainer не предназначен для работы с формой MDI.

Попробуйте использовать элемент управления ToolStripPanel. Это не очень хорошо работает в дизайнере (вероятно, это почему-то не в ToolBox по умолчанию).

Пример:

public partial class Form1 : Form { 

    public Form1() { 
    InitializeComponent(); 

    this.IsMdiContainer = true; 
    ToolStripPanel leftPanel = new ToolStripPanel() { Dock = DockStyle.Left }; 
    ToolStripPanel topPanel = new ToolStripPanel() { Dock = DockStyle.Top }; 
    this.Controls.Add(leftPanel); 
    this.Controls.Add(topPanel); 

    ToolStrip ts = new ToolStrip() { Dock = DockStyle.Fill }; 
    ToolStripButton tsb = new ToolStripButton("Test", SystemIcons.Application.ToBitmap()); 
    ts.Items.Add(tsb); 

    topPanel.Controls.Add(ts); 
    } 
} 
+0

Я реализовал это в коде формы дизайнера, и она работала отлично. Большое спасибо за вашу помощь! – Pyro

Смежные вопросы