标签: wizard

C#需要有关表单导航的简单问题的建议

我需要模拟一个类似于安装任何软件时看到的界面的表单.有下一个和后退按钮,用户输入的所有信息仅在他/她单击完成按钮时处理.
当用户单击后退按钮时,向他/她显示先前输入的信息.
当用户点击下一个按钮时,向他/她显示下一个屏幕.所有显示的信息都以一种形式显示.

我需要向用户展示3个部分.

  • 第1部分 - 按下一个按钮将显示第2部分
  • 第2部分 - 按后退按钮将显示第1部分,按下一个按钮将显示第3部分
  • 第3部分 - 按上一个按钮将显示第2部分,按完成按钮将处理在第1,2和3节中输入的所有信息.

目前正计划实施下列解决方案:

  1. 创建一个表单
  2. 添加第1部分的所有元素并创建下一个按钮事件,该事件将隐藏第1部分中显示的所有元素(包括按钮)并显示所有元素第2部分.
  3. 为第2部分的后退按钮创建按钮事件,使其隐藏第2部分中的所有元素(包括按钮)并显示第1部分中的所有元素和下一个按钮以隐藏第2部分中的所有元素(包括按钮)并显示所有第3节中的要素
  4. 为第3部分创建类似的按钮事件

有没有比上面描述的更好的解决方案.如果是,请描述方法.我们将非常感谢您提供的任何帮助.

.net c# wizard winforms

6
推荐指数
1
解决办法
466
查看次数

Android - 在步骤之间使用动画实现向导的正确方法是什么

我正在构建和Android应用程序,需要通过像向导一样的步骤.

目前的结构:

目前我正在为每个步骤使用一个带有单独views.xml的活动,然后我setContentView(activeStep)用来显示活动步骤.

尝试在两个步骤之间制作动画时遇到了一些困难.我使用了以下代码:

LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(activeStep, null, false);
view.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.slide_in));
setContentView(view);
Run Code Online (Sandbox Code Playgroud)

结果:第一个视图消失了,新的视图已经动画化,而不是平滑过渡.

我的目标是为两个视图设置动画,一个在另一个视图中滑出.

问题:是否可以使用我当前的结构(提醒:一个活动,多个视图)或者我应该将每个步骤视为单独的活动?

animation android view wizard android-activity

6
推荐指数
1
解决办法
1527
查看次数

WizardHandler.wizard().GOTO

我使用https://github.com/mgonto/angular-wizard创建一个角度向导,其步骤可以从路径参数调用:

  • .../步骤1
  • .../第2步

等等

所以我创建了这个控制器:

.controller('createOrganizer', ['$scope', 'WizardHandler' , '$routeParams',
    function($scope,WizardHandler,$routeParams)
    {
        //$scope.data = {};
        $step = $routeParams.step;
        WizardHandler.wizard().goTo($step);     
    }])
Run Code Online (Sandbox Code Playgroud)

在app.js和index.html上正确创建了正确的链接和路由

但是当我进入网址时,我得到了这个:

TypeError: Cannot call method 'goTo' of undefined
Run Code Online (Sandbox Code Playgroud)

这是使用url参数预先选择角度向导步骤的方法吗?

=================更新=====================

我尝试过这样的事情:

.controller('createOrganizer',['$ scope','WizardHandler','$ routeParams',函数($ scope,WizardHandler,$ routeParams){$ step = $ routeParams.step;

    $scope.$watch(WizardHandler.wizard(), function(step) {
            WizardHandler.wizard().goTo($step);
    });
}])
Run Code Online (Sandbox Code Playgroud)

我的想法是告诉我何时实例化WizardHandler.wizard()以调用.goTo方法.使用此控制器我得到此错误:

TypeError:无法设置未定义的属性"selected"

不确定我是否正确使用手表.我甚至测试了step变量,它没问题,显示与url相同的值.

=================解决了!=====================

    var step = parseInt($routeParams.step); // Important, as routeParams returns an String: the wizardHandler uses either an integer number or a string name of step. So I am …
Run Code Online (Sandbox Code Playgroud)

wizard angularjs

6
推荐指数
1
解决办法
3913
查看次数

Qt Creator变量添加到.pro文件中

我现在开始涉足Qt了,我想知道是否有办法让Qt Creator自动将变量添加到项目文件中.例如,我通常使用C++ 11代码,因此CONFIG += c++11当我开始一个新项目时Qt可以自动放入.pro文件会很好.我在选项中四处看看,但我无法理解某些部分,所以也许它就在我面前?

c++ qt qmake wizard qt-creator

6
推荐指数
1
解决办法
700
查看次数

寻找使用WinForms和/或建议重新设计实现的精彩向导示例

免责声明:在这个问题标签页面中,对话实际上意味着同样的事情,抱歉.我的理由:我不确定最终产品应该是什么样子 - 一堆独立的窗户或者一体化.

我希望改进一个用WinForms烘焙的现有的,难以维护的向导.我需要尝试保持相同的外观和感觉,但我需要清理内部逻辑.共有5个对话框,所有这些对话框都在一个巨大的方法中一个接一个地显示(当然,单击"下一个"按钮之后).来回跳跃的方式是...... 5或6个标签和GOTO!

现在,这个向导是线性的,而不是树.从任何一个对话框/页面,您最多可以访问其他两个对话框/页面.想到了双重链接列表.现在有5 * 4 = 20潜在的状态转换,而只有2*1 + 3*2 = 8它们是有效的.我不必使用gotos.他们通常是邪恶的,在这种情况下他们是 - 很难维持这个...而我正在考虑增加另一个,第6页.为什么原因gotos为在那里是最有可能,因为1.0版正在制作时A)的时间压力,B)这是5年前,所以在当时可用的奇才最好的例子/教程可能不是很大.

现在,向导的大多数页面都要求用户输入.根据用户输入的内容呈现后续页面.如果用户在第3页上说并且决定将后退按钮一直指向1,并且没有更改任何内容,并且点击下一次两次,则状态不应该更改.但是,更改页面x上的内容通常会使页面x + 1上的内容无效.但是,有一些例外,因为页面x上的某些或所有设置可能依赖于页面x-1,x-2等,但页面x + 1,x + 2等不依赖于x一些x.

我希望到目前为止事情是清楚的.我们试图通过为他们默认一些东西来帮助用户.存储事物的方式也不是很好.该对话框具有读/写属性,从/向实际控件复制内容.然后,在主方法中,存在"超级存储",其保存每页的存储.因此,当用户完成页面x并接下来命中时,首先将内容从控件复制到类的本地存储中,然后将这些内容保存到超级存储的相应成员中.

没有使用(对话框/存储器)数组和索引.每个goto目标(标签)都有单独但类似的"创建和填充"逻辑.当页面不再显示时,对话框对象会被丢弃(它们不会被丢弃,但每次要显示它们时,它们都会被重新创建并重新填充.我不相信这是必要的,因为只有需要单个手柄,并且在显示和关闭之后,我相信它可以在相同的状态下再次显示,而不必重新填充控件.如果浪费内存是唯一的问题,我可能会让事情滑落,但事情不是很容易维护,所以我不妨解决这个问题.

我在想:

  1. 将对话框存储在集合中,例如数组,但最好是DLL,因为我只能向前移动1或向后移动1,或者只能移动我列出的两个选项中的一个(对于第一个和最后一个对话框).
  2. 实际上我的标签/页面都扩展了一个共同的抽象类(因为"next","back","exit"按钮,它们的行为对所有人都是通用的).
  3. 每个标签/页面/对话框(出于此问题的目的,同样令人困惑)将具有"指挥"类可见的只读属性.这些属性将来自控件中的值(信息的真正来源),有时属性会稍微按下这些值."指挥"的责任是抓住那些并将它们存放起来.当导体希望用一种方法填充对话框时(让我们称之为"种子").我在这里遇到一些困难,因为每种种子方法的参数都不同.我希望能够利用强类型,以及保持通用性.我怀疑应该给出一些东西.我可以将字典传递给每个种子方法,但感觉太像Pythonic,就像鸭子打字一样.如果我搞砸了,我不知道直到运行时间.此外,对于任何给定的页面,字典的打包和解包更好地始终匹配.这是你进来的地方.
  4. 全局存储可以是一个巨大的字典.我可以遵守规则,保持所有密钥不同,或者根据页面将其名称加上"p1_"到"p5_",只是为了确定.我确信其他方案也存在.拥有巨型字典在最后也很方便 - 用户输入组装的顺序无关紧要,只要它正确完成即可.我也可以拥有一台状态机...... 这也是我在设计中迷失的地方.如果我把东西放在字典中,我将不得不执行很多条件逻辑,例如:如果我在第2页,并且我进行了更改,那么我通常(可能有例外)需要制作旧的默认值任何页面3,4,5无效.根据它的丑陋程度,它可能不比现有的基于goto的设计好多少.

如您所见,有一些挑战.然而,我很有希望,因为通过良好的精灵设计思考是一个肯定是以前重新发明的轮子.也许你可以推荐一个开源的C#/ mono应用程序,它带有一个线性但非平凡的向导,这样我就可以看一下实现.哎呀,甚至Java/Swing也许适合我,只要向导本质上是相似的.WPF对我来说是另一个挑战,我不想有2个问题而不是1个问题.

让我知道你能想到什么.我应该保留这些东西但是尽可能多地清理其他部分吗?随意问的问题.谢谢,

-HG

c# oop wizard winforms

5
推荐指数
1
解决办法
1879
查看次数

从向导中取消VS2010项目创建

我在VS2010中为自定义模板创建了一个向导,它就像一个魅力.

但由于向导包含完成项目创建所需的表单,我觉得用户应该能够取消项目的创建.

所以我的问题是......

是否可以从实现IWizard的向导中取消创建项目/模板过程?

这些是我得到的事件.

public void BeforeOpeningFile(ProjectItem projectItem)

public void ProjectFinishedGenerating(Project project)

public void ProjectItemFinishedGenerating(ProjectItem projectItem)

public void RunFinished()

public void RunStarted(object automationObject,
        Dictionary<string, string> replacementsDictionary,
        WizardRunKind runKind, object[] customParams)

public bool ShouldAddProjectItem(string filePath)
Run Code Online (Sandbox Code Playgroud)

谢谢!

wizard visual-studio-2010 project-template visual-studio

5
推荐指数
1
解决办法
1992
查看次数

VS 2010 Performance Explorer

我开始在VS 2010中探索性能分析器,并且很难发现它很有用.我意识到这很可能是因为我不熟悉这个工具.

我正在寻找的是一种识别最耗时的方法调用的方法.很多时候,它只会将ASP.NET方法识别为最严重的违规者,例如ProcessRequest等,并且很难将其缩小到实际的方法,这需要花费很长时间.

我想识别我的代码中执行时间最长的调用.

任何指针将不胜感激.谢谢!

.net performance monitor wizard

5
推荐指数
1
解决办法
589
查看次数

PrimeFaces的p:向导验证不起作用

我有p:wizard一些标签.在第一个选项卡中,用户选择一个值(t :selectOneRadio- 我正在使用Tomahawk).这是必需的价值.

如果用户未选择值,则不会转到下一个选项卡,但不会显示验证错误.嗯.

如果用户选择了一个值,则转到下一个选项卡,返回第一个选项卡并选择一个不同的值,它的行为就像这次没有选择任何值一样.(也没有验证错误,但无法调用第二个选项卡).

更糟糕的是:用户在第一个选项卡中选择一个值,转到第二个选项卡,尝试从那里调用一个操作......出现验证消息; 它就像在第一个选项卡中没有选择任何值一样.

这有什么解释吗?

UPDATE

PrimeFaces论坛中提出的解决方案为我工作.(将process ="@ this"添加到commandButton.)

validation jsf wizard primefaces

5
推荐指数
1
解决办法
1万
查看次数

无法将内容置于SWT向导帮助按钮后面

我创建了一个基于SWT的向导,它有自定义的帮助按钮.现在我想把一些内容放在后面,所以也许SWT浏览器会开放,并且会显示预定义的HTML Doc.但我没有任何线索在我的向导中访问帮助按钮的操作.任何的想法?

swt jface button wizard

5
推荐指数
1
解决办法
1433
查看次数

从OpenERP中的按钮启动向导

我正在尝试从OpenERP中的按钮调用的动作启动向导.我可以使用侧面菜单按钮启动向导,但每当我在按钮中使用动作时,我只会进行几次刷新,而不会打开新的表单.

该向导非常基本.这是代码:

wizard.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>


        <record id="view_res_partner_add_terminal_wizard" model="ir.ui.view">
            <field name="name">res.partner.terminal.form</field>
            <field name="model">res.partner.terminal</field>
            <field name="type">form</field>
            <field name="arch" type="xml">
                <form string="Add terminal">
                    <group colspan="4" >
                        <separator string="Select terminals to assign" colspan="4"/>
                        <field name="terminal_id" string="Terminals" domain="[('state','=','available')]"/>
                        <newline/>
                    </group>
                    <separator string="" colspan="4" />
                    <group colspan="4" col="6">
                        <button  icon="gtk-cancel" special="cancel" string="Cancel"/>
                        <button  icon="gtk-ok" name="add_terminal" string="Assign Terminal" type="object"/>
                    </group>
               </form>
            </field>
        </record>

        <record id="action_res_partner_terminal" model="ir.actions.act_window">
            <field name="name">Assign Terminal</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">res.partner.terminal</field>
            <field name="src_model">res.partner</field>
            <field name="view_type">form</field>
            <field name="view_mode">form</field>
            <field name="view_id" ref="view_res_partner_add_terminal_wizard"/>
            <field name="target">new</field> …
Run Code Online (Sandbox Code Playgroud)

xml button wizard openerp

5
推荐指数
1
解决办法
6959
查看次数