menuestrip
-
ah also (System::Windows::Forms::ToolStripMenuItem)sender
-
Hm, Du hast schon mal in ein C++ buch geschaut ?
newToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
Lass mal schauen... Von welchem Typ könnte sender denn sein ?
Ahh - da steht es ja
System::Object^ sender
sender ist vom Typ System::Object^ .
-
ne das meinte ich nicht du hast ja gesagt da verstecken sich objecte dahinter die einfach von diesem geerbt haben. hab das mal edit oben.
-
die einzelnen in einer form z.b. ein System::Windows::Forms::TabPage dieses heißt openTab wird bei mir als privateVariable angezeigt kann ich da irgendwie drauf zugreifen?
-
Ah jetzt wird der Satz klarer =o)
Jup, eventuell aber safe_cast Syntax nehmen - nicht die alte C-style Syntax. (Kommt aufs gleiche raus - aber lässt sich einfacher im Code lesen).
-
nameac schrieb:
die einzelnen in einer form z.b. ein System::Windows::Forms::TabPage dieses heißt openTab wird bei mir als privateVariable angezeigt kann ich da irgendwie drauf zugreifen?
Klar, innerhalb der gleichen Klasse kein Thema,
aus sicht einer anderen per Property (und die Schlamperversion über ändern von private auf public)
-
das property muss man dann selbst schreiben?
load.openTab->Focus();
ich will das der tab in den fordergrund kommt automatisch. ich hab schon verschieden funktionen versucht hat aber noch nicht geklappt.
-
WANN soll er in den Focus erhalten ?
VON WO soll er den Focus erhalten ?
WAS ist load ?
WAS ist openTab ?Btw.: Die MSDN und Google beissen Dich nicht. Auch wird Dir nichts abbrechen, wenn Du anfängst mal Deine Probleme vernünftig zu formulieren.
-
load ist ein objekt der klasse in dem eine form definiert ist diese form enthält die variable openTab die eine tabPage darstellt und diese tabPage soll in den fordergrund.
aufgefufen wird dies aus einer anderen klasse.
-
Die letzten paar Satzzeichen und Großbuchstaben hättest du jetzt aber auch noch weglassen können. Womöglich versucht noch jemand zu verstehen, was du da schreibst.
-
load ist ein objekt der klasse in dem eine form definiert ist diese form enthält die variable openTab die eine tabPage darstellt und diese tabPage soll in den fordergrund.
aufgefufen wird dies aus einer anderen klasse.
WANN soll er in den Focus erhalten ? -> unbekannt
VON WO soll er den Focus erhalten ? -> einer anderen klasse
WAS ist load ? load ist ein objekt der klasse in dem eine form definiert ist (Wertetyp ?)
WAS ist openTab ? -> die variable openTab die eine tabPage darstelltDu musst also nur zu <unbekannt> aus der Instanz von <einer anderen klasse> auf <die variable openTab die eine tabPage darstellt> zugreifen. Idealerweise löst Du das ganze mit einem Property, da direkte Zugriffe auf Member eines Objektes unschön sind und zu Problemen führen können. (Für letzeres müsstest Du nur private durch publib ersetzen , welches vor <die variable openTab die eine tabPage darstellt> steht.)
Und schon kannst Du über das TabControl, zu dem <die variable openTab die eine tabPage darstellt> über selectetTab gewünschtest realisieren:
tabControl->SelectedTab = tabPage2;
-
ich schätz mal tabcontrol soll bei dir ein object vom typ tabcontrol sein aber opentap ist bei mir page2 und selected ist eine private funktion.
in dem eigenschaften fenster von den form elementen kann man da außer public und private auch einstellen das das ein property ist?
-
Lies doch mal was da steht (das schwarze sind die Buchstaben) und zeig mal ein klein wenig Eigeninitiative - sich so <eigenzensur> anzustellen grenzt schon an unmgölichkeit.
-
kann man die propertys im eigenschaftsfenster einstellen?
-
Aus der FAQ:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-166093.html
Du kannst auch mal die Suchfunktion benutzen. Mich erschlägt da der Beitrag: "Zugriff auf private Member.Wie mach ich das am besten?"
Mal ein (korregiertes) Beispiel aus dem Beitrag:
public: static property String^ pTextBoxText { String^ get() { return this->textBox3->Text; }; void set(String ^ newText) { this->textBox3->Text = newText; }; };
In der MSDN ist unter dem Stichwort property (z.B. per F1 wenn man es im Code stehen hat) auch was zu finden:
http://msdn2.microsoft.com/en-us/library//es7h5kch.aspx
Die Arten der Antworten werden Dir nicht gefallen, aber wenn Du ernsthaft bei C++ bleiben willst musst Du lernen nach Informationen zu suchen und nicht für jedes kleinstproblem eine Lösung im Forum erfragen (und Dir dann nicht mal gedanken darum zu machen). C++ is keine C&P Sprache.
-
das is nicht was ich meinte, ich wollte doch wissen: wenn man solche kästchen zieht mit irgend nem beliebigen element aus der toolbar, dann kann man diesem element einen namen geben, so genauso kann man sagen ob das public oder private sein soll, jetz ist es doch naheliegend ob man nicht auf ähnlichen wege sagen kann mach das element property. ansonsten muss ich ja in der schön automatisch erzeugten headerfile rumfuschen. trotzdem danke für deine mühe nich jeder würde so geduldig fragen beantworten, auch wenns da meistens verstädigungsprobleme gibt.
-
Würdest Du Dir auch mal ansehen was man als Antworten gibt, würde Dir auffallen, das es keinen Sinn macht soetwas wie "mach daraus ein Property" zu haben. Daraus würde dann ein "mach public draus aber mit den Kosten von Funktionsaufrufen".
Beschäftige Dich einfach ein wenig damit. Die schnellste Problemlösung lautet: Machs public. Allerdings soltle man dann wissen wo die Probleme sind bzw. warum property besser wäre.
Ein einfaches: "Die Antwort passt nicht genau auf meine Frage" wirst Du einfach nicht bekommen - Du sollst Dich mit der Materie beschäftigen und Dir die Frage selbst beantworten weil Du IMHO das Ergebnis sonst einfach nur verwendest ohne einmal darüber nachgedacht zu haben.
Durch selbst erarbeiten einiger Punkte gelangt man zu Wissen was man nicht sofort braucht aber später hilfreich ist. (Ich hab z.B vermutungen bei dem XML Serializer getroffen (zu den keiner mehr was geschrieben hat), hab aber nun einige Ideen mehr im Kopf um neue Probleme zu lösen und diese werden dann durch umfangreiches lesen der Materie erweitert.)
Sicherlich hat man unter Zeitdruck manchmal ein "ich brauche es zum Kopieren" , aber das "ich will es verstehen" muss einfach dann dazu gehöre, auch wenn erst kommt wenn der Zeitdruck weg ist.
Solange es aber Grundlegende Probleme sind, sollte keine Antwort ein einfaches Copy & Paste ermöglichen sondern Dir die Chance geben Dich damit zu beschäftigen und Dir selbst eine Art anzutrainieren um Lösungen zu finden. Je früher Du Dir das angewöhnt hast um so leichter wird es mit C++(/CLI) zurecht zu kommen.
Wenn man dann den Eindruck hat, das Du das kannst, gibt es auch einfache C&P Lösungen, Du weißt dann nämlich wie Du das anpassen musst und was Du noch an Lücken aufbessern musst.
Beispiel was bisher bei C&P fähigen Lösungen passiert:
tabControl->SelectedTab = tabPage2;
ich schätz mal tabcontrol soll bei dir ein object vom typ tabcontrol sein aber opentap ist bei mir page2 und selected ist eine private funktion.
in dem eigenschaften fenster von den form elementen kann man da außer public und private auch einstellen das das ein property ist?Ansonsten sei angemerkt das die IDE ein Hilfsmittel für die Umsetzung der Programmierung ist. Nicht alles kann durch die IDE (sinnvoll) umgesetzt werden. Auch nimmt die IDE nicht das denken ab, manchmal muss man einfach einen anderen Weg gehen als die IDE das selbst betreibt. (z.B. aufteilung von cpp und h )