Création d'un bouton "enregistrer" pour une Forme en C#
J'ai récemment créé une Base de données dans Visual Studio. J'ai deux formes, la première affiche un tableau. La deuxième forme est reliée à la première table, et les affiche dans une vue de conception.
Lorsque l'utilisateur modifie les données dans la vue de conception, s'ils cliquez sur enregistrer, la modification de la mise à jour des informations sur la forme d'origine lorsque la deuxième forme est fermée.
Toutefois, si elles fermez le formulaire sans enregistrer les modifications, les informations sur le formulaire d'origine reste inchangé.
Je veux créer un bouton "Enregistrer" pour indiquer clairement à l'utilisateur qu'ils doivent enregistrer toutes les modifications qu'ils apportent dans la vue de conception.
Quelqu'un a créé un bouton "enregistrer" avant? Pour une forme liée à une autre forme, pas un fichier?
- Je serait-il pour enregistrer automatiquement la fermeture
- Je ne peux pas juste l'utilisation de ce.Save();?
Vous devez vous connecter pour publier un commentaire.
Que sur l'utilisation de l'événement FormClosing ?
Ne sais pas si j'ai bien compris votre question, mais j'ai mis en place ce petit exemple pour essayer de reproduire ce que vous demandez.
Ici est la principale forme:
Le formulaire principal se compose d'une grille de données view (affichage de données qui pourraient provenir d'une base de données) et un bouton éditer qui est utilisé pour ouvrir un deuxième formulaire qui sera utilisé pour modifier le DataValue de l'élément sélectionné dans la vue grille. Form2 (le formulaire d'édition) ressemble à ceci:
Comme vous pouvez le voir j'ai mis un bouton "Enregistrer" et un bouton Annuler sur Form2. Je suis à l'aide de Form2 comme une boîte de dialogue modale forme (si le formulaire de test ne peut pas être modifié pendant l'Form2 est ouvert). Cela signifie que je puisse régler le DialogResult propriétés des boutons Enregistrer et Annuler et de les utiliser pour informer le TestForm quoi faire. Le bouton Enregistrer, de sorte que,
DialogResult = OK
et le bouton Annuler, de sorte que,DialogResult = Cancel
.J'ai également ajouté un public spécial de la propriété à From2 qui peuvent être utilisés pour obtenir et définir les données. Dans mon cas, c'est juste une simple chaîne de caractères, mais dans une version plus avancée du cas, cela permettrait d'obtenir et de définir un objet d'un type spécial, ou peut-être une ligne de données de la table. Ici, c'est mon bien:
Maintenant derrière mon bouton Modifier sur le TestForm j'ai le texte suivant code d'événement:
Si vous avez besoin d'un non-modale version de Form2 alors vous ne serez pas en mesure de faire tout cela dans le bouton d'édition de l'événement. Au lieu de cela vous devrez vous frayer un nouveau formulaire d'édition et de les traiter de clôture de l'événement. Ensuite, vous devrez déplacer le code qui met à jour l'affichage de la grille dans la proximité de cette manifestation. Chaque engendré formulaire d'édition devrez vous souvenir de qui ligne de données c'est l'édition afin que l'événement close pouvez mettre à jour la ligne correcte.
J'espère que cette aide.