begin process at 2010 02 10 05:09:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

N'afficher Form1 qu'une seule fois


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

N'afficher Form1 qu'une seule fois

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ée 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 comment afficher dans une form apartir d'une autre classe [ par kkarim2 ] bonjour Mon pb c que j arrive pas a affiché dans une listbox a partir d'une classe , pour vous eclairer un peu les chose j instancié la clsse C1 a 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


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales