Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : N'afficher Form1 qu'une seule fois [ Archives / Au secours ] (petitelarve)

lundi 19 décembre 2005 à 14:54:44 | N'afficher Form1 qu'une seule fois

petitelarve

C re-moi !
Donc dans une MainForm je load la Form1 comme suit

BoutonClick{
string chemin="c://tactac.jpeg";
                Form1 edit =new Form1(chemin);
                edit.Show();
}

The probleme is que a chaque fois ke je clique sur le bouton une nouvelle Form s'ouvre.. c normal oui, sauf que moi je veux pas en créer une par click, mais bien une seule, et si elle est deja afichée pas en creer une autre.
Do U understand me ?

U just need a fuck for Ur violence

lundi 19 décembre 2005 à 15:06:18 | Re : N'afficher Form1 qu'une seule fois

poullos

Tu peux faire un edit.ShowDialog(); a la place de edit.Show(); comme ca l'utilisateur ne pourra pas revenir a la form precedente tant que celle ci ne sera pas fermée. Noubli pas de placer un bouton sur la forme ouverte permettant de la fermer. (this.dispose())

La brigade meurt mais ne se rend pas (Hisoka)


lundi 19 décembre 2005 à 15:11:37 | Re : N'afficher Form1 qu'une seule fois

poullos

Si cette solution ne te plait pas, tu peux creer un bool dans ta form parente (celle qui va appeler form1). En gros ca donne ca:

form ...
{
public bool dejaouverte = false;

BoutonClick{
string chemin="c://tactac.jpeg";
                if (dejaouverte == false)
                {
                Form1 edit =new Form1(chemin, this);
                edit.Show();
                dejaouverte = true;
                }  
}
}

et quand tu fermes ta form1 tu remets dejaouverte a false. Tu peux le faire car tu le passes en parametre a ta form1 lors de sa creation ce qui t oblige a changer un peu ton code.

Poste le code de ta form si tu n'as pas compris des fois je suis pas tres clair

La brigade meurt mais ne se rend pas (Hisoka)


lundi 19 décembre 2005 à 16:02:44 | Re : N'afficher Form1 qu'une seule fois

petitelarve

Sisi tu est res clair o contraire et deja merci de repondre si vite !
Sauf ke mon code c ca :

void Apercu( ){
if (formOuverte==false){
            Form1 edit =new Form1(chemin);
            edit.Show();
            formOuverte=true;
            }
}
et dans ma Form1 :

void Form1Load(object sender, System.EventArgs e)
        {
            pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
            pictureBox1.Image= Image.FromFile(url);
        }

Le truc c ke on CLick dans une listBox.item, la j'apel ma fonction Apercu().
Chemin =Listbox.selectedItem

Donc si je fais comme tu propose, ma seconde photo safiche pa.

U just need a fuck for Ur violence

lundi 19 décembre 2005 à 16:10:16 | Re : N'afficher Form1 qu'une seule fois

poullos

Si j'ai bien compris, tu voudrais qu'a chaque fois qu'on click sur un element de ta listBox, une forme souvre avec une photo mais pas dans deux fenetres differentes, donc que toutes les iamages souvrent dans le même form ?

Si c'est bien ca, il suffit juste de killer la form a chaque fois qu'un item est selectionné et de la rouvrir derriere comme ca on croira que c'est toujours la même qu isera utilisée.

Genre tu gardes la fonction apercu que tu avais avant en suvegardant ta form1 dans une variable globale et tu rajoutes dans l'evenement de changement d'index de ta listBox un code qui supprime la forme sauvegardée et tout va marcher ^^

PS: C'est un peu porcos par contre mais bon je vois pas d'autres solutions

La brigade meurt mais ne se rend pas (Hisoka)


lundi 19 décembre 2005 à 16:41:56 | Re : N'afficher Form1 qu'une seule fois

petitelarve

hum c tendu. comment faire un .Dispose() si la forme existe pas encore ?! j'ai pensé a faire ca

      
            if(formOuverte==false){
            Form1 edit =new Form1(chemin);
            edit.Show();
            formOuverte=true;
            }
            else{edit.Dispose();
            }
mais bien sur edi existe pas ds le cas du else ... g pas tou compri a ta soluce de varible globale  
Can u explik ?
U just need a fuck for Ur violence

lundi 19 décembre 2005 à 17:03:42 | Re : N'afficher Form1 qu'une seule fois

petitelarve

Ou sinon ya pa moyen de savoir si la form1 existe ??

if ( Form1 existe) ?

U just need a fuck for Ur violence

lundi 19 décembre 2005 à 17:47:39 | Re : N'afficher Form1 qu'une seule fois

TheSaib

Administrateur CodeS-SourceS
Singleton Rules !!!



::|The S@ib|::
MVP C#.NET

lundi 19 décembre 2005 à 18:02:27 | Re : N'afficher Form1 qu'une seule fois

poullos

A houi j'avais oublié ce design pattern qui est excactement prévu pour ton cas :p. Je l'ai vu l'année derniere mais comme je m'en suis jamais servi ...

La brigade meurt mais ne se rend pas (Hisoka)


mardi 20 décembre 2005 à 08:49:22 | Re : N'afficher Form1 qu'une seule fois

Lutinore

Administrateur CodeS-SourceS
Salut, tu peux aussi masquer ta forme avec la méthode Hide et tester si elle est masquée avec la propriète Visible.

Le singleton : http://www.csharp.fr/forum.v2.aspx?ID=551330


1 2

Cette discussion est classé dans : afficher, edit, chemin, form1, seule


Répondre à ce message

Sujets en rapport avec ce message

Afficher une forme d'une manière progressive !!! [ par CSharpJSharp ] Bonjour tout le monde ;Comment faire pour faire apparaître une fenêtre (Form2) d'une manière progressive lorsque je clique sur un bouton sur Form1, c' communicatin entre deux fenêtres [ par juguinfo ] salut tout le monde: mon problème est le suivant!j'ai 2 fenêtres form1 et form2, 1) comment je peut afficher form2 à partir de form1, et de reafficher Gridview [ par mimosa803 ] Bonjour, je débute avec gridview et j'ai rencontré quelques problèmes :J'ai pu  afficher un gridview à partir d'une table puis j'ai ajouter les fields Addin Outlook 2007 : affichage d'un formulaire [ par Trollum ] Salut!Je suis en train de développer un  addin pour Outlook et je ne sait pas comment afficher mon propre formulaire quand je click sur un bouton soit passer simplement une variable entre 2 forms [ par adnotlegland ] Bonjour à tous,bon ca fait 24h que j'essaye de passer une variable d'une form à une autre et je ne comprends pas !J'ai beaucoup chercher et la facon l Comportement ComboBox [ par olibara ] Bonjour,J'ai toujours du mal avec les comboboxJ'utilise un combobox que j'ai remplis (par query) avec une liste de codes postauxJ'aimerais afficher ce héritage avec :this() ? [ par ericdu93 ] Bonjour,j'ai un problème quasiment le même que celui qui est posté à ce lien:<a target="_blank" title="http://www.csharpfr.com/infomsg_RELATION-ENTRE- afficher le xml ds datagridview [ par kikodos23 ] SLT tous le mondeje suis debutant en C# ,je veut utiliser le service web GlobaWeather pour afficher la metio des villes ,quand je le fait g reçut le r Envoyer une variable d'une Form à l'autre :s [ par ansizak ] Bonjour, je travaille sur un programme dans lequel je charge un fichier xml dans un datatgrid en vue de modification.Ensuite lorsque l'utilisateur cli passer valeur de la form 1 à la form 2 puis à la form 3 [ par ericdu93 ] Bonjour,je débute en orienté objet.Donc voilà, mon application est composé de trois form dans lequel l'utilisateur finale va remplir chacune de ces fo


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.