pat=/(^|\(:nl:\))\(:markup:\)[^\S ]*\[([=@])((?: `\.!+.*?)+)\2\]/seimpat=/\(:markup(\s+([^ ]*?))?:\)[^\S ]*\[([=@])(.*?)\3\]/seipat=/\(:markup(\s+([^ ]*?))?:\)[^\S ]* (.*?)\(:markupend:\)/seipat=/\(:source\s+(info|langs)\s*:\)/ieusing System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; using DreamShield.Deployment.Wizards; namespace MyCustomPage { public partial class UserControl1 : BaseWizardPage { public UserControl1() : base("") /* la valeur passée à base n'a pas d'importance */ { InitializeComponent(); } /* Variables internes qui contiennent les valeurs */ string _setupUserName = ""; string _setupUserPass = ""; /* Propriétés */ public string SetupUserName { get {return _setupUserName;} set{_setupUserName = value;} } public string SetupUserPass { get {return _setupUserPass;} set{_setupUserPass = value;} } /* Intérraction avec l'assistant d'installation */ /// /// Appellé au démarrage de la page par l'assistant /// /// public override bool StartPage() { /* chargement des valeurs */ userName.Text = SetupUserName; userPass.Text = SetupUserPass; return base.StartPage(); } /// /// Appellé lorsque l'utilisateur cliques sur le bouton "Suivant" /// /// true si l'action est validée, false si l'assistant doit rester sur la même page public override bool AcceptNext() { /* enregistrement des valeurs */ SetupUserName = userName.Text; SetupUserPass = userPass.Text; /* vérification */ if (SetupUserName == "") { MessageBox.Show("Veuillez entrer un nom d'utilisateur non vide !"); return false; /* valeur invalide, on refuse d'accepter l'action du bouton Next */ } else { return base.AcceptNext(); } } } }