form_load argumente übergeben?

MasterEvil

Erfahrenes Mitglied
Wie kann ich ein zu ladendes Formular Argumente übergeben?
Irgendwo muss ja die Deklaration der Funktion sein die geändert werden muss?

[EDIT]
Handelt sich um VB6
 
Ne das geht eigentlich nicht so direkt. Aber du kannst ja eine Public-Variable deklarieren, die dann in Form_Load ausgewertet werden kann.
Vielleicht beschreibst du etwas genauer, was du machen möchtest. Hier hat dann bestimmt jemand eine gute Idee, wie du dein Problem lösen kannst!
 
Zuletzt bearbeitet:
Ja, ich möchte einen Datensatz in einem Fenster bearbeiten.
Dazu möchte ich dem Fenster eine ID übergeben damit die richtigen Daten in die Felder eingetragen werden.
Leider geht das nicht mehr im Nachhinein da das Formular Dropdownlisten besitzt die während der Laufzeit schreibgeschützt sind. Also müsste das Formular gleich mit dem richtigen Argument aufgerufen werden um schon bei der Initialisierung die Felder zu füllen.
 
Ich nehme an, du lädst die Form, indem du sie mit "FormXY.Show" anzeigen lassen willst. Dann könntest du beispielsweise folgende Prozedur erstellen:
Code:
Public Sub MyShow(ByVal ID As Integer)
	'Hier den Code rein, der sonst in Form_Load stehen würde bzw. den Code, der die ID braucht.
	Me.Show
End Sub

Und dann rufst du die Form mit "FormXY.MyShow ID" auf.
(Ich bin mir nicht sicher, ob ich dich richtig verstanden habe....)
 
Achso, kann ich die Steuerelemente des Formulars schon festlegen bevor ich es anzeigen lassen?
Das wäre natürlich super, muss ich gleich mal probieren.

THx schonmal :)

[EDIT]
Ne, geht leider nicht da die Combo-Boxen trotzdem schreibgeschützt sind.
Bleibt mir wohl nix anderes übrig als editierbare Comboboxen zu nehmen :(
 
Zuletzt bearbeitet:
Wenn die Combobox einmal schreibgeschützt ist, dann ist sie immer schreibgeschützt. Das hat nichts damit zu tun, ob die Form bereits angezeigt ist oder nicht.

Du kannst auf jedes Steuerelement einer Form drauf zugreifen, ohne dass die Form angezeigt wird. Allerdings wird die Form dabei bereits in den Arbeitsspeicher geladen und das Ereignis "Form_Load" tritt ein. Mit "Unload FormXY" wird die Form wieder aus dem Arbeitsspeicher gelöscht, die Werte die beispielsweise in einer Textbox stehen gehen damit verloren (das gilt für alle Steuerelemente). Mit "FormXY.Hide" hingegen wird die Form nur unsichtbar gemacht, werte in einer Textbox bleiben erhalten. Mit "FormXY.Show" wird die Form dann wieder angezeigt.
 
Hmm, ich glaub ich verstehe das hier falsch, denn wiso machst du es nicht einfach mit
Code:
Form_DeineForm![Feldname].wennnötigvalue = "dein gewünschter Wert"

Nun setzt du für jedes Feld, dass du füllen willst den Wert schon bevor du deine Form geladen hast?

Wenn ich flasch liege, sry für Post :)
 
Zurück