Я немного плохо знаком с Windows Mobile (с C# и компактной платформой) разработка, таким образом, я довольно не уверен, как сделать это. Пользователь должен пройти несколько страниц информации подобным мастеру способом. В запуске существует окно входа в систему.
Как я пошел бы об и реализовал бы это? Я просто имел бы различные Пользовательские элементы управления для каждой страницы и создал бы/показал бы и уничтожил бы/скрыл бы их по запросу? Или я должен создать различные формы и так или иначе показать им?
РЕДАКТИРОВАНИЕ (от другого пользователя, чем OP)
Так как я также не нашел хорошее решение этого, и ссылки из некоторых ответов не применимы в Windows Mobile 6.5, я запускаю щедрость
Они выглядели многообещающими, но могут' быть созданы для мобильного телефона 6.5
http://weblogs.asp.net/justin_rogers/articles/117859.aspx
http://www.codeproject.com/KB/dialog/WizardForm.aspx
http://www.codeproject.com/KB/miscctrl/DesignTimeWizard.aspx
http://winformswizard.codeplex.com/
http://www.differentpla.net/content/2005/02/implementing-wizard-c (то же как выше, но более ранняя работа)
Я бы использовал TabControl для «имитации» мастера ( обратите внимание, что я лично не использовал TabControl в контексте Windows Mobile / Compact FrameWork , но он официально зарегистрирован Microsoft как часть FrameWork для Windows CE, Windows Mobile для Pocket PC.См .: TabControl
В WinForms есть простой трюк, позволяющий скрыть вкладки, если вы хотите создать пользовательский интерфейс, подобный мастеру: в событии Form 'Load установите для параметра Region элемента управления Tab значение DisplayRectangle элемента TabControl.
tabControl1.Region = new Region(tabControl1.DisplayRectangle);
Если это сработает для вас, это избавит вас от многих проблем, связанных с перемещением «UserControls» или «панелей», и вы можете создавать свои TabPages в визуальном режиме во время разработки, а затем управлять переходом от TabPage к TabPage в
Вы можете захотеть "сделать снимок" исходного региона TabControl в событии Form 'Load, если когда-нибудь захотите восстановить вкладки в вид.
Вот быстрый пример одного из способов сделать сделайте это: своего рода «одностороннюю» модель от начала до конца:
Определите словарь, в котором каждый Key является TabPage, а логическое значение каждой записи Key определяет, разрешите ли вы пользователю перемещаться к этой TabPage.
// allocate the Dictionary
Dictionary<TabPage, bool> CanNavigateDict = new Dictionary<TabPage, bool>();
Вы захотите «подготовить этот словарь, выполнив что-то вроде этого в событии загрузки формы:
foreach (TabPage theTPage in tabControl1.TabPages)
{
CanNavigateDict.Add(theTPage, false);
}
// show the first TabPage
tabControl1.SelectedTab = tabPage1;
Nav Управление перемещением в этой модели означает, что вам необходимо установить для логического значения следующей TabPage значение 'true, если каким-либо образом вы удовлетворили критерии завершения текущей страницы: Sample
// sample of how you control navigation in the TabControl
// by using the CanNavigate Dictionary in the TabControl 'Selecting event
private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
{
e.Cancel = ! CanNavigateDict[e.TabPage];
}
Относительно выбора «UserControls» или «Multiple Forms»:
Оба будут работать, но MainForm + UserControls проще.
См. Также: Как лучше всего создать приложение Windows Mobile с несколькими экранами на C #