2013-06-20 3 views
0

У меня есть приложение Winform, использующее форму MDI. В форме MDI у меня есть ToolStrip с кнопками (кнопки с изображениями), действующими в качестве кнопок главного меню для приложения. Поэтому, когда пользователь нажимает кнопку на панели инструментов, форма mdichild для этой кнопки открывает дочернюю форму.Как добавить уже существующие кнопки ToolStrip в ToolStrip динамически

Итак, у меня есть шесть кнопок с уже созданными изображениями и в проекте. Но я хочу, чтобы пользователь выбирал кнопки, которые они хотят отображать на панели инструментов. Таким образом, пользователь открывает приложение, и на панели инструментов есть только одна кнопка. Пользователь нажимает на эту кнопку, и открывается дочерний экран, показывающий все доступные существующие кнопки, которые могут быть на панели инструментов. Пользователь выбирает кнопки, которые они хотят отобразить на панели инструментов, затем нажимает кнопку сохранения на дочернем экране.

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

Как я могу заставить кнопки появляться автоматически?

ответ

1

Просто создайте все ToolStripButtons и задайте каждому свой Visible объект false. Когда пользователь выбирает их для отображения, измените свойство VisibleToolStripButton на true. Они автоматически появятся на ToolStrip.

Я тестировал с использованием VS2010 с Oxygene из RemObjects (ранее AKA Delphi Prism).

  • Начните новое приложение WinForms
  • Опускаем ToolStrip на окне. Щелкните его правой кнопкой мыши и выберите Insert standard items.
  • Дважды нажмите кнопку New (newToolStripButton, один на левом конце), и добавьте следующий код в newToolStripButton_Click обработчика:
 
// Oxygene version: helpToolStripButton.Visible := not helpToolStripButton.Visible; 
helpToolStripButton.Visible != helpToolStripButton.Visible; 
  • запустить приложение и нажмите newTooStripButton раз , и смотреть правый ToolStripButton (кнопка Help) появляются и исчезают с ToolStrip.
+0

Я пробовал это, но он не показывался на панели инструментов, когда я устанавливал видимый на true –

+0

Он работает для меня просто отлично. Я отредактирую, чтобы добавить шаги, которые я использую. –