errox Geschrieben 2. April 2009 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
errox Geschrieben 2. April 2009 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 2. April 2009 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
errox Geschrieben 3. April 2009 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 3. April 2009 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
errox Geschrieben 4. April 2009 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 5. April 2009 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.