Veröffentlicht 2. April 200916 j 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
2. April 200916 j Autor 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
2. April 200916 j 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
3. April 200916 j Autor 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
3. April 200916 j 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
4. April 200916 j Autor 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
5. April 200916 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.