Entwickler-Ecke

WinForms - 2 Forms greifen auf eine Klasse zu... funktioniert nicht...


jaxl15 - Do 22.09.11 19:14
Titel: 2 Forms greifen auf eine Klasse zu... funktioniert nicht...
Also ich habe zwei forms die auf eine class datei namens sachen zugreifen es gibt keine fehlermeldungen aber es funktioniert trotzdem nicht.

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
//++++++++++++++++++++++++++++++++++++++++++++++++++form1
    public partial class Form1 : Form
    {

        public Sachen mySachen;

        public Form1()
        {
            InitializeComponent();
            mySachen = new Sachen();
    
        private void button7_Click(object sender, EventArgs e)                  
        {
            mySachen.geld = Convert.ToDouble(Geld.Text);
            new Kaufen().Show();
            
        }

        private void button8_Click(object sender, EventArgs e)
        {
            Geld.Text = Convert.ToString(mySachen.geld);
        }
      
    }

//*******************************************************************form2 (kaufen)

    public partial class Kaufen : Form
    {
        public Sachen mySachen;
         public Kaufen() 
         {
            InitializeComponent();
            mySachen = new Sachen(); 
         }



        private void button1_Click(object sender, EventArgs e)
        {
            mySachen.geld = mySachen.geld - 1.0;  

        }
    }

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++die class datei
    public class Sachen
    {
        public double geld;
    }

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++


ich hoffen ihr könnt mir helfen.
lg jaxl

Moderiert von user profile iconKha: C#-Tags hinzugefügt


Ralf Jansen - Do 22.09.11 19:24

Jede Form benutzt ihre eigene Instanz der Sachen Klasse. Wenn du mit nicht funktioniert meinst (das solltest du erklären) das beide Formen die selbe Sachen Instanz verwenden sollen musst du die in Form 1 erzeugte Sachen Klasse auch an die Kaufen Klasse übergeben.

Ändere dazu die button7_Click Methode z.B. so


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
private void button7_Click(object sender, EventArgs e) 

    mySachen.geld = Convert.ToDouble(Geld.Text); 

    Kaufen kaufen = new Kaufen();
    kaufen.mySachen = mySachen;
    kaufen.Show(); 
}


jaxl15 - Do 22.09.11 19:31

Danke Danke Danke Danke.

Für so eine einfache lösung suche ich schon seit 2 Tagen.

Danke Danke Danke


storestore - Do 22.09.11 19:32

Ja ja,
die Antwort wusste ich natürlich auch :roll: