Ankündigung

Einklappen
Keine Ankündigung bisher.

User helfen User - Programmieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    woher kennt denn deine neue klasse die form1 klasse?

    Kommentar


      Weiß nich gerade wie es bei C# ist, aber hast du eine Instanz der Klasse angelegt?

      Dann solltest du damit auch auf die Funktion zugreifen können.

      Als Beispiel: Wenn die Klasse Test heißt, dann darfst natürlich net einfach Test.setdbGridDataSource machen, sondern vorher eine Instanz der Klasse anlegen und damit arbeiten.

      Kommentar


        okay ich versuchs ma anders.. das ich von meiner klasse eine instanz brauche, ist mir klar.
        Die Form1 wird aber ja von der Program.cs gestartet mit der folgenden main methode:
        Spoiler: 
        {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(fals e);
        Application.Run(new Form1());
        }


        Form1 ist eine partial Class.. Beim erstellen wird ja hier kein name angegeben für die instanz.. wie greife ich jetzt auf methoden meiner instanz von form1 zu?

        Form1 und meine zusätzliche klasse befinden sich btw im selben namespace

        Also auch wenn ich meine eigene Klasse static mache, ändert das nichts, ich komme ja gar nicht erst soweit die methode dahinzuschreiben bevor die Entwicklungsumgebung meckert:
        Spoiler: 
        Fehler 1 Für das nicht statische Feld, die Methode oder die Eigenschaft "WindowsFormsApplication2.Form1.setDBGridDataSourc e()" ist ein Objektverweis erforderlich.



        Woher nehmen wenn nicht stehlen? :/

        Kommentar


          von wo aus willst du auf deine form1 zugreifen?

          Kommentar


            Aus der instanzmethode einer selbst erstellten klasse


            muss jetzt leider erstma los, gucke gegen 8 wieder rein

            Kommentar


              Stichwort für dich wäre wohl Zugriff auf Parent.

              Schau mal hier rein, da wird es ganz gut beschrieben, denke ich.

              http://gruppen.niuz.biz/dialog-t504152.html?s=552fd30280d3acb8c7f963480cfe6e41&am p;

              Kommentar


                Ich hab das jetzt nicht genau verstanden, aber ich schätze mal, dass sich das auf Fenster bezieht, die von einer anderen Form aufgerufen werden. Ich will ein Objekt der klasse aber nicht unbedingt in der form erstellen, sondern auch schon in dem hauptprogramm, was die form öffnet..

                ich überleg mir mal ob ich das konzept nicht doch wieder über den haufen werf.

                Kommentar


                  Schonmal mit delegates und events versucht? Das wäre zumindest sauberer Stil und besser als direkt Funktionen von einer anderen Form aufzurufen. Kann dir mit C# leider net direkt helfen, da ich selber nur sehr wenig damit gemacht habe.

                  Aber schau mal hier nach Delegates:
                  http://tuts4you.de/component/content/article/71-aenderungen-von-subform-an-mainform-uebergeben

                  Eine andere Idee wäre eine Art Splashscreen. Du startest also nicht mit Form1, sondern mit einem kurzen Splashscreen oder gar einer Klasse ohne UI und initialisierst dort Form1.

                  Kommentar


                    Generell verstehe ich nicht warum er in einer anderen klasse methoden der form steuern will.

                    hört sich für mich so an, als ob er in die falsche richtung auslagert.

                    ich an deiner stelle würde die logik die in form1 steckt in eine andere klasse auslagern und diese klasse dann in der form1 klasse nutzen...

                    vielleicht hab ich es auch einfach nicht verstanden was du genau willst.

                    Kommentar


                      Zitat von maaanuuueeel
                      Generell verstehe ich nicht warum er in einer anderen klasse methoden der form steuern will.

                      hört sich für mich so an, als ob er in die falsche richtung auslagert.

                      ich an deiner stelle würde die logik die in form1 steckt in eine andere klasse auslagern und diese klasse dann in der form1 klasse nutzen...

                      vielleicht hab ich es auch einfach nicht verstanden was du genau willst.
                      spielt wohl für ihn keine große rolle, etwas richtig zu machen, wenn er sich sowieso mit winforms beschäftigt

                      Kommentar


                        Ich habe jetzt meinen Techniker für Elektrotechnik angefangen, wir arbeiten unter anderem mit C++.

                        Ich habe eine Programm mit mehreren Unterprogrammen(?).

                        Url: http://codepad.org/J4D7PbGe

                        Nun habe ich das Problem das ich in Zeile: 41 nicht zurück in die "int main()" funktion zurück komme. Bzw mein Visual Studio kompiliert mir das ganze nicht mehr und sagt:
                        "Fehler 1 error C3861: "main": Bezeichner wurde nicht gefunden."

                        Woran liegt das? Ich hab jetzt ewig über google gesucht, aber ich denke ich benutze einfach die falschen Begriffe um eine Lösung zu finden.

                        Kommentar


                          Zeile 51 mal entfernen

                          Kommentar


                            Zitat von tfsn
                            Zeile 51 mal entfernen
                            Richtig, die hatte ich Testweise mal eingefügt, um es mit einem goto zu probieren, was leider auch nicht funktionierte.

                            Das entfernen hat leider nichts gebracht.

                            Ist es überhaupt möglich von einem "unterprogramm" in das "main()" zurück zu wechseln? Wenn ja wie? Wenn nicht wie dann? :/

                            Kommentar


                              kann zwar kein c, aber c läuft doch alles zeile für zeile durch. Dadurch weiß c nich was er mit main() machen soll da er die erst in 47 liest. Man müsste also erstma ganz am anfang alle methoden hinschreiben(kann mich auch irren :/).

                              Kommentar


                                #include "stdafx.h"
                                #include "conio.h"
                                #include "stdlib.h"

                                brauchst du alles nicht, warum also reinpacken? und wenn dann in , sonst wird nur lokal gesucht und du kannst probleme bekommen

                                schaue mir grad mal das programm an

                                Kommentar

                                Lädt...
                                X