ShowDialog & Co

Résolu
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 16 févr. 2005 à 11:51
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 17 févr. 2005 à 17:56
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

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
16 févr. 2005 à 12:13
System.Runtime.InteropServices.SEHException ?
Tu as essayer sans le splash ?

Cocoricoooooooo !!!!
coq
MVP Visual C#
3
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
17 févr. 2005 à 15:21
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..."
3
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
16 févr. 2005 à 14:19
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..."
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
16 févr. 2005 à 14:28
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..."
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
16 févr. 2005 à 17:39
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#
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
16 févr. 2005 à 17:59
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..."
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
17 févr. 2005 à 10:33
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..."
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 févr. 2005 à 10:38
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#
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
17 févr. 2005 à 10:50
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..."
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 févr. 2005 à 11:05
Euh a priori comme ça je ne vois pas. :-(
Si tu peux devoiler un peu plus de code.

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
17 févr. 2005 à 11:11
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..."
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 févr. 2005 à 17:45
Effectivement ça m'a l'air sympa
Hop encore un bookmark :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
17 févr. 2005 à 17:56
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..."
0
Rejoignez-nous