private void DoProceed()
        {
            IWizardValidationTarget validationTarget = currentControl as IWizardValidationTarget;

            if (validationTarget != null && !validationTarget.ValidateControl())
            {
                return;
            }

            UpdateState();

            previousWizardSteps.Push(currentWizardStep);
            currentWizardStep = NextStep;

            RefreshWizardControls();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="CryptographicKeyWizard"/> class with a <see cref="IKeyCreator"/> and 
        /// for a specific <see cref="CryptographicKeyWizardStep"/>.
        /// </summary>
        /// <param name="keyCreator">The <see cref="IKeyCreator"/> that should be used to generate and validate an input key.</param>
        /// <param name="step">The <see cref="CryptographicKeyWizardStep"/> which should be shown within the wizard.</param>
        public CryptographicKeyWizard(CryptographicKeyWizardStep step, IKeyCreator keyCreator)
        {
            InitializeComponent();

            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.SupplyKey, supplyKeyControl);
            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.CreateNewKey, createNewKeyControl);
            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.OpenExistingKeyFile, openExistingKeyFileControl);
            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.ImportArchivedKey, importArchivedKeyControl);
            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.ChooseProtectionScope, chooseDpapiScopeControl);
            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.ChooseKeyFile, chooseProtectionScopeControl);

            btnCancel.Text = Resources.CryptographicKeyWizardCancelButton;
            btnPrevious.Text = Resources.CryptographicKeyWizardPreviousButton;
            btnNext.Text = Resources.CryptographicKeyWizardNextButton;
            btnFinish.Text = Resources.CryptographicKeyWizardFinishButton;
            Text = Resources.CryptographicKeyWizardTitle;

            createNewKeyControl.KeyCreator = keyCreator;

            currentWizardStep = step;
            RefreshWizardControls();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="CryptographicKeyWizard"/> class with a <see cref="IKeyCreator"/> and
        /// for a specific <see cref="CryptographicKeyWizardStep"/>.
        /// </summary>
        /// <param name="keyCreator">The <see cref="IKeyCreator"/> that should be used to generate and validate an input key.</param>
        /// <param name="step">The <see cref="CryptographicKeyWizardStep"/> which should be shown within the wizard.</param>
        public CryptographicKeyWizard(CryptographicKeyWizardStep step, IKeyCreator keyCreator)
        {
            InitializeComponent();

            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.SupplyKey, supplyKeyControl);
            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.CreateNewKey, createNewKeyControl);
            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.OpenExistingKeyFile, openExistingKeyFileControl);
            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.ImportArchivedKey, importArchivedKeyControl);
            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.ChooseProtectionScope, chooseDpapiScopeControl);
            controlByCryptographicKeyWizardStep.Add(CryptographicKeyWizardStep.ChooseKeyFile, chooseProtectionScopeControl);

            btnCancel.Text   = Resources.CryptographicKeyWizardCancelButton;
            btnPrevious.Text = Resources.CryptographicKeyWizardPreviousButton;
            btnNext.Text     = Resources.CryptographicKeyWizardNextButton;
            btnFinish.Text   = Resources.CryptographicKeyWizardFinishButton;
            Text             = Resources.CryptographicKeyWizardTitle;


            createNewKeyControl.KeyCreator = keyCreator;

            currentWizardStep = step;
            RefreshWizardControls();
        }
        private void DoProceed()
        {
            IWizardValidationTarget validationTarget = currentControl as IWizardValidationTarget;
            if (validationTarget != null && !validationTarget.ValidateControl())
            {
                return;
            }

            UpdateState();

            previousWizardSteps.Push(currentWizardStep);
            currentWizardStep = NextStep;

            RefreshWizardControls();
        }
        private void DoGoBack()
        {
            currentWizardStep = previousWizardSteps.Pop();

            RefreshWizardControls();
        }
        private void DoGoBack()
        {
            currentWizardStep = previousWizardSteps.Pop();

            RefreshWizardControls();
        }