Autor Beitrag
Oweh
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 19.03.08 11:03 
Hallo zusammen,
ich möchte gerne eine Klasse (Dokument) anlegen auf die ich mit unterschiedlichen Forms darauf zugreifen kann. In C++(MFC) gab es hier die Dokumenten- Ansichtstruktur und Zeiger. Ich wollte das Prgramm so aufbauen, dass in der Klasse die Berechnungen und Daten(Struktur)sind. Form 1 ist das Grundfester des Programms, Form 2 dient zum
Editieren und eingeben der Programm-Parameter.
Instanziiere ich in Form 1 die Datenklasse, kann ich mit Form 2 nicht mehr darauf zugreifen. Ich müsste jetzt nach dem Instanziiern einen globales Objekt( heisst das so in C#?) oder das erzuegt Objekt an Form 2 weitergeben.
Ich habe schon probiert, das erzeugte Objekt in staic Methoden abzulegen die ich dann
von Form 2 aus wieder aufrufen wollte. Dies scheiterte an den Variable (Objektzuweisung).Dann habe ich probiert Form 2 von Form1 abzuleiten , ich konnte zwar die Daten ansprechen. Form 2 lies sich aber nur einemal aus Form 1 aufrufen und sah auch irgendwie komisch (hatte keinen Rahmen mehr ) aus.
Wäre dankbar für jede Hilfe da ich hier schon mehrere Stunden an dem Problem Sitze.
DANKE!


Moderiert von user profile iconChristian S.: Topic aus ADO .NET und Datenbanken verschoben am Mi 19.03.2008 um 10:31
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 19.03.08 11:34 
Hi!

Du kannst in Form2 ein Feld anlegen, welches vom Typ der Datenklasse ist:
ausblenden C#-Quelltext
1:
2:
3:
4:
public partial class Form2 : Form {

  public DatenKlasse Daten {get; set;}
}


Und wenn Du Form2 aufrufen willst, machst Du das so:
ausblenden C#-Quelltext
1:
2:
3:
Form2 f2 = new Form2();
f2.Daten = datenAusForm1;
f2.ShowDialog();


Grüße
Christian

//edit: Ach ja, :welcome:

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Oweh Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 19.03.08 14:19 
Titel: Wie können verschiedene Forms auf eine Klasse zugreifen.
Hallo Cristian,
vielen Dank für die schnelle Antwort.
Damit ich es besser verstehe noch eine Frage:
Was bewirken "get" und "set" in der Methode Daten und was ist "datenAusForm1".
Ist es das Oabjekt das ich in Form 1 instanziiert habe?
Vielleicht könntest Du mir noch ein zwei Worte hierzu schreiben.
Danke!

Gruß Uwe
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mi 19.03.08 14:38 
Titel: Re: Wie können verschiedene Forms auf eine Klasse zugreifen.
user profile iconOweh hat folgendes geschrieben:
Was bewirken "get" und "set" in der Methode Daten

Das sind absolute Grundlagen zum Aufbau einer Klasse unter C#, siehe z.B. OpenBook C# Kap.4. Es ist nicht angemessen, dass ich mir hierfür eine eigene Erklärung ausdenke.

user profile iconOweh hat folgendes geschrieben:
und was ist "datenAusForm1".
Ist es das Oabjekt das ich in Form 1 instanziiert habe?

Genau so ist es. Du siehst daran auch, wie nützlich "sprechende Namen" sind: Du hast es richtig verstanden, ohne dass Christian alles erklärt hat.

Jürgen
Oweh Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 21.03.08 13:54 
Hallo zusammen,
vielen Dank für den Tipp.
Es funktioniert !!!! :D