IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C# 2.0] Splash Screen


Sujet :

Windows Forms

  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut [C# 2.0] Splash Screen
    Hello,

    Je voudrais faire un "splash screen".

    J'ai donc un formulaire principal, MainForm, et un formulaire SplashScreen.

    Au lancement du formulaire principal, je comptais cacher ce dernier, et afficher le splash screen.

    Voici donc ce que j'ai codé dans l'événement MainWindow_Load():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void MainWindow_Load(object sender, EventArgs e)
    {
        this.Hide();
        SplashScreen sc = new SplashScreen();
        sc.ShowDIalog();
        
        InitComposants();
    }
    Mais après 2 ou 3 secondes où rien ne s'affiche, la ligne en rouge me sort une exception
    Win32Exception -> Erreur lors de la création d'un handle de fenêtre.

    Je précise que lorsque je supprime les 3 premières lignes, le formulaire principal se lance bien, et que si dans Program.cs, je fais Application.Run(new SplashScreen), SPlashScreen s'affiche également.

    Merci pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Points : 343
    Points
    343
    Par défaut
    Bonjour,
    C'est tout a fait normal,
    tu doit faire ton appel APRES l'appel a initcomponents()
    Mais c'est aps la première fois que je vois des programmeurs faire cette erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void MainWindow_Load(object sender, EventArgs e)
    {
        InitComposants();
    
        this.Hide();
        SplashScreen sc = new SplashScreen();
        sc.ShowDIalog();
    }
    1 || 1 = 1
    1 && 1 = 1
    1 * 1 = 1
    Bon après tout, peut-être que Van Damme avait raison :
    1 + 1 = 1 // harmonie parfaite

  3. #3
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    J'ignore si c'est pareil en C# qu'en VB mais je me permet quand même

    En vb, quand j'ouvre les propriétés du projet, il est possible de modifier tout un tas de chose et notemmant, le splashscreen à afficher au lancement de l'application.

    Voilà c'est tout ^^.

    Griftou.
    Kropernic

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Yann47.
    J'ai fais un Post au sujet d'un SplashScreen.
    Le SplashScreen est défini dans les propriétés de l'application.
    En lancant l'application sous Windows XP, tout est OK.
    Sous Windows 2000, une exception est levée(Utiliser le mot clé new.......) à la fermeture du SplashScreen, et au débogage l'emplacement ou à lieu l'exception n'est pas indiquée.
    Par contre je vais approfondir l'instruction : "This.Hide()" que je n'ai jamais utilisée en language VB.

    Si quelqu'un peut m'aider? Merci.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Points : 343
    Points
    343
    Par défaut
    'Jour,
    en VB.net, l'instruction s'ecrit Me.Hide() et son contraire Me.Show()
    ce qui te permet de cacher ou de reafficher la fenetre qui dérive de la classe en cours.
    1 || 1 = 1
    1 && 1 = 1
    1 * 1 = 1
    Bon après tout, peut-être que Van Damme avait raison :
    1 + 1 = 1 // harmonie parfaite

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 116
    Points : 100
    Points
    100
    Par défaut
    je serais tenté de dire :
    cs.Show();

    au lieu de ShowDialog(); puisque cette dernière est bloquante.
    Donc si on veut pouvoir fermer la boite après le chargement, il faut une DialogBox non bloquante.

Discussions similaires

  1. Comment faire un splash screen pour son application?
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/04/2007, 14h28
  2. Splash screen transparent
    Par max63 dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 24/02/2005, 16h13
  3. affichage texte style splash screen
    Par scorbo dans le forum MFC
    Réponses: 4
    Dernier message: 13/06/2004, 12h03
  4. [DX9] Splash Screen
    Par delire8 dans le forum DirectX
    Réponses: 6
    Dernier message: 03/06/2004, 10h30
  5. affichage de controles sur un splash screen
    Par shrek dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/11/2003, 19h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo