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

📄 provisionwizard.cs

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

    public class ProvisionWizard : XIMDialog, IHandleUserStatusSelf
    {
        private ProvsionStage _provsionStage = ProvsionStage.License;
        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 int i;
        private XLabel label1;
        private XLabel lbTip;
        internal int MinSmsRequestSpanSeconds;
        internal IUnifiedMessageBox MsgBox;
        public EventHandler<HttpAppEventArgs> OnMoveNextHandler;
        public EventHandler<TipMessageEventArgs> OnTipMessageChangedHandler;
        private PictureBox pbProvision;
        private ProgressBar pgb;
        private Panel pnlContainer;
        private Panel pnlPage;
        private ProvsionControlBase ProvsionControl;
        public Imps.Client.Core.ProvsionData ProvsionData;
        internal volatile int smsTickCounter;
        internal Timer smsTimer;
        public EventHandler<SysCfgEventArgs> SysCfgReceivedHandler;
        public EventHandler<UserSatusChangedEventArgs> UserStatusChangedHandler;

        public event EventHandler<SysCfgEventArgs> OnSysCfgAvaild;

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

        private void AttachEventHandler()
        {
            Imps.Client.Core.Provisioning.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.ProvsionControl.GetValidData())
            {
                this.ProvsionControl.MoveToNextStage();
                this.pgb.Visible = true;
            }
        }

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

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

        private void DetachEventHandler()
        {
            Imps.Client.Core.Provisioning.OnSysCfgRecived -= this.SysCfgReceivedHandler;
            this.frmWnd.AccountManager.CurrentUser.StatusChanged -= this.UserStatusChangedHandler;
            this.ProvsionControl.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._provsionStage = this.ProvsionControl.NextStage;
            this.LoadControl();
        }

        private void GetPreStage()
        {
            this._provsionStage = ProvsionStage.License;
            this.LoadControl();
        }

        private void Init(IFrameworkWindow wnd)
        {
            this.frmWnd = wnd;
            this.MsgBox = wnd.UnifiedMessageBox;
            this.Config = wnd.AccountManager.CurrentUser.Configuration;
            this.ProvsionData = new Imps.Client.Core.ProvsionData();
            this.OnMoveNextHandler = new EventHandler<HttpAppEventArgs>(this.ProvsionControl_OnMoveNext);
            this.OnTipMessageChangedHandler = new EventHandler<TipMessageEventArgs>(this.ProvsionControl_OnTipMessageChanged);
            this.SysCfgReceivedHandler = new EventHandler<SysCfgEventArgs>(this.Provisioning_OnSysCfgRecived);
            this.ProvsionData.ProvsionUrl.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(ProvisionWizard));
            this.label1 = new XLabel();
            this.pnlPage = new Panel();
            this.btnCancel = new XButton();
            this.btnNext = new XButton();
            this.btnPrevious = new XButton();
            this.pbProvision = new PictureBox();
            this.pnlContainer = new Panel();
            this.pgb = new ProgressBar();
            this.lbTip = new XLabel();
            this.smsTimer = new Timer(this.components);
            ((ISupportInitialize) this.pbProvision).BeginInit();
            this.pnlContainer.SuspendLayout();
            base.SuspendLayout();
            this.label1.BorderStyle = BorderStyle.Fixed3D;
            this.label1.Location = new Point(1, 350);
            this.label1.Name = "label1";
            this.label1.Size = new Size(500, 2);
            this.label1.TabIndex = 0x19;
            this.pnlPage.Location = new Point(0x84, 5);
            this.pnlPage.Name = "pnlPage";
            this.pnlPage.Size = new Size(360, 340);
            this.pnlPage.TabIndex = 0;
            this.btnCancel.DialogResult = DialogResult.Cancel;
            this.btnCancel.Location = new Point(0x1a1, 0x163);
            this.btnCancel.Name = "btnCancel";
            this.btnCancel.Size = new Size(0x4b, 0x19);
            this.btnCancel.TabIndex = 4;
            this.btnCancel.Text = "取消";
            this.btnCancel.UseVisualStyleBackColor = true;
            this.btnCancel.Click += new EventHandler(this.btnCancel_Click);
            this.btnNext.Location = new Point(0x150, 0x163);
            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.btnPrevious.Location = new Point(0xff, 0x163);
            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.pbProvision.BorderStyle = BorderStyle.FixedSingle;
            this.pbProvision.ErrorImage = null;
            this.pbProvision.InitialImage = null;
            this.pbProvision.Location = new Point(6, 5);
            this.pbProvision.Name = "pbProvision";
            this.pbProvision.Size = new Size(120, 340);
            this.pbProvision.TabIndex = 0;
            this.pbProvision.TabStop = false;
            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, 0x1f);
            this.pnlContainer.Name = "pnlContainer";
            this.pnlContainer.Padding = new Padding(2);
            this.pnlContainer.Size = new Size(0x1fa, 0x1a5);
            this.pnlContainer.TabIndex = 0;
            this.pgb.Location = new Point(7, 0x163);
            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.Location = new Point(5, 0x169);
            this.lbTip.Name = "lbTip";

⌨️ 快捷键说明

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