乐趣区

关于c#:一篇文章教你如何使用第三方控件构建多步向导界面

点击获取工具 >>

利用好的界面控件,往往能做成比拟界面体验成果。在一些界面操作外面,咱们可能把它拆分为几部进行解决,这个时候引入 WizardControl 向导控件应该是比拟不错的抉择了。多步的解决形式,能够让用户防止一次性输出太多内容的焦躁情绪,也能够针对性的校验局部内容,本文以利用 WizardControl 控件来设计找回明码的后果来进行介绍,使大家对基于 DevExpress 的 WizardControl 向导控件的应用有一个大略的理解。

一、界面成果的布局

在个别 APP 或者基于网络的软件界面外面,都有一个为了帮忙用户找回账号密码的性能,能够让用户自助通过手机、邮件等形式取得充值明码的机会。如个别的 APP 界面成果如下所示。

然而个别 Winform 的界面,能够利用向导控件做的更好,其中 DevExpress 的 WizardControl 向导控件就是一个很好的抉择。

咱们个别在 DevExpress 的 VS 工具栏外面抉择导航布局选项卡,就能够找到对应的 WizardControl 向导控件了。

最终咱们实现的成果如下所示。

二、控件的应用及代码解决

下面介绍了,在在 DevExpress 的 VS 工具栏外面抉择导航布局选项卡,就能够找到对应的 WizardControl 向导控件了。

咱们拖动能这个控件到一个空白的窗体界面上,就能够看到默认有一些界面了,咱们在其中能够看到一个残缺的向导界面成果的。

拖动过去的控件,初始化界面成果都是英文的,能够通过控件属性对其中的文字进行批改即可。

批改后的界面成果如下所示。

而后咱们批改向导控件的一些属性,如图片、文字等内容,最初在其中空白的地位,拖入一些界面控件,实现咱们的界面成果即可。

另外默认的向导控件是三个界面页的,因而咱们能够依据须要减少或者删除一些,如本例我就移除了一个,仅仅应用两个页面来解决明码的找回解决即可。

另外,咱们为了实现向导控件界面的输出验证和解决,咱们往往还须要对其中下一步、实现、勾销、帮忙等事件进行解决,这样能力达到较好的解决成果。

其中局部解决代码如下所示。

private void wizardControl1_NextClick(object sender, DevExpress.XtraWizard.WizardCommandButtonClickEventArgs e)
{
string pageText = e.Page.Text;
if(pageText == “ 验证账号 ”)
{
if (this.txtMobile.Text.Length == 0 || this.txtValidateCode.Text.Length == 0)
{
MessageDxUtil.ShowTips(“ 请输出手机号码和验证码 ”);
e.Handled = true;
this.txtValidateCode.Focus();
return;
}
else if(!ValidateUtil.IsValidMobile(this.txtMobile.Text))
{
MessageDxUtil.ShowTips(“ 请输出正确的手机号码 ”);
e.Handled = true;
this.txtMobile.Focus();
return;
}
else
{
bool result = CallerFactory<ISmsCodeService>.Instance.CheckSmsCode(this.txtMobile.Text, this.txtValidateCode.Text);
if (!result)
{
MessageDxUtil.ShowTips(“ 验证码校验不正确,请查看验证码是否在无效工夫内。”);
this.txtValidateCode.Focus();
return;
e.Handled = true;
}
}
}
else if(pageText == “ 重置明码 ”)
{
MessageDxUtil.ShowTips(pageText);
}
}

在这些 Next 下一步事件外面,有一个代码是须要阻塞下一步的解决的。

e.Handled = true;

这样咱们就能够实现对用户输出的验证解决了,如果解决不通过,那么就停留在这个页面上,让用户校对输出即可。

如果是实现按钮页面,它的解决也是差不多。

private void wizardControl1_FinishClick(object sender, CancelEventArgs e)
{
if (this.txtCorpAccount.Text.Length == 0)
{
this.txtCorpAccount.Focus();
MessageDxUtil.ShowTips(“ 公司账号不能为空!”);
e.Cancel = true;
return;
}
else if(this.txtNewPassword.Text.Length == 0)
{
this.txtNewPassword.Focus();
MessageDxUtil.ShowTips(“ 明码不能为空!”);
e.Cancel = true;
return;
}
else if (!this.txtNewPassword.Text.Equals(this.txtRePassword.Text))
{
this.txtRePassword.Focus();
MessageDxUtil.ShowTips(“ 两次明码不统一!”);
e.Cancel = true;
return;
}

……………

最初咱们实现的成果就是后面所说的一样了。

联合短信平台,咱们能够给用户发送验证码以及提醒音讯即可。

本文转载自博客园 - 伍华聪

退出移动版