errox Geschrieben 2. April 2009 Geschrieben 2. April 2009 Hallo Freunde Ich hab wieder eine Frage: In meinem programm hab ich ein Menustrip, in dem die Konfigurationsdateien die Ausgelesen werden hineinkommen Code: System::IO::DirectoryInfo^ dirInfo = gcnew System::IO::DirectoryInfo( "config\\" ); array<System::IO::FileInfo^>^files = dirInfo->GetFiles( "*" ); if ( files != nullptr ) { System::Collections::IEnumerator^ myEnum = files->GetEnumerator(); while ( myEnum->MoveNext() ) { System::IO::FileInfo^ file = safe_cast<System::IO::FileInfo^>(myEnum->Current); ListViewItem^ item = gcnew ListViewItem( file->Name ); item->SubItems->Add( file->FullName ); configLoad->DropDownItems->Add(file->Name); } } configLoad heisst mein Menustripitem. Das sieht dann in Etwa so aus: Konfiguration ( MENÜLEISTE) Laden------>Datei 1 Datei 2 usw. Die Datei selbst hinzuzufügen ist kein Problem, aber jz kommt der Schwierige Teil: Wenn ich bsp. auf Datei1 klicken Will, soll sich ein Fenster öffnen, in dem ich eine Zahl eingeben kann. Wenn ich dann auf OK gebe, sollen diese Daten an die "Mainform" übergeben werden ( also der Dateiname, und die Zahl die ich eingegeben hab ) Wie geht das? Liebe Grüße errox
errox Geschrieben 2. April 2009 Autor Geschrieben 2. April 2009 Intellisence Sei dank hab ich herausgefunden, dass ich nach Add() was hinzufügen kann. Jedoch kann ich damit noch wenig anfangen. Vielleicht habt ihr damit merh erfahrung: configLoad->DropDownItems->Add(file->Name)->[B]OnClick()[/B]; configLoad->DropDownItems->Add(file->Name)->[B]Events->AddHandler[/B]; Es sind auch andere da, aber die sind Unrealistisch Danke im vorraus Lg errox
Cadpax Geschrieben 2. April 2009 Geschrieben 2. April 2009 Wenn ich das richtig verstehe suchst du die Inputbox? Microsoft.VisualBasic.Interaction.InputBox (an den Verweis denken) Bzw: Know Dot Net - Create A VB InputBox in C# , ist zwar C#, sollte aber kein prob sein lg, Cad
errox Geschrieben 3. April 2009 Autor Geschrieben 3. April 2009 Tut mir leid, aber ich kann damit wenig anfangen Was ich am meisten aufregt dass es so schwer ist, ein Event in C++ zu Programmieren. Ich dacht es wäre einfacher
Cadpax Geschrieben 3. April 2009 Geschrieben 3. April 2009 Tut mir leid, aber ich kann damit wenig anfangen Was ich am meisten aufregt dass es so schwer ist, ein Event in C++ zu Programmieren. Ich dacht es wäre einfacher Das ist nicht sooo schwierig wie man denkt. Zum Event setzen this->button->Click += gcnew System::EventHandler(Systemobjekt [meist this], Methodenpointer [&Form1::button1_Click]); Ergo: this->button->Click += gcnew System::EventHandler(this, &Form1::button1_Click); Die Methode dann mit dem dementsprechenden Parametern einbauen (System::Object und System::EventArgs) Für ein anderes Event einfach das dementsprechende auswählen. lg, Cad
errox Geschrieben 4. April 2009 Autor Geschrieben 4. April 2009 Danke für die Rasche antwort, aber ich hab es jetzt so: void load_config(Object^ sender, EventArgs^ e) { loadconfig^ testdialog = gcnew loadconfig(); testdialog->ShowDialog(); } .... .... .... if ( files != nullptr ) { System::Collections::IEnumerator^ myEnum = files->GetEnumerator(); while ( myEnum->MoveNext() ) { System::IO::FileInfo^ file = safe_cast<System::IO::FileInfo^>(myEnum->Current); ListViewItem^ item = gcnew ListViewItem( file->Name ); item->SubItems->Add( file->FullName ); ToolStripItem^ item2 = configLoad->DropDownItems->Add(file->Name); item2->Click += gcnew EventHandler(this, &Form1::load_config); } } Eine frage wäre da noch: Die geöffnete Form ( loadconfig ) besitzt ein label. Dieses Label soll nach der Geladenen Konfiguration heissen ( z.B. Geladen: neuesDokument.doc ). und wie geht das Umgekehrt? Also in der neuen form ( immernoch loadconfig ) ist ein Button und eine Textbox. Die Textbox soll ein Button in der Mainform ( Form1 ) umbenennen. In HTML wäre das mit GET und POST ganz einfach Aber in .NET? Dankeschön
Cadpax Geschrieben 5. April 2009 Geschrieben 5. April 2009 loadconfig ist ja deine Form. Der Form kannst du auch demenstprechende Attribute geben, die du vor- oder beim Aufruf abgreifst. (get/set, oder auch rückgabe/übergabe bei methoden, je nach Wunsch) Ich versteh nicht so ganz was du magst. Versuch das bitte mal klar zu strukturieren. Dann kann man dir auch hier weiterhelfen. Mögliche Denkansätze: - Überladen von ShowDialog (wenn möglich, k.A. aus dem Kopf) - Attribute der loadconfig-Form - Eigene Methoden - Übergabe der dementsprechendem Objekte (z.B. Referenz auf den Button des Main-Fensters, Referenz auf das Main-Fenster) Einige Ansätze sind schön, andere weniger. Welchen man wählt hängt ganz vom Zweck ab. Den erkenn ich aber nicht. lg, Cad
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden