CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet résolu : Ma méthode ne se lance pas en C#

DébutPage précedente
1
Page suivantePage suivante
BlendSkill BlendSkill
MP
Niveau 2
05 novembre 2019 à 01:59:57

Bonjour,
Je suis en train d'écrire un programme en C# et je fais beaucoup appel à des méthodes situées dans des classes différentes. Jusqu'à maintenant tout se passait correctement mais là, ma dernière méthode ne se lance pas alors qu'elle me semble identique aux autres qui fonctionnent. J'ai fait plusieurs tests pour déterminer la provenance du problème mais je ne comprends pas ou est l'erreur. Voici mon programme (résumé), en espérant que vous puissiez m'aider :

namespace Project
{
     public class Start
     {
          Windows windows = new Windows(); //J'indique la classe dans laquelle se trouve mes fenêtres
          Animations animations = new Animations(); //J'indique la classe dans laquelle se trouve mes animations

          public void ShowMainWindow()
          {
               windows.SplashScreen.Close(); //Je ferme l'écran de démarrage (ouvert dans une autre méthode)
               windows.MainWindow.Show(); //J'ouvre ma fenêtre principale
               //Vérification 1 que le programme exécute cette ligne
               animations.Fondu(); //J'appelle la méthode qui joue une animation d'opacité sur un rectangle noir
               //Vérification 2 que le programme exécute cette ligne
          }
     }
}


namespace Project
{
     public class Animations
     {
          public void Fondu()
          {
               //Vérification 3 que le programme exécute cette ligne
               FonduAnimation.From = 1;
               FonduAnimation.To = 0;
               FonduAnimation.Duration = TimeSpan.FromSeconds(1);
               RectangleNoir.BeginAnimation(Rectangle.OpacityProperty, FonduAnimation);
               //Vérification 4 que le programme exécute cette ligne
          }
     }
}

PS: Il n'y a aucune erreur de syntaxe, les éléments comme RectangleNoir ont déjà été créés dans une autre classe.

Le problème est que la méthode Fondu() ne fonctionne pas..
Quand j'exécute mon programme, la vérification 1 et 2 de la classe Start fonctionnent, le programme ne reste donc pas bloqué sur Fondu().
En revanche, la vérification 3 et 4 de la classe Animations ne fonctionnent pas, le code de la méthode Fondu() n'est pas exécuté.
Avez-vous une idée pour résoudre ce problème ?
Merci d'avance.

mov_eax_1 mov_eax_1
MP
Niveau 10
05 novembre 2019 à 12:07:59

tu mets un breakpoint et tu avances ligne par ligne

BlendSkill BlendSkill
MP
Niveau 2
05 novembre 2019 à 13:24:00

Les vérifications 1 2 3 4 que j'ai placé dans le programme sont des sortes de breakpoints. Aucune ligne de code de la méthode Fondu() n'est exécuté (breakpoint 3 et 4) mais les breakpoints 1 et 2 placés avant et après l'appel de la méthode Fondu s'exécutent correctement.

boucif boucif
MP
Niveau 24
05 novembre 2019 à 23:53:42

T'es sur que ton animation se joue quelque part il faudrait peut être l'attaché à une fenêtre .
C'est du WPF ?

BlendSkill BlendSkill
MP
Niveau 2
06 novembre 2019 à 00:29:29

Oui, c'est du WPF. J'ai supprimé la méthode Fondu() et j'ai remis les lignes de code de l'animation directement dans la classe Start et tout fonctionne. C'est vraiment l'appel de la méthode qui a un problème.

boucif boucif
MP
Niveau 24
06 novembre 2019 à 09:15:02

pourquoi tu met pas l'animation dans le xaml que tu lancerai directement depuis un événement ?

BlendSkill BlendSkill
MP
Niveau 2
11 novembre 2019 à 19:01:41

Je n'aime pas utiliser le xaml, je préfère tout mettre dans le code, simple habitude.
J'ai trouvé d'où viens le problème, en fait la méthode Fondu est bien appelée, c'est juste que mon programme ne peux pas modifier l'élément RectangleNoir car il a déjà été paramétré dans une autre classe. Donc j'ai simplement placé ma méthode Fondu() dans la classe Start et je n'ai plus de problème.

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment