⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setpasswordwizard.cs

📁 飞信的收发使用csharp进行开发
💻 CS
📖 第 1 页 / 共 2 页
字号:
namespace Imps.Client.Pc.Password
{
    using Imps.Client;
    using Imps.Client.Core;
    using Imps.Client.Core.Password;
    using Imps.Client.Pc;
    using Imps.Client.Pc.BizControls;
    using Imps.Client.Pc.Controls;
    using Imps.Client.Resource;
    using Imps.Utils;
    using System;
    using System.ComponentModel;
    using System.Drawing;
    using System.Runtime.CompilerServices;
    using System.Windows.Forms;

    public class SetPasswordWizard : XIMDialog, IHandleUserStatusSelf
    {
        private PasswordStage _passwordStage = PasswordStage.MobilePhone;
        private XButton btnCancel;
        private XButton btnNext;
        private XButton btnPrevious;
        internal bool canSendSmsRequest = true;
        private IContainer components;
        internal Imps.Client.Core.Configuration Config;
        internal IFrameworkWindow frmWnd;
        private XLabel label1;
        private XLabel lbTip;
        internal int MinSmsRequestSpanSeconds;
        internal IUnifiedMessageBox MsgBox;
        public EventHandler<HttpAppEventArgs> OnMoveNextHandler;
        public EventHandler<TipMessageEventArgs> OnTipMessageChangedHandler;
        public PasswordData passwordData;
        private PictureBox pbProvision;
        private ProgressBar pgb;
        private Panel pnlContainer;
        private Panel pnlPage;
        internal volatile int smsTickCounter;
        internal Timer smsTimer;
        private StepPageBase StepPageControl;
        public EventHandler<SysCfgEventArgs> SysCfgReceivedHandler;
        public EventHandler<UserSatusChangedEventArgs> UserStatusChangedHandler;

        public event EventHandler<SysCfgEventArgs> OnSysCfgAvaild;

        public SetPasswordWizard(IFrameworkWindow wnd)
        {
            this.InitializeComponent();
            this.Init(wnd);
            this.AttachEventHandler();
            this.LoadResource();
            this.LoadControl();
        }

        private void AttachEventHandler()
        {
            ModifyPassword.OnSysCfgRecived += this.SysCfgReceivedHandler;
            this.frmWnd.AccountManager.CurrentUser.StatusChanged += this.UserStatusChangedHandler;
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            base.Close();
        }

        private void btnNext_Click(object sender, EventArgs e)
        {
            if (this.StepPageControl.GetValidData())
            {
                this.StepPageControl.MoveToNextStage();
                this.pgb.Visible = true;
            }
        }

        private void btnPrevious_Click(object sender, EventArgs e)
        {
            this.GetPreStage();
        }

        private void CurrentUser_StatusChanged(object sender, UserSatusChangedEventArgs e)
        {
            this.StepPageControl.CancelConfirmMsg = string.Empty;
            base.Close();
        }

        private void DetachEventHandler()
        {
            ModifyPassword.OnSysCfgRecived -= this.SysCfgReceivedHandler;
            this.frmWnd.AccountManager.CurrentUser.StatusChanged -= this.UserStatusChangedHandler;
            this.StepPageControl.DetachEventHandler();
        }

        internal void DisableAllButtons()
        {
            this.btnPrevious.Enabled = false;
            this.btnNext.Enabled = false;
            this.btnCancel.Enabled = false;
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && (this.components != null))
            {
                this.components.Dispose();
            }
            base.Dispose(disposing);
        }

        internal void EnableNextStep(bool enable)
        {
            this.btnNext.Enabled = enable;
        }

        private void GetNextStage()
        {
            this._passwordStage = this.StepPageControl.NextStage;
            this.LoadControl();
        }

        private void GetPreStage()
        {
            this._passwordStage = PasswordStage.MobilePhone;
            this.LoadControl();
        }

        private void Init(IFrameworkWindow wnd)
        {
            this.frmWnd = wnd;
            this.MsgBox = wnd.UnifiedMessageBox;
            this.Config = wnd.AccountManager.CurrentUser.Configuration;
            this.passwordData = new PasswordData();
            this.OnMoveNextHandler = new EventHandler<HttpAppEventArgs>(this.PasswordControl_OnMoveNext);
            this.OnTipMessageChangedHandler = new EventHandler<TipMessageEventArgs>(this.PasswordControl_OnTipMessageChanged);
            this.SysCfgReceivedHandler = new EventHandler<SysCfgEventArgs>(this.Password_OnSysCfgRecived);
            this.passwordData.UriGetSysCfg = Imps.Client.Core.Configuration.FixedClientSetting.NavigatorServerUri;
            this.UserStatusChangedHandler = new EventHandler<UserSatusChangedEventArgs>(this.CurrentUser_StatusChanged);
        }

        private void InitializeComponent()
        {
            this.components = new Container();
            ComponentResourceManager manager = new ComponentResourceManager(typeof(SetPasswordWizard));
            this.pnlContainer = new Panel();
            this.pgb = new ProgressBar();
            this.lbTip = new XLabel();
            this.label1 = new XLabel();
            this.btnPrevious = new XButton();
            this.btnNext = new XButton();
            this.btnCancel = new XButton();
            this.pnlPage = new Panel();
            this.pbProvision = new PictureBox();
            this.smsTimer = new Timer(this.components);
            this.pnlContainer.SuspendLayout();
            ((ISupportInitialize) this.pbProvision).BeginInit();
            base.SuspendLayout();
            this.pnlContainer.BackColor = Color.Transparent;
            this.pnlContainer.Controls.Add(this.pgb);
            this.pnlContainer.Controls.Add(this.lbTip);
            this.pnlContainer.Controls.Add(this.label1);
            this.pnlContainer.Controls.Add(this.btnPrevious);
            this.pnlContainer.Controls.Add(this.btnNext);
            this.pnlContainer.Controls.Add(this.btnCancel);
            this.pnlContainer.Controls.Add(this.pnlPage);
            this.pnlContainer.Controls.Add(this.pbProvision);
            this.pnlContainer.Dock = DockStyle.Fill;
            this.pnlContainer.Location = new Point(6, 0x19);
            this.pnlContainer.Name = "pnlContainer";
            this.pnlContainer.Padding = new Padding(2);
            this.pnlContainer.Size = new Size(0x1f6, 0x145);
            this.pnlContainer.TabIndex = 1;
            this.pgb.Location = new Point(6, 0x110);
            this.pgb.Name = "pgb";
            this.pgb.Size = new Size(0xf2, 0x19);
            this.pgb.Style = ProgressBarStyle.Marquee;
            this.pgb.TabIndex = 1;
            this.pgb.Visible = false;
            this.lbTip.AutoSize = true;
            this.lbTip.BorderColor = Color.Empty;
            this.lbTip.ButtonBorderStyle = ButtonBorderStyle.None;
            this.lbTip.Location = new Point(6, 0x116);
            this.lbTip.Name = "lbTip";
            this.lbTip.Size = new Size(30, 13);
            this.lbTip.TabIndex = 0x1a;
            this.lbTip.Text = "lbTip";
            this.label1.BorderColor = Color.Empty;
            this.label1.BorderStyle = BorderStyle.Fixed3D;
            this.label1.ButtonBorderStyle = ButtonBorderStyle.None;
            this.label1.Location = new Point(1, 0x10b);
            this.label1.Name = "label1";
            this.label1.Size = new Size(500, 2);
            this.label1.TabIndex = 0x19;
            this.btnPrevious.Location = new Point(0xfe, 0x110);
            this.btnPrevious.Name = "btnPrevious";
            this.btnPrevious.Size = new Size(0x4b, 0x19);
            this.btnPrevious.TabIndex = 2;
            this.btnPrevious.Text = "上一步";
            this.btnPrevious.UseVisualStyleBackColor = true;
            this.btnPrevious.Click += new EventHandler(this.btnPrevious_Click);
            this.btnNext.Location = new Point(0x151, 0x110);
            this.btnNext.Name = "btnNext";
            this.btnNext.Size = new Size(0x4b, 0x19);
            this.btnNext.TabIndex = 3;
            this.btnNext.Text = "下一步";
            this.btnNext.UseVisualStyleBackColor = true;
            this.btnNext.Click += new EventHandler(this.btnNext_Click);
            this.btnCancel.DialogResult = DialogResult.Cancel;
            this.btnCancel.Location = new Point(0x1a2, 0x110);
            this.btnCancel.Name = "btnCancel";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -