Instanz Problem

Hallo alle zusammen,

habe ein Problem mit Instanzen.

Also ich habe eine Klasse C_Player sie enthält die funktion Play und Stop.
Dann habe ich ein Form1, von hier rufe ich mit einer Instanz C_Player Player = new Player() -> Player.Play die func auf und öffne nach dem aufruf Play das dritte Form Alarm.
In Alarm möchte ich nun über den Button Stop die func Player.Stop ausführen.

Leider geht es nicht im Form Alarm da ich wahrscheinlich eine neue Instanz von Player bilde. Die frage ist wie greife ich auf die Instanz von Form1 zu.

Hier nochmal im einzelnen;


Klasse C_Player

public void Play()
{
bla bla bla
}


public void Stop()
{
bla bla bla
}
+++++++++++++++++++++++++++++++++++++++++++++
Form1

C_Player Player = new Player();
Player.Play();
frm_Alarm Alarm = new Alarm();
Alarm.ShowDialog;

+++++++++++++++++++++++++++++++

frm_Alarm

button_Stop_Click()
{
C_Player Player = new Player();
Player.Stop();

hier ist das Problem, beim aufruf von Stop passiert nichts
}

Was mach ich falsch


Danke im vorraus
 
Zuletzt bearbeitet:
bei dem Konstruktor im Formular Alarm übergibst du einfach dein Player Objekt.
Code:
public frm_Alarm(C_Player pMeinPlayer)
{
    this.meinPlayer = pMeinPlayer;
}

private readonly C_Player meinPlayer;
Code:
C_Player Player = new Player();
Player.Play();
frm_Alarm Alarm = new Alarm(Player);
Alarm.ShowDialog;
Da alle Klassen by Referenz übergeben werden greifst du in deinem Formular Alarm auf das gleiche Objekt drauf zu.
Code:
meinPlayer.Stop();
 
Hallo Spyke,

stell mich noch noch braun an.

So sieht meine Klasse aus. Wie ist nun der Konstruktor ?
PHP:
namespace Smart_Wecker2
{
    public partial class frm_Alarm : Form
    {
        public frm_Alarm()
        {
            InitializeComponent();
        }

        private void bnt_Stop_Click(object sender, EventArgs e)
        {

        }


       
       
    }
}
 
Code:
public frm_Alarm(C_Player pMeinPlayer) //Konstruktor mit Parametern
        {
            InitializeComponent();

            this.meinPlayer = pMeinPlayer; //Parameter im Feld meinPlayer der Klasse merken
        }

private readonly C_Player meinPlayer;
Halt fast wie oben mein erster Code, hatte nur die InitializeComponent Methode vergessen :D
 

Neue Beiträge

Zurück