Comment obtenir les valeurs à partir d'une boîte de dialogue formulaire en VB.NET?
J'ai un "frmOptions" formulaire avec une zone de texte nommée "txtMyTextValue" et un bouton nommé "btnSave" pour enregistrer et fermer le formulaire lorsqu'il est cliqué,
alors, je vais les montrer cette fenêtre de dialogue "frmOptions" quand un bouton "btnOptions" est cliqué sur le formulaire principal "frmMain", à l'instar de ce
Private Sub btnOptions_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOptions.Click
ShowOptionsForm()
End Sub
Private Sub ShowOptionsForm()
Dim options = New frmOptions
options.ShowDialog()
End Sub
Comment puis-je obtenir dans le formulaire principal "frmMain" de la valeur insérée dans la zone de texte "txtMyTextValue" quand le "btnSave" est cliqué?
OriginalL'auteur Max | 2013-12-12
Vous devez vous connecter pour publier un commentaire.
Vous voulez capturer les informations de la boîte de dialogue que si le résultat est
OK
(utilisateur appuie surSave
au lieu deCancel
ou ferme la boîte de dialogue d'une autre façon), donc cela:Maintenant à l'intérieur de votre boîte de dialogue formulaire, vous devez définir le résultat
Windows.Forms.DialogResult.OK
lorsque l'utilisateur clique sur le bouton qui correspond à laOK
action de la boîte de dialogue formulaire, comme ceci:pas de problème, content que ça vous a aidé. Bonne chance à vous. 🙂
Excellente solution!
OriginalL'auteur Karl Anderson
Vous pouvez utiliser les Événements pour prendre soin de cela. Avec cette approche, les Paramètres de Forme n'a pas à être Modale et l'utilisateur peut cliquer sur le Bouton Enregistrer à tout moment.
Dans frmOptions:
Dans frmMain:
OriginalL'auteur N0Alias
La méthode la plus simple est d'ajouter une propriété publique à la frmOptions formulaire qui renvoie à l'interne une chaîne déclarée au niveau mondial, de la frmOptions
Ensuite, lorsque l'utilisateur clique sur le bouton OK pour confirmer son choix de vous copier la valeur de la zone de texte à la variable interne
Enfin dans le frmMain vous utilisez ce code pour récupérer la valeur insérée
Je préfère éviter l'accès direct aux contrôles internes de la frmOptions, une propriété offre une indirection qui pourraient être utilisés pour mieux valider les apports fournis par l'utilisateur.
OriginalL'auteur Steve
Vous pouvez accéder à la valeur de la frmOptions instance. Toutefois, cela brise la loi de déméter.
Vous devriez exposer la valeur d'une propriété au sein de votre classe.
Public Class frmOptions
Fin De La Classe
Ensuite, vous pouvez accéder à la valeur:
Enfin, si vous êtes en utilisant une boîte de Dialogue, puis assurez-vous que la boîte de Dialogue Résultat pour le bouton.
OriginalL'auteur user3096633