gpt4 book ai didi

c# - 如何从 Windows Mobile 应用程序实现向导?

转载 作者:太空狗 更新时间:2023-10-29 18:28:19 26 4
gpt4 key购买 nike

我对 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com