Laden...

Properties.Resources Bild if (File.Exists)

Erstellt von Ayke vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.686 Views
Ayke Themenstarter:in
643 Beiträge seit 2006
vor 17 Jahren
Properties.Resources Bild if (File.Exists)

Ich habe Bilder die mit Timern nacheinander gezeigt werden. Aber wenn ich die Form wechsle hat es den anschein als ob er die Resources Bilder nicht mehr finden kann. Bitte um Hilfe.

        private void timer2_Tick(object sender, EventArgs e)
        {
            if (----->File.Exists == _3.Properties.Resources._23_Load_2) // Wenn ich die ActiveForm wechsele tritt ein fehler auf da er die Resources nicht mehr finden kann.
//Womit kann ich prüfen ob das Bild in Resources exsiestiert oder nach der active form prüfen?
            {
                Form1.ActiveForm.BackgroundImage = _3.Properties.Resources._23_Load_2;
            }
            timer3.Enabled = true;
            timer2.Enabled = false;
        }
49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Ayke,

prüfen kannst du mit == null.

Was meinst du mit Form wechseln? Den Code in ein anderes Form kopieren/verschieben?

herbivore

Ayke Themenstarter:in
643 Beiträge seit 2006
vor 17 Jahren

Nein ich wechsle die Anwendung unten in der Start Leiste.

File.Exists habe ich nur als beispiel geschrieben damit das verständlicher ist was ich meine da ich damit leider nicht die Resourcen in Programm prüfen kann.

Ayke Themenstarter:in
643 Beiträge seit 2006
vor 17 Jahren

Mit welcher Methode kann ich auf null prüfen ?

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Ayke,

naja, _3.Properties.Resources._23_Load_2 == null

herbivore

Ayke Themenstarter:in
643 Beiträge seit 2006
vor 17 Jahren

danke hab ich nit gewusst da man so prüfen kann

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Ayke,

geht damit aus irgeneinen grund nicht

wie Wie poste ich richtig? Punkt 5

herbivore

Ayke Themenstarter:in
643 Beiträge seit 2006
vor 17 Jahren

Sorry hat sich schon erlädigt

danke ^^

Ayke Themenstarter:in
643 Beiträge seit 2006
vor 17 Jahren

Oder auch nicht bin heute bisl durch^^.

49.485 Beiträge seit 2005
vor 17 Jahren
Ayke Themenstarter:in
643 Beiträge seit 2006
vor 17 Jahren

Habe es durchgelesen und dies Hilft mir nicht weiter. Es ist einglich ein sehr Simpler Code mein Programm besteht bis jetzt aus nix weiter als

        private void timer1_Tick(object sender, EventArgs e)
        {

            

            if (_3.Properties.Resources.Load1 != null)
            {
                Form1.ActiveForm.BackgroundImage = _3.Properties.Resources.Load1;
            }

            timer2.Enabled = true;
            timer1.Enabled = false;
            
        }

        private void timer2_Tick(object sender, EventArgs e)
        {
            if (_3.Properties.Resources.Load2 != null)
            {
                Form1.ActiveForm.BackgroundImage = _3.Properties.Resources.Load2;
            }
            timer3.Enabled = true;
            timer2.Enabled = false;
        }

        private void timer3_Tick(object sender, EventArgs e)
        {
            if (_3.Properties.Resources.Load3 != null)
            {
                Form1.ActiveForm.BackgroundImage = _3.Properties.Resources.Load3;
            }

            timer4.Enabled = true;
            timer3.Enabled = false;
        }

        private void timer4_Tick(object sender, EventArgs e)
        {
            if (_3.Properties.Resources.Load4 != null)
            {
                Form1.ActiveForm.BackgroundImage = _3.Properties.Resources.Load4;
            }

            timer5.Enabled = true;
            timer4.Enabled = false;
        }

        private void timer5_Tick(object sender, EventArgs e)
        {
            if (_3.Properties.Resources.Load5 != null)
            {
                Form1.ActiveForm.BackgroundImage = _3.Properties.Resources.Load5;
            }

            timer1.Enabled = true;
            timer5.Enabled = false;
        } 

wenn keiner eine Lösung weis verwende ich eine Gif.

179 Beiträge seit 2006
vor 17 Jahren

Hallo Ayke

Schau mal hier, dann wirst du feststellen, dass die statische Eigenschaft ActiveForm (Wie der Name schon sagt) die momentan aktive Form enthält. Wenn du in der Taskleiste die Anwendung wechselst, ist natürlich keine Form1 mehr aktiv und die Eigenschaft ActiveForm ist null. Du hast also einfach an der falschen Stelle das null vermutet. Das hättest du aber eigentlich schon beim debuggen merken müssen. Verwende besser "this" um auf die aktuelle Instanz von Form1 zuzugreifen.

mfg dechavue

Ayke Themenstarter:in
643 Beiträge seit 2006
vor 17 Jahren

Hab normalerweise immer this verwendet. Hab aber voher kein unterschied gemerkt. Naja jetzt weiss ich wo der ist.

Danke dechavue