Arhn - архитектура программирования

Создание мастеров для форм Win на C #

Есть ли фреймворк или учебник по созданию мастера на C #. Мне нужно предоставить пользователю способ сделать последовательность выбора / ввода данных пользователем. Я думал, что Wizards - идеальный вариант. Мне нужны кнопки «Далее» / «Назад» на каждой странице. Я еще не создавал волшебников. Любые комментарии были бы очень полезны.

18.01.2010

  • Дубликат: stackoverflow.com/questions/1613232/ 18.01.2010
  • Другой: stackoverflow.com/questions/38719/ 18.01.2010
  • К сожалению, похоже, что большинство мастеров руководствуется навигацией, а не данными. Мы используем специальный мастер, который инвертирует этот (общий) подход к выделению задач и переходам между состояниями. OTOH, XtraWizard очень хорош, но все же следует тому же (общему) подходу. 02.02.2012

Ответы:


1

Я обнаружил, что элемент управления DevExpress XtraWizard очень удобен для работать с

18.01.2010
  • Да, XtraWizard симпатичный, но он все еще держит шаг в тесной взаимосвязи друг с другом. 02.02.2012

  • 2

    Я работаю над краткой статьей для CodeProject о «волшебнике для бедняков», который использует в качестве «основы» стандартный WinForms TabControl: но она будет готова через несколько недель.

    Но подумайте о преимуществах использования стандартного WinForms TabControl:

    1. "меньше кода" == "дешево": он будет обрабатывать весь "бизнес", предложенный вышеупомянутым комментарием Манзура Ахмеда (меняя местами несколько панелей), с гораздо меньшим количеством кода.

    2. "без рисования" == "меньше работы": его можно использовать без какого-либо специального кода владельца или рисования (статья Симмонса о CodeProject, процитированная Джеем Риггсом выше, содержит дополнительную настраиваемую окраску для градиентов, но я не изучал этот код подробно чтобы узнать, можно ли его использовать без какого-либо пользовательского рисунка / раскраски). Обратите внимание, конечно, что предложение Манзура также не требует индивидуального рисования / раскраски.

    3. гибкость пользовательского интерфейса: вы можете показать вкладки или скрыть их.

    Вот две идеи, как начать использовать TabControl в качестве «мастера»:

    I: как скрыть сами вкладки, если вы не хотите, чтобы они были видны (при условии, что TabControl с именем tabControl1 в форме с именем Form1):

    а. если вы хотите восстановить видимость вкладок: создайте переменную с областью действия формы типа Region и в событии загрузки формы поместите текущую область элемента управления TabControl в эту переменную:

    Region tabOriginalRegion;
    
    private void Form1_Load(object sender, EventArgs e)
    {
        tabOriginalRegion = tabControl1.Region;
    }
    

    б. добавьте это в событие загрузки формы, чтобы скрыть вкладки

    // hide the tabs
    tabControl1.Region = new Region(tabControl1.DisplayRectangle);
    

    II: как только вкладки будут скрыты: тогда, очевидно, вы разместите свои собственные кнопки на каждой странице вкладок для управления движением вперед и назад. если вкладки видны, тогда вам нужно будет обработать событие Selecting TabControl: внутри этого обработчика событий вы можете использовать e.TabPage, чтобы получить вкладку «назначения», и вы можете отменить переход к эту вкладку "назначения", установив e.Cancel = true.

    Надеюсь, это будет полезно.

    18.01.2010

    3

    Я использовал это из CodeProject:

    Реализация формы мастера

    Search CodeProject для других мастеров.

    18.01.2010

    4

    Попробуй это

    C # Winforms Wizard CodeGuru.com

    В качестве альтернативы вы также можете использовать панели. Каждый раз, когда вы двигаетесь вперед или назад, просто меняйте панели.

    18.01.2010
  • Это преимущественно Meta Wizard (мастер для создания форм), а не общий Wizard Control. 02.02.2012
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..