2015-11-25 2 views
0

Я ищу лучший, наиболее эффективный способ внедрения навигации пользовательских элементов управления на основе событий, ниже предназначенное использование.C# User Control (с последовательностями). Навигация в WinForms

Я также не знаю, что лучше, чтобы иметь следующую кнопку назад на элементе управления или форме.

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

Ok концепция:

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

Независимо от того, сколько из них выбрано, все последовательности заканчиваются одним и тем же конечным пользователем.

В принципе, мне нужно понять, насколько наилучшим и практичным способом подходит этот подход (примеры приветствуются).

Существует много тем, которые охватывают управление winforms/user control, но я не вижу, как вы видите решение, которое появляется мне и соответствует моим потребностям.

Для совместимости с некоторыми системами я решил использовать .net 3.5; если это имеет значение в предложениях.

связь, ссылки, код и т.д. все приветствуются :)

ответ

0

я столкнулся с подобным сценарием несколько лет назад. Если память не изменяет, я подошел к нему следующим образом:

  1. Отдельные кнопки навигации в свой контроль, что группы на кнопки вместе. Создайте этот элемент управления для поддержки стыковки.

  2. В этом контроле предусмотрены различные кнопки для Назад, Далее, Готово и Отмена. Предоставьте отдельные свойства элемента управления, которые определяют , что пользователь может сделать: CanMoveBack, CanMoveForward, CanFinish и CanCancel. Контейнер должен иметь возможность установить их.

  3. В настройщике для свойств навигации вы хотите, чтобы иметь возможность настроить статус видимости/отключения каждой из кнопок навигации . Не используйте текст с горячей заменой. Таким образом, каждая кнопка делает одну вещь, и только одно. Это делает их обработчики событий приятными и чистыми.

  4. Пользовательский контроль сам должен поднять события: OnBackClicked, OnNextClicked, OnFinishClicked и OnCancelClicked. Ваша кнопка обработчики событий должны поднять их. Контейнер должен решить, что делать , когда они будут нажаты.

+0

Отличное спасибо, это похоже на подход, за которым я могу следовать. Мне просто нужно перепроектировать мои элементы управления, чтобы добавить кнопки сейчас;) – user3791797

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