myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: Windows-Forms » Form wechseln u. Daten übergeben
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Form wechseln u. Daten übergeben

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
GNewmann GNewmann ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.01.2006
Beiträge: 90


GNewmann ist offline

Form wechseln u. Daten übergeben

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Liebe Leutz,

ich habe eine Frage, die auch schon öfters beantwortet wurde, jedoch würde ich gerne auch den Sinn dahinter verstehen.

Zum Verständnis.. in Form1 (Kundendaten z.B. Kundennummereingabe), kann der Benutzer auf ein Button klicken wo Form 2 aufgerufen wird wo er dann nach einem Kunden suchen kann in einer ListBox und diesen dann auswählen kann.

Dass klappt alles wunderbar, jedoch schließe ich nun die Form und sollte den Kunden den der Benutzer ausgewählt habe in die TextBox in Form1 eintragen.

Forms kann man, wie bekannt mit .Show aufrufen.

Nun will ich die Form aber komplett entladen und bei neuaufruf wieder laden.

Ich habe also nun die Form "Auftragsnummer" erstellt und ein Objekt davon "f2" erstellt.
bei f2.close() schließt er mir das Ganze Programm.. was ich nicht verstehen kann.

Nun habe ich die Form einfach auf visible gesetzt, momentan.

Kommen wir nun zum eigentlichen Problem.. dem übergeben des Wertes in der Form Auftragsnummer (f2) wieso muss ich da eigentlich ein Objekt von erstellen in Form1, damit ich endlich Zugriff habe.. ? ich kann doch auch einfach Form1.Show() schreiben und alles funktioniert.. bei dieser neu erstellten Form brauch ich aber ein Objekt von in Form1!?!?

Dass Problem, ist nun zu sagen: Wenn Form 2 schließt und der Benutzer einen Kunden ausgewählt hat, dann soll der Wert von Form 2 in Form 1 übertragen werden.

Viel Fragen für den Anfang, aber hier stehe ich momentan an so einem leichten Problem! und das Prog ist komplex.. traurig naja, an so kleinigkeiten lässt man sich aufhalten..

Gruß,
GNewmann
03.08.2006 10:00 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rockthecity
myCSharp.de-Mitglied

Dabei seit: 12.10.2005
Beiträge: 297
Entwicklungsumgebung: VS2005


rockthecity ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

hier kannst du mal schauen.

 Von Form2 auf Form1 zugreifen.
03.08.2006 10:55 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rainbird Rainbird ist männlich
myCSharp.de-Poweruser/ Experte

avatar-2834.jpg


Dabei seit: 28.05.2005
Beiträge: 3.721
Entwicklungsumgebung: Visual Studio 2012
Herkunft: Mauer


Rainbird ist offline

Forms Mysterien

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wenn durch das schließen eines Forumlars plötzlich die ganze Anwendung beendet wird, hast Du wohl das Startformular geschlossen. In der Main-Methode (programmeinstiegspunkt) wird ein bestimmtes Formular erzeugt und in eine Anwendungsschleife gestellt. Wenn dieses Formular geschlossen wird, springt er aus der Anwendungsschleife und das Programm ist beendet (Da die Main-Methode vollständig durchlaufen worden ist).

Zu Deiner Frage, warum man immer ein Objekt von Formx braucht: C# ist eine objektorientierte Sprache. Klassen sind nur die "Baupläne" der Objekte. Damit etwas wirklich "leben" kann, musst Du ein Objekt erzeugen. Das sollte aber alles in Deinem C# Buch stehen, welches Du hoffentlich gelesen hast.

Wie verschiedene Formulare Daten austauschen, steht hier:

 Kommunikation von 2 Forms
03.08.2006 10:58 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
GNewmann GNewmann ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.01.2006
Beiträge: 90

Themenstarter Thema begonnen von GNewmann

GNewmann ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Vielen Dank für die Antworten..
ich muss aber dazu noch sagen, dass ich auf die Property meiner TextBox zugreifen will.

D.h. wenn ich die aktuelle Form schließe, soll in Form1.textBox1.Text = blabla
der Inhalt der Textbox geändert werden, da komm ich auch mit get und set nicht hin.. zumindest hab ich es bis jetzt in keinen der Beiträge gesehen.

Ich kann nicht den Wert public setzen oder mit get und set abfangen, zumindest hab ich das noch nicht gesehen.. dazu bräuchte ich ein Event wo erkennt, "ok, Form2 ist geschlossen nun darf ich (form1) den Wert in die Textbox eintragen"..
Aber ich will ja das Form2 der Form1 den Text so gesehen "reinknallt" also zwangsweise übergibt..

Ja, dass mit Objekten u.s.w scheint OOP zu sein :o) bin gerade dabei mich anzufreunden... ich bin halt skeptisch weil ich für Form 1 nirgends ein Objekt erstellt habe!? und für Form2 muss ich in Form1 ein Objekt erstellen!? wieso nicht noch anderstrum!?!? dass sind so die fragen bezügl. OOP.. zumindest bei der Form.. innerhalb einer Form komm ich damit gut klar :o)

Gruß,
GNewmann
03.08.2006 11:20 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rainbird Rainbird ist männlich
myCSharp.de-Poweruser/ Experte

avatar-2834.jpg


Dabei seit: 28.05.2005
Beiträge: 3.721
Entwicklungsumgebung: Visual Studio 2012
Herkunft: Mauer


Rainbird ist offline

Objekte

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Du hast wohl ein Objekt von Form1 erstellt. In der main-Methode (Bei VS2005 in der Program.cs).

Was Du da machen willst, hört sich haarstreubend an. Man greift nicht direkt auf Steuerelemente anderer Formulare zu. Wenn Du solche Sachen machst, hast Du bald einen riesen Krauthaufen. Form2 darf nicht direkt auf Form1 zugreifen. Angenommen Du willst Form2 an einer anderen Stelle mit Form3 verwenden, dann geht das nicht, da es direkt auf Form1 zugreifen will. Mach sowas blos nicht.

Vorschlag: Implementier Dein Suchfenster (Das mit der Kundennummer etc.) als Dialog und ruf es über eine statische Funktion auf. Dann kannst Du Parameter übergeben und kriegst auch welche zurück. Auf diese Art hast Du die Kundensuche ein einziges Mal implementiert und kannst sie von allen Formularen aufrufen, die Kunden suchen möchten.
03.08.2006 11:51 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
GNewmann GNewmann ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.01.2006
Beiträge: 90

Themenstarter Thema begonnen von GNewmann

GNewmann ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke für die schnelle Antwort!

Hast du mir dazu Links, Tipps? Ich werde mich jetzt mal im Internet schlau machen, da ich mit Dialogen selten arbeite.

Danke.

Gruß,
GNewmann
03.08.2006 12:33 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
nic4x4 nic4x4 ist männlich
myCSharp.de-Mitglied

avatar-1983.jpg


Dabei seit: 27.06.2006
Beiträge: 191
Entwicklungsumgebung: VS 2005 SE
Herkunft: NRW


nic4x4 ist offline Füge nic4x4 Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Du musst halt die Daten abkapseln:

C#-Code:
public string Fenstertext
{
    get { return this.Text; }
    set { this.Text = value; }
}

Link:
 http://www.galileocomputing.de/openbook/...40017a91f0461b2

EDIT:
Ich könnt dir ein Beispiel für die InputBox schreiben, wenn du es dann noch nicht vestanden hast.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von nic4x4 am 03.08.2006 13:05.

03.08.2006 12:58 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
GNewmann GNewmann ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.01.2006
Beiträge: 90

Themenstarter Thema begonnen von GNewmann

GNewmann ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Die Dialoge sind doch bausteinartig zusammengesetzt, wobei ich die Form designt habe.. was für einen Tipp habt ihr mir so einen Dialog genauso aufgebaut wie die Form zu erstellen.. kann ich einen Dialog nicht in der Form bearbeiten? kreiren?

Wenn nicht, wie setzte ich ihn am besten zusammen ich habe eine ListBox mit vielen Events eine ComboBox und einen Button.. kann ich die Erstellung aus dem Code von meiner Form rauskopieren?

Wie ihr merkt, bin ich nicht so fit, wenn es um Formen und Dialoge geht :/

Gruß,
GNewmann

Edit: Danke, ein Beispiel wäre sehr hilfreich..

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von GNewmann am 03.08.2006 13:32.

03.08.2006 13:31 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rainbird Rainbird ist männlich
myCSharp.de-Poweruser/ Experte

avatar-2834.jpg


Dabei seit: 28.05.2005
Beiträge: 3.721
Entwicklungsumgebung: Visual Studio 2012
Herkunft: Mauer


Rainbird ist offline

Beispiel

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich hab kurz ein Beispiel geschrieben:


Dateianhang:
unknown CustomerSelectionDialog.zip (38,37 KB, 989 mal heruntergeladen)
03.08.2006 14:09 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rainbird Rainbird ist männlich
myCSharp.de-Poweruser/ Experte

avatar-2834.jpg


Dabei seit: 28.05.2005
Beiträge: 3.721
Entwicklungsumgebung: Visual Studio 2012
Herkunft: Mauer


Rainbird ist offline

Screenshot

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

So sieht es aus.

Rainbird hat dieses Bild (verkleinerte Version) angehängt:
dialog.jpg
Volle Bildgröße

03.08.2006 14:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
GNewmann GNewmann ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.01.2006
Beiträge: 90

Themenstarter Thema begonnen von GNewmann

GNewmann ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ihr seid ja prima! Vielen Vielen Dank!

Bin schon ganz gespannt auf den Quellcode.. der Screenshot sieht nämlich schon einmal Top aus!

Merci

Gruß,
GNewmann
03.08.2006 15:45 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
GNewmann GNewmann ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.01.2006
Beiträge: 90

Themenstarter Thema begonnen von GNewmann

GNewmann ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Muss leider nochmal schreiben.

ich kriege folgende Fehlermeldung, wenn ich die Projekt- File öffne.

Gruß,
GNewmann

GNewmann hat dieses Bild (verkleinerte Version) angehängt:
SAP_004.jpg
Volle Bildgröße

03.08.2006 16:06 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rainbird Rainbird ist männlich
myCSharp.de-Poweruser/ Experte

avatar-2834.jpg


Dabei seit: 28.05.2005
Beiträge: 3.721
Entwicklungsumgebung: Visual Studio 2012
Herkunft: Mauer


Rainbird ist offline

Visual Studio

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Welches Visual Studio verwendest Du?

Das projekt wurde mit Visual Studio 2005 Express erstellt.
03.08.2006 16:33 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
GNewmann GNewmann ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.01.2006
Beiträge: 90

Themenstarter Thema begonnen von GNewmann

GNewmann ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich verwende das 2003er.. daran dürfte es scheitern.

Gruß,
GNewmann
03.08.2006 16:38 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
nic4x4 nic4x4 ist männlich
myCSharp.de-Mitglied

avatar-1983.jpg


Dabei seit: 27.06.2006
Beiträge: 191
Entwicklungsumgebung: VS 2005 SE
Herkunft: NRW


nic4x4 ist offline Füge nic4x4 Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hm ... ich wollt grad schon die Idee aufgeben ein Tut für standartmäßige Inputbox zu machen.
Glaubt ihr das lohnt sich? Das kann ja eigentlich fast jeder ...
03.08.2006 16:53 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
GNewmann GNewmann ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.01.2006
Beiträge: 90

Themenstarter Thema begonnen von GNewmann

GNewmann ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich wäre vollkommen dafür.. smile

Es gibt zwar schon viele Tuts, doch so ein Fall wie ich es momentan habe, mit einem Dialog und der Übergabe von dem Wert, würde ich als sehr interessant einstufen.

Ich würde mich auf jedenfall freuen.

Kennt jemand eine Lösung wie ich das Programm von Rainbird zum laufen bringe?

Gruß,
GNewmann
03.08.2006 16:56 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
nic4x4 nic4x4 ist männlich
myCSharp.de-Mitglied

avatar-1983.jpg


Dabei seit: 27.06.2006
Beiträge: 191
Entwicklungsumgebung: VS 2005 SE
Herkunft: NRW


nic4x4 ist offline Füge nic4x4 Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Gut. ok. Hier ist es:  Link

Ich hoffe du kannst damit was anfangen großes Grinsen
03.08.2006 17:12 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
GNewmann GNewmann ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.01.2006
Beiträge: 90

Themenstarter Thema begonnen von GNewmann

GNewmann ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Dass ging ja schnell smile lese es gleich mal durch! Vielen Dank!

Gruß,
GNewmann
03.08.2006 17:16 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 13 Jahre.
Der letzte Beitrag ist älter als 13 Jahre.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 22.09.2019 04:14