- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我对 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 来“模拟”向导(请注意,我个人没有在 Windows Mobile/Compact FrameWork 上下文中使用 TabControl,但它是被 Microsoft 正式列为“Windows CE、Windows Mobile for Pocket PC”FrameWork 的一部分。请参阅:TabControl
在 WinForms 中,如果您想创建类似向导的用户体验,有一个隐藏选项卡的简单技巧:在 Form 的“Load”事件中,将 Tabcontrol 的 Region 设置为 TabControl 的 DisplayRectangle。
tabControl1.Region = new Region(tabControl1.DisplayRectangle);
如果这对您有用,它将为您省去移动“UserControls”或“Panels”的很多麻烦,并且您可以在设计时以可视模式设计 TabPage,然后以任何方式控制从 TabPage 到 TabPage 的导航你认为最好。
如果您想将选项卡恢复到 View 中,您可能想在“加载事件”表单中“快照”TabControl 的原始区域。
这是一个简单的例子,说明一种方法:一种“单向”从头到尾的模型:
定义一个字典,其中每个 Key 都是一个 TabPage,每个 Key 条目的 bool 值控制您是否允许用户导航到该 TabPage。
// allocate the Dictionary
Dictionary<TabPage, bool> CanNavigateDict = new Dictionary<TabPage, bool>();
您需要“通过在 Form Load 事件中执行类似的操作来准备该词典:
foreach (TabPage theTPage in tabControl1.TabPages)
{
CanNavigateDict.Add(theTPage, false);
}
// show the first TabPage
tabControl1.SelectedTab = tabPage1;
此模型中的导航控件意味着您需要将下一个 TabPage 的 bool 值设置为“true”,无论通过何种方式,您已经满足完成当前页面的条件:示例
// 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];
}
关于c# - 如何从 Windows Mobile 应用程序实现向导?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2433836/
我是一名优秀的程序员,十分优秀!