Frage

Ich möchte einen Integer-Wert in eine Form, in .Net passieren, damit es die richtigen Daten laden kann. Ich verwende diese so, dass wenn ich in einer Liste auf einen Rekord Doppelklick auf ein Formular aus dem Datensatz mit den Daten öffnet geladen, so dass es bearbeitet werden kann. Was ist der beste Weg, dies zu tun? Soll ich eine Eigenschaft erstellen und es vor der Show () -Methode aufrufen, oder sollte ich den Konstruktor oder etwas überlasten und den Wert in als Initialisierungswert auf diese Weise senden?

Hinweis - dies muss nicht mit dem Senden von mehr als einen Wert in die Form arbeiten -. Nur ein Wert benötigt werden

Es sollte eigentlich keine Rolle, aber das ist in C ++.

War es hilfreich?

Lösung

Ich würde vorschlagen, etwas anderes.

Erstellen Sie eine statische Methode (zum Formular, das Sie öffnen möchten) - die Parameter der statischen Methode übergeben.

verlassen sie das Formular neu bis zu der statischen Methode auf, die Daten laden und die Show-Methode aufrufen.

auf diese Weise die anrufende Form nicht mit dem Formular zu viel Durcheinander hat (Ctor, den Wert, ruft show) - Sie diese Logik fern zu halten und in Form eingekapselt - was bedeutet, können Sie diese auch wiederverwenden ohne den Code zu kopieren.

Andere Tipps

Machen Sie es im Konstruktor obligatorisch. Es würde keinen Sinn macht eine dieser Formen sowieso haben, wenn Sie etwas nicht haben zu bearbeiten.

In

einen neuen Konstruktor, der das Argument nimmt und ruft den Standardkonstruktor. Durch den Standardkonstruktor halten können Sie den Visual Studio Forms Designer verwenden, und alle neuen Konstruktor tun muss, ist den Wert zu speichern.

Oder Sie können einfach eine öffentliche Eigenschaft hinzufügen, die den Wert speichert. Dann sind Sie ein Objekt der Klasse Formulare erstellen, setzt die Eigenschaft, und zeigt das Formular aus.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top