Veröffentlicht 14. Juli 200619 j ich habe einen Hauptdialog in dem Dialog rufe ich einen anderen auf, von dem aufgerufenem Dialog übergebe ich par Daten (durch public Methode in dem Hauptdialog) an den Hauptdialog, es sollten zwei TextBox in dem Hauptdialog mit Text aufgefühlt sein. Leider passiert nichts. So seht die Methode im Hauptdialog aus public void SetXYZData(string ik, string name) { this.textboxK.Text = ik; this.textBoxname.Text = name; } [/PHP] Im debug sehe ich auch das die variablen gesetzt sind es wird leider nur im dem Dialog selbs nichts angezeigt, auch Update oder Refresch hilft hier überhautp nicht
14. Juli 200619 j Autor Also ich verstehe es mit besten willen nicht. noch mal, in Form2 rufe eine Funktion von Form1 () in der ich die Steuerelemente (TextBox) von Form1 befühlen will, die Funktion bekommt auch die richtige werte und wie ich schon sagte die TextBox auch angezeigt wird allerdinks nichts Sobald ich aber die Funktion direkt in Form1 aufrufe funktioniert wunderbar ?? Was mache ich fehrkert bzw. wie sollte man das im C# machen?!!?!?
14. Juli 200619 j noch mal, in Form2 rufe eine Funktion von Form1 () Woher hat Form2 denn das Form1-Objekt? Sag nicht, das wird da erst erstellt?
14. Juli 200619 j Autor Woher hat Form2 denn das Form1-Objekt? Sag nicht, das wird da erst erstellt? ja, wie kann ich sonst auf die Funktion zugreifen
14. Juli 200619 j ja, wie kann ich sonst auf die Funktion zugreifen Ich glaube, dir ist der Unterschied zwischen Klasse und Objekt noch nicht ganz klar. Du erstellst ein neues Form1-Objekt. Das hat aber mit dem ursprünglichen Objekt nichts zu tun. Änderungen an dem einen wirken sich nicht auf das andere aus. Auch wenn du zwei gleiche Schränke hast: Was du in einen Schrank hineinlegst, kannst du nicht aus dem anderen rausholen. Du musst die Referenz auf dein existierendes Form1-Objekt and das Form2-Objekt übergeben, am besten gleich über den Konstruktor. Die Referenz kannst du dann in einem Member von Form2 speichern und später darüber auf dein Form1-Objekt zugreifen.
14. Juli 200619 j Ist nicht grade guter Programmierstiel einem Dialog eine Referenz auf das aufrufende Objekt (egal ob Form oder irgendwas andres) zu übergeben. Was wenn du den Dialog irgendwo anders nochmal benutzen willst? Mach lieber in dem Dialog irgendwo ein eine Property in der ein Ergebnisobjekt steckt. Dann kannst du nach dem Aufruf des Dialogs das Ergebnis weiterverarbeiten. MfG Markus
16. Juli 200619 j Autor Mach lieber in dem Dialog irgendwo ein eine Property in der ein Ergebnisobjekt steckt. wie meinst du es, kannst du ein wenig code dazu liefern??
17. Juli 200619 j Autor wie meinst du es, kannst du ein wenig code dazu liefern?? ok, vergesse es. Ich habe aber auch gelesen das den „saubersten weg“ für Kommunikation zwischen zwei Form’s sind Events mit einer art Modellklasse? Stimmt das, was meint Ihr dazu?? Gruß 007ski
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.