ShowDialog & Co [Résolu]

Signaler
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
-
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
-
Salut tout le monde...

je m'interroge...
j'ai une fenetre mdi...
j'ai une forme que j'ouvre en showdialod au load de la dite mdi...
pour selectionner un truc...et le mettre dans une propriete de la fenetre mdi...


Gestion_des_Dossiers.w_Choix_Dossier f =
new Gestion_des_Dossiers.w_Choix_Dossier(
this.Parametre_Application.INDEX_BDD,
this.Parametre_Application.ConnectionString);



if(f.ShowDialog()==DialogResult.OK)


{



this.Dossier = f.Dossier;


}



else


{


Application.Exit();


}

la ca marche...

par contre au menu je lance la meme fonction qui appelle la meme form...
l'affectation ce fait mais apres j'ai une erreur au message explicite comme je les aime : "Un composant externe à levé une exception"...

me voila aider...
pour infos j'ai des try et des catch partout...
et l'erreur claque dans le main

[STAThread]



static
void Main()


{



try


{


Application.EnableVisualStyles();


Application.DoEvents();


w_MdiForm f =
new w_MdiForm();


f.Use_BDD =
true;


f.Use_Preference =
true;


f.Authentification =
true;


Application.Run(
new Tools.w_Splash(f));


}



catch(Exception xcp)


{


Outils.Fonction.Aff_Err("Erreur dans le 'Main' de l'application : " + xcp.Message );


}


}


#endregion

kkun a deja vu un truc pareil....


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."

13 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
System.Runtime.InteropServices.SEHException ?
Tu as essayer sans le splash ?

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
g trouve un truc sympa et qui marche :

http://www.codeproject.com/csharp/PrettyGoodSplashScreen.asp

merci coq du coup de main


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
oui c'est cette exception...et oui sans le splash ca marche.....

mais comment tu fais...
????

tu bouffe du c# a longueur de journee...quand tu dors tu as une cassette qui tourne qui te recite du code c#

trop fort...
Merci...


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
une question tu as une idee de ce qui faudrait faire pour garder ma splash...
quoi qui fout la merde...??? a ton avis...


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Ben a priori c'est un probleme interne du composant que tu utilises.
Et là je ne vois pas trop ce qui pourrait clocher :-(
Il faudrais que je puisse tester.

"tu bouffe du c# a longueur de journee..."
bon résumé ^^

"quand tu dors tu as une cassette qui tourne qui te recite du code c#"
"dors" ????

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
en fait dans mon splash etait fermer au moment ou je fermait la mdi
et c'etait la splash qui lancait la mdi...
je vais faire l'inverse :
un thread se chargera de lancer la splash pendant que le reste de l'appli se lance tranquillou...

merci


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
encore une question...
j'ai fait ma splash mais seulement voila elle apparait et disparait de suite... :

//dans le load de la mdi

if(Affiche_Splash)


{


thread_Lance_Splash =
new Thread (
new ThreadStart(Lance_Splash));


thread_Lance_Splash.Start();


}


private
void Lance_Splash()


{


w_Splash f =
new w_Splash();


f.TopMost =
true;


f.Show();


Application.DoEvents();


}

et ma splash est inspirer de http://www.csharpfr.com/code.aspx?ID=11410


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Dans la source il joue sur l'apparition progressive du form au moyen de l'opacité, tu le fais où ça ?

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
dans la splash direct
tout comme lui au load je lance son timer pour mettre a jour l'opacite


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Euh a priori comme ça je ne vois pas. :-(
Si tu peux devoiler un peu plus de code.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
bout de code de la splash :


using System;


using System.Drawing;


using System.Collections;


using System.ComponentModel;


using System.Windows.Forms;


using System.Reflection;


namespace Tools


{



/// <summary>



/// Fenêtre Splash



/// </summary>



public
class w_Splash : System.Windows.Forms.Form


{


#region Déclarations des Variables



//private Form _MainForm;



/// <summary>



/// Evenement à executer après le fade du splash screen



/// </summary>



public
event System.EventHandler atEnd;



private
int duration = 2000;



private
double startingOpacity = 0.2;



private
double endingOpacity = 1;



private
int timeToWait = 0;



private
static
int interval = 120;



private
double addValue;



private Form form;



private Timer loopTimer;



private Timer endTimer;



private Tools.cl_AssemblyInfo _AssemblyInfo ;







/// <summary>



/// Variable nécessaire au concepteur.



/// </summary>



private System.ComponentModel.Container components =
null;


#endregion


#region Affichage du fondu de la Form



/// <summary>



/// Débute le fading



/// </summary>



public
void start()


{


form.Opacity = startingOpacity;


form.Show();


form.Activate();


loopTimer =
new Timer();


loopTimer.Interval = interval;


loopTimer.Tick +=
new System.EventHandler(
this.loop);


loopTimer.Enabled =
true;


addValue = (endingOpacity - startingOpacity) / duration * interval;


}



/// <summary>



/// Usage interne. Pour ne stopper le timer déclanché à la fin



/// </summary>



private
void stopEndTimer(
object sender, System.EventArgs e)


{


endTimer.Dispose();


}



/// <summary>



/// Usage interne, appellé à chaque boucle pour changer l'opacité



/// </summary>



private
void loop(
object sender, System.EventArgs e)


{


form.Opacity += addValue;



if (form.Opacity >= endingOpacity)


{


loopTimer.Dispose();



if (atEnd !=
null && atEnd !=
null)


{


endTimer =
new Timer();


endTimer.Interval = timeToWait;


endTimer.Tick +=
new System.EventHandler(
this.stopEndTimer);


endTimer.Tick += atEnd;


endTimer.Start();


}


}


}



/* Affichage du form suivant sans fermer celui en cours*/



private
void next(
object sender, System.EventArgs e)


{



this.Close();



//_MainForm.Show();


}


// /* Déclanché lors de la fermeture du form ouvert après le fading


// * pour quitter l'appli */


// private void quit(object sender, System.EventArgs e)


// {


// Application.Exit();


// }


#endregion


#region Constructeur et Dispose



/// <summary>



/// Constructeur de la Splash Screen



/// </summary>



//public w_Splash(Form Mainform)



public w_Splash()


{


InitializeComponent();



//_MainForm = Mainform;



// Lors de la fermerture du form nouvellement crée on quitte l'application



//_MainForm.Closed += new System.EventHandler(this.quit);


form =
this;


duration = 1200;


timeToWait = 3000;


atEnd +=
new System.EventHandler(
this.next);



this.start();


}



/// <summary>



/// Nettoyage des ressources utilisées.



/// </summary>



protected
override
void Dispose(
bool disposing )


{



if( disposing )


{



if(components !=
null)


{


components.Dispose();


}


}



base.Dispose( disposing );


}


#region w_Splash_Load(object sender, System.EventArgs e)



private
void w_Splash_Load(
object sender, System.EventArgs e)


{



try


{


_AssemblyInfo =
new cl_AssemblyInfo( System.Reflection.Assembly.GetEntryAssembly());


lbl_Titre.Text =_AssemblyInfo.Titre;



this.Text = _AssemblyInfo.Produit ;


lbl_Societe.Text = _AssemblyInfo.Societe;


lbl_Produit.Text = _AssemblyInfo.Produit + " : " + _AssemblyInfo.Version;


lbl_Description.Text = _AssemblyInfo.Description ;


lbl_CopyRight.Text = _AssemblyInfo.Copyright;



if(System.IO.File.Exists(Application.StartupPath+@"\logo.jpg"))


{


pb_logo.Image= Outils.Fonction.Img_Resize(
new Bitmap(Application.StartupPath+@"\logo.jpg",
true), 168,168);


}



else


{


pb_logo.Image= Outils.Fonction.Img_Resize(
new Bitmap(168,168), 168,168);


}


}



catch(Exception xcp)


{


Outils.Fonction.Aff_Err(xcp.Message);


}


}


#endregion


}


}


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Effectivement ça m'a l'air sympa
Hop encore un bookmark :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
tres :o))
je l'ai mis en place et c'est du plus bel effet :o)))
et simple a utiliser...


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."