2008-11-23 8 views
0

Je souhaite transmettre une valeur entière à un formulaire dans .Net afin qu'il puisse charger les bonnes données. J'utilise ceci pour que lorsque je double-clique sur un enregistrement dans une liste, un formulaire s'ouvre avec les données de cet enregistrement chargé afin qu'il puisse être édité. Quelle est la meilleure façon de procéder? Dois-je créer une propriété et la définir avant d'appeler la méthode Show(), ou devrais-je surcharger le constructeur ou quelque chose et envoyer la valeur en tant que valeur d'initialisation de cette façon?Valeur de passe pour former dans .Net

Remarque - cela ne nécessite pas d'envoyer plus d'une valeur au formulaire - une seule valeur sera nécessaire.

Cela ne devrait pas vraiment importer, mais c'est en C++ .Net.

Répondre

4

Je suggérerais autre chose.

créer une méthode statique (au formulaire que vous souhaitez ouvrir) - transmettre le paramètre à la méthode statique.

laissez la méthode statique pour réécrire le formulaire, chargez les données et appelez la méthode Show. De cette façon, le formulaire d'appel n'a pas besoin de manipuler beaucoup le formulaire (ctor, en définissant la valeur, en appelant show) - vous gardez cette logique et encapsulé dans le formulaire - ce qui signifie que vous pouvez également réutiliser sans copier le code.

+0

sent comme une usine d'un seul type. bonne suggestion. – kenny

+0

en fait ce n'est pas une usine, puisque la méthode statique ne retourne rien. il fait juste le travail (créer un formulaire, charger des données dedans et le montrer). – Asher

0

Le rendre obligatoire dans le constructeur. Cela n'aurait aucun sens d'avoir une de ces formes si vous n'avez rien à éditer.

0

Ajoutez un nouveau constructeur qui prend l'argument et appelle le constructeur par défaut. En conservant le constructeur par défaut, vous pouvez toujours utiliser le concepteur de formulaires Visual Studio et tout ce que votre nouveau constructeur doit faire est de stocker la valeur.

Ou vous pouvez simplement ajouter une propriété publique qui stocke la valeur. Ensuite, vous créez un objet de la classe forms, définissez la propriété et affiche le formulaire.

Questions connexes