2009-02-24 2 views
1

Мне нужно создать пользовательский элемент управления мастером в VB.NET для проекта форм Windows. Мне не разрешено использовать существующие средства управления мастером в Интернете из-за некоторой неясной логики, связанной с авторскими правами. Мне не разрешено использовать usercontrols в программном обеспечении.Пользовательский контроль мастера

Есть ли у кого-нибудь идеи, с чего я должен начать?

+0

Вам не разрешено использовать usercontrols? Похоже, в лучшем случае это сделало бы kludgy wizard. –

+1

Шаг 1: обновите свое резюме. Ваша организация звучит вне всякого сомнения. Позвольте мне понять это: они хотят, чтобы вы создали пользовательский элемент управления ... но вам не разрешено использовать пользовательские элементы управления? – ahockley

+0

Я думаю, что Эми означает внешние мастера управления из-за попытки разрешения лицензии – abatishchev

ответ

1

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

Программно, вы можете сделать что-то подобное, чтобы показать хорошую панель для текущего шага. Когда нажимается кнопка «Далее», скройте и отстыкуйте предыдущую панель, затем покажите и прикрепите текущую панель.

1

TabControl - очень удобный элемент управления в дизайнере. Также легко изменить страницы вкладок во время выполнения, просто установите свойство SelectedIndex или SelectedTab. Вам просто нужно избавиться от вкладок. К счастью, это легко. Добавьте новый класс в свой проект и вставьте код, показанный ниже. Построить. Отбросьте новый элемент управления сверху панели инструментов на свою форму.

Public Class WizardPages 
    Inherits TabControl 
    Protected Overrides Sub WndProc(ByRef m As Message) 
     '--- Hide tabs by trapping the TCM_ADJUSTRECT message 
     If m.Msg = &H1328 AndAlso Not DesignMode Then 
      m.Result = CType(1, IntPtr) 
     Else 
      MyBase.WndProc(m) 
     End If 
    End Sub 
End Class 
Смежные вопросы