Zugriff auf mehrere Forms

Jai

Mitglied
Hallo Zusammen,

hier eine (wahrscheinlich für Euch) simple Frage:

Wie kann man in VB gleichzeitig mit mehreren Forms arbeiten?

Was ich damit meine: Ich habe einen HauptForm (Benutzeroberfläche) mit mehreren commandBox. Durch anclicken eines CommandBoxes soll ein zweiter Form (eine weitere parallele Benutzeroberfläche) erscheinen und aktiviert werden. Dabei soll nur ein Quelcode existieren mit dem man die verschiedene Forms steuert und anspricht.

Gruß, Jai der Anfänger
 
Nehmen wir an, die Form, die du ansteuern möchtest, heißt "FormXY". Und nehmen wir an, du möchtest die Hintergrundfarbe der Form ändern, dann schreibst du einfach:
Code:
FormXY.BackColor = NeueFarbe
Oder wenn du auf den Textinhalt einer Textbox namens "TextXY" zugreifen möchtest, dann geht das auch so, nämlich indem du "FormXY" davorschreibst:
Code:
Textboxinhalt = FormXY.TextXY.Text
 
Shakie
ich seh schon, du interpretierst das ähnlich wie ich, ...

Jai
oft ist es gar nicht erforderlich, eine neue Form zu öffnen.... d.h. man ändert die Steuerelemente einfach in der bestehenden Form, ... je nach Ereignis....
 
@g_z:

In diesem Fall ist ist erforderlich, dass ich mit mehreren Form arbeite, da es ein großes Programm wird.


@shakie:

Das was mir bis jetzt immer noch nicht gelingt ist z.B folgendes:

In FormXY wird ein Wert berechnet, der in einem Label1 (in FormXY) erscheint und gespeichert ist. Wenn ich jetzt zu meinem FormAB wechsele (der ebenfalls zum selben Programm gehört), da möchte ich diesen Wert aus Label1 aus FormXY zur Verfügung haben und weiter verarbeiten können.

Also jetzt habe ich irgendwie 2 Forms, aber auch 2 getrennte Quellcodes, die mit einander nicht korrespondieren. Was ich anstrebe ist 2 Forms zu einem Quellcode. Alle Elemente in beiden Forms sollen aus der einen und selben Quellcode angesprochen und gesteuert werden.


Danke für eure letzten Beiträge!

Jai
 
Du musst einfach eine neue Instanz deines Formulars erzeugen.
Bisher hast du vermutlich mit der Standardinstanz gearbeitet, welche immer so heisst wie das Formular selbst.
Code:
Call FormName.Show()

Nun musst du so vorgehen:
Code:
Dim WeiteresForm as new FormName
Call WeiteresForm.Show()

Pro Angezeigtes Formular auf benötigst du eine Variable.
 
@mage: Das geht aber nur, wenn beide benötigten Formulare "gleich" sind. So wie ich Jai verstanden habe werden aber zwei Formulare benötigt, die unterschiedlich sind, also verschiedene Steuerelemente gegenüber der jeweils anderen Form enthalten.
 
Dann wird er wohl nicht darum kommen pro Layout ein eigenes Form zu erstellen und dann je nach Auswahl, das entsprechende Form anzuzeigen.
Ein Form und das Ein-/Ausblenden verschlechtert die Wartbarkeit imens.
Eine Alternative die man ins Auge fassen könnte wären Benutzersteuerelemente.
 
Was ist wenn er z.B. auf der FormXY das LabelX hat und möchte den Wert daraus einfach auf der FormZA in einer Textbox (Text1) anzeigen lassen, dann müsste das doch so gehen:
Code:
Text1.Text = FormXY.LabelX.Caption

Andersrum ist es genauso, z.B. in der Textbox wird der Wert geändert und soll nun wieder ins das Label zurück:

Code:
LabelX.Caption = FromZA.Text1.Text

Oder habe ich etwas falsches verstanden?
 
Vielen Dank für alle Beiträge. Ich werde bestimmt den einen oder anderen Hinweis anwenden.
Mein Problem habe ich erstmal duch Einfügen eines Modules gelöst. Da muss man dann die Variablen Global deklarieren, und somit kann man sie zwischen Forms hin und her tranferieren.

Gruß Jai
 
Zurück