Bonjour,
une nouvelle form nommé "frmMyInputBox",
Un TextBox nommé "txtSaisie"
2 boutons nommés "btnValider" (avec sa propriété "Enabled" à faux) et"btnAnnuler"
Dans la classe de la form, tu crés un nouveau constructeur qui recevra un texte en paramètre (pour un affichage utilisateur)
Tu crés une propriété "SaisieUtilisateur" qui contiendra la saisie utilisateur.
Tu donnes à la propriété "DialogResult" du bouton "btnValider" la valeur "OK" (choix dans la liste)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Public Class frmMyInputBox
Private mSaisieUtilisateur As String
Public Property SaisieUtilisateur() As String
Get
Return mSaisieUtilisateur
End Get
Set(ByVal value As String)
mSaisieUtilisateur = value
End Set
End Property
''' <summary>Constructeur avec paramètre.</summary>
''' <param name="Libelle">La chaîne de caractère a afficher dans le libellé.</param>
Public Sub New(ByVal Libelle As String)
' Cet appel est requis par le concepteur.
InitializeComponent()
' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
Label1.Text = Libelle
End Sub
Private Sub btnValider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnValider.Click
mSaisieUtilisateur = txtSaisie.Text
End Sub
Private Sub btnAnnuler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnnuler.Click
Close()
End Sub
Private Sub txtSaisie_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSaisie.TextChanged
btnValider.Enabled = (txtSaisie.Text <> "")
End Sub
End Class |
dans l'évènement "txtSaisie_TextChanged"
btnValider.Enabled = (txtSaisie.Text <> "")
permet de tester si txtSaisie est vide ou pas, et l'expression (txtSaisie.Text <> "") renvoie faux si c'est vide, vrai sinon.
Le bouton est donc mis à jour pour sa propriété enabled en fonction du contenu de txtSaisie.
Utilisation
Pour toi avec un programme principal "main" qui démarrera ton application.
1 2 3 4 5 6 7 8 9 10 11
| Dim fenMyInputBox As frmMyInputBox = New frmMyInputBox("donner votre valeur : ")
If fenMyInputBox.ShowDialog() = Windows.Forms.DialogResult.OK Then
' traitement des données
MsgBox(fenMyInputBox.SaisieUtilisateur)
fenMyInputBox.Close()
' ouvre une autre fenêtre (form principal)
'...
Else
' Quitter application
'...
End If |
A+, Hervé.
Partager