bonjour,
comment puis je faire pour empêcher d'ouvrir plusieurs fois la même fenêtre.
par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur
FrmAccueil je met un bouton qui au click ouvrira FrmClient.
Je souhaiterais qu'au click l'application verifie si FrmClient est deja
ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle l'ouvre.
Comment puis je resolver mon pb?
merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AlexC
Salut,
Il suffit de déclarer une variable globale de type FrmClient, dansle gestionnaire d'évènenemt de ton bouton tu verifie si la variable est à nothing si elle ne l'ai pas tu l'initialise avec l'instance de FrmClient sinon tu sors de la procédure. Ex :
Private GFrmClient as FrmClient
Public Sub Button1_click(sender as object, e as buttoneventargs)handles button1.click If not GFrmClient is nothing then GFrmClient = new GFrmClient GFrmClient.Show End If End Sub
Voilà @+
"Pompier Christian" a écrit dans le message de news: e9$
bonjour, comment puis je faire pour empêcher d'ouvrir plusieurs fois la même fenêtre. par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur FrmAccueil je met un bouton qui au click ouvrira FrmClient. Je souhaiterais qu'au click l'application verifie si FrmClient est deja ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle l'ouvre. Comment puis je resolver mon pb? merci
Salut,
Il suffit de déclarer une variable globale de type FrmClient, dansle
gestionnaire d'évènenemt de ton bouton tu verifie si la variable est à
nothing
si elle ne l'ai pas tu l'initialise avec l'instance de FrmClient sinon tu
sors de la procédure.
Ex :
Private GFrmClient as FrmClient
Public Sub Button1_click(sender as object, e as buttoneventargs)handles
button1.click
If not GFrmClient is nothing then
GFrmClient = new GFrmClient
GFrmClient.Show
End If
End Sub
Voilà @+
"Pompier Christian" <christian.pompier@mpsi-info.com> a écrit dans le
message de news: e9$MBmz5EHA.3120@TK2MSFTNGP12.phx.gbl...
bonjour,
comment puis je faire pour empêcher d'ouvrir plusieurs fois la même
fenêtre.
par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur
FrmAccueil je met un bouton qui au click ouvrira FrmClient.
Je souhaiterais qu'au click l'application verifie si FrmClient est deja
ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle l'ouvre.
Comment puis je resolver mon pb?
merci
Il suffit de déclarer une variable globale de type FrmClient, dansle gestionnaire d'évènenemt de ton bouton tu verifie si la variable est à nothing si elle ne l'ai pas tu l'initialise avec l'instance de FrmClient sinon tu sors de la procédure. Ex :
Private GFrmClient as FrmClient
Public Sub Button1_click(sender as object, e as buttoneventargs)handles button1.click If not GFrmClient is nothing then GFrmClient = new GFrmClient GFrmClient.Show End If End Sub
Voilà @+
"Pompier Christian" a écrit dans le message de news: e9$
bonjour, comment puis je faire pour empêcher d'ouvrir plusieurs fois la même fenêtre. par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur FrmAccueil je met un bouton qui au click ouvrira FrmClient. Je souhaiterais qu'au click l'application verifie si FrmClient est deja ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle l'ouvre. Comment puis je resolver mon pb? merci
Pompier Christian
merci "AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:
Salut,
Il suffit de déclarer une variable globale de type FrmClient, dansle gestionnaire d'évènenemt de ton bouton tu verifie si la variable est à nothing si elle ne l'ai pas tu l'initialise avec l'instance de FrmClient sinon tu sors de la procédure. Ex :
Private GFrmClient as FrmClient
Public Sub Button1_click(sender as object, e as buttoneventargs)handles button1.click If not GFrmClient is nothing then GFrmClient = new GFrmClient GFrmClient.Show End If End Sub
Voilà @+
"Pompier Christian" a écrit dans le message de news: e9$ > bonjour, > comment puis je faire pour empêcher d'ouvrir plusieurs fois la même > fenêtre. > par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur > FrmAccueil je met un bouton qui au click ouvrira FrmClient. > Je souhaiterais qu'au click l'application verifie si FrmClient est deja > ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle
l'ouvre.
> Comment puis je resolver mon pb? > merci > >
merci
"AlexC" <(@Anti-Spam)#alexandre.claverie@latelec.fr(@Anti-Spam)#> a écrit
dans le message de news:OI6dA5z5EHA.1524@TK2MSFTNGP09.phx.gbl...
Salut,
Il suffit de déclarer une variable globale de type FrmClient, dansle
gestionnaire d'évènenemt de ton bouton tu verifie si la variable est à
nothing
si elle ne l'ai pas tu l'initialise avec l'instance de FrmClient sinon tu
sors de la procédure.
Ex :
Private GFrmClient as FrmClient
Public Sub Button1_click(sender as object, e as buttoneventargs)handles
button1.click
If not GFrmClient is nothing then
GFrmClient = new GFrmClient
GFrmClient.Show
End If
End Sub
Voilà @+
"Pompier Christian" <christian.pompier@mpsi-info.com> a écrit dans le
message de news: e9$MBmz5EHA.3120@TK2MSFTNGP12.phx.gbl...
> bonjour,
> comment puis je faire pour empêcher d'ouvrir plusieurs fois la même
> fenêtre.
> par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur
> FrmAccueil je met un bouton qui au click ouvrira FrmClient.
> Je souhaiterais qu'au click l'application verifie si FrmClient est deja
> ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle
merci "AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:
Salut,
Il suffit de déclarer une variable globale de type FrmClient, dansle gestionnaire d'évènenemt de ton bouton tu verifie si la variable est à nothing si elle ne l'ai pas tu l'initialise avec l'instance de FrmClient sinon tu sors de la procédure. Ex :
Private GFrmClient as FrmClient
Public Sub Button1_click(sender as object, e as buttoneventargs)handles button1.click If not GFrmClient is nothing then GFrmClient = new GFrmClient GFrmClient.Show End If End Sub
Voilà @+
"Pompier Christian" a écrit dans le message de news: e9$ > bonjour, > comment puis je faire pour empêcher d'ouvrir plusieurs fois la même > fenêtre. > par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur > FrmAccueil je met un bouton qui au click ouvrira FrmClient. > Je souhaiterais qu'au click l'application verifie si FrmClient est deja > ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle
l'ouvre.
> Comment puis je resolver mon pb? > merci > >
Franck Jobard
Dans le cas d'une Mdi, utilise la réflexion, ca évite de stocker des varaibles pour chaque form Franck
The code
static public Form GetHandle( Form myParent, string stNomForm ) { try { foreach (Form f in myParent.MdiChildren) { string stTypeForm = f.ToString( ); stTypeForm = stTypeForm.Substring( 0, stTypeForm.IndexOf(',') ); if (stTypeForm == stNomForm) return f; } } catch { return null; } return null; }
/// <summary> /// remplace une métaclasse. /// permet de construire une feuille sur un nom de type fourni dans une chaine /// </summary> static public Form NewInstanceForm( Form myParent, string stNomForm ) { try { System.Reflection.Assembly myAssembly System.Reflection.Assembly.LoadFrom(ChaineEnCours + ".exe"); object form = myAssembly.CreateInstance( stNomForm ) ;
if(form is Form) return form as Form ; else return null ; } catch { return null ; } }
/// <summary> /// remplace une métaclasse. /// permet de construire une feuille sur un nom de type fourni dans une chaine /// </summary> static public bool CreateInstanceForm( Form myParent, string stNomForm ) { try { Form frm1 = GetHandle( myParent, stNomForm ); if (frm1 == null) { System.Reflection.Assembly myAssembly System.Reflection.Assembly.LoadFrom("NomExecutable.exe"); frm1 = (_FicheComposants) myAssembly.CreateInstance( stNomForm ); frm1.MdiParent = myParent; }
frm1.Show(); frm1.Activate( );
} catch { return false; } return true; }
"Pompier Christian" a écrit dans le message de news:e9$
bonjour, comment puis je faire pour empêcher d'ouvrir plusieurs fois la même
fenêtre.
par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur FrmAccueil je met un bouton qui au click ouvrira FrmClient. Je souhaiterais qu'au click l'application verifie si FrmClient est deja ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle l'ouvre. Comment puis je resolver mon pb? merci
Dans le cas d'une Mdi, utilise la réflexion, ca évite de stocker des
varaibles pour chaque form
Franck
The code
static public Form GetHandle( Form myParent, string stNomForm )
{
try
{
foreach (Form f in myParent.MdiChildren)
{
string stTypeForm = f.ToString( );
stTypeForm = stTypeForm.Substring( 0, stTypeForm.IndexOf(',') );
if (stTypeForm == stNomForm)
return f;
}
}
catch
{
return null;
}
return null;
}
/// <summary>
/// remplace une métaclasse.
/// permet de construire une feuille sur un nom de type fourni dans une
chaine
/// </summary>
static public Form NewInstanceForm( Form myParent, string stNomForm )
{
try
{
System.Reflection.Assembly myAssembly System.Reflection.Assembly.LoadFrom(ChaineEnCours + ".exe");
object form = myAssembly.CreateInstance( stNomForm ) ;
if(form is Form)
return form as Form ;
else
return null ;
}
catch
{
return null ;
}
}
/// <summary>
/// remplace une métaclasse.
/// permet de construire une feuille sur un nom de type fourni dans une
chaine
/// </summary>
static public bool CreateInstanceForm( Form myParent, string stNomForm )
{
try
{
Form frm1 = GetHandle( myParent, stNomForm );
if (frm1 == null)
{
System.Reflection.Assembly myAssembly System.Reflection.Assembly.LoadFrom("NomExecutable.exe");
frm1 = (_FicheComposants) myAssembly.CreateInstance( stNomForm );
frm1.MdiParent = myParent;
}
frm1.Show();
frm1.Activate( );
}
catch
{
return false;
}
return true;
}
"Pompier Christian" <christian.pompier@mpsi-info.com> a écrit dans le
message de news:e9$MBmz5EHA.3120@TK2MSFTNGP12.phx.gbl...
bonjour,
comment puis je faire pour empêcher d'ouvrir plusieurs fois la même
fenêtre.
par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur
FrmAccueil je met un bouton qui au click ouvrira FrmClient.
Je souhaiterais qu'au click l'application verifie si FrmClient est deja
ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle l'ouvre.
Comment puis je resolver mon pb?
merci
Dans le cas d'une Mdi, utilise la réflexion, ca évite de stocker des varaibles pour chaque form Franck
The code
static public Form GetHandle( Form myParent, string stNomForm ) { try { foreach (Form f in myParent.MdiChildren) { string stTypeForm = f.ToString( ); stTypeForm = stTypeForm.Substring( 0, stTypeForm.IndexOf(',') ); if (stTypeForm == stNomForm) return f; } } catch { return null; } return null; }
/// <summary> /// remplace une métaclasse. /// permet de construire une feuille sur un nom de type fourni dans une chaine /// </summary> static public Form NewInstanceForm( Form myParent, string stNomForm ) { try { System.Reflection.Assembly myAssembly System.Reflection.Assembly.LoadFrom(ChaineEnCours + ".exe"); object form = myAssembly.CreateInstance( stNomForm ) ;
if(form is Form) return form as Form ; else return null ; } catch { return null ; } }
/// <summary> /// remplace une métaclasse. /// permet de construire une feuille sur un nom de type fourni dans une chaine /// </summary> static public bool CreateInstanceForm( Form myParent, string stNomForm ) { try { Form frm1 = GetHandle( myParent, stNomForm ); if (frm1 == null) { System.Reflection.Assembly myAssembly System.Reflection.Assembly.LoadFrom("NomExecutable.exe"); frm1 = (_FicheComposants) myAssembly.CreateInstance( stNomForm ); frm1.MdiParent = myParent; }
frm1.Show(); frm1.Activate( );
} catch { return false; } return true; }
"Pompier Christian" a écrit dans le message de news:e9$
bonjour, comment puis je faire pour empêcher d'ouvrir plusieurs fois la même
fenêtre.
par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur FrmAccueil je met un bouton qui au click ouvrira FrmClient. Je souhaiterais qu'au click l'application verifie si FrmClient est deja ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle l'ouvre. Comment puis je resolver mon pb? merci
Pompier Christian
desole de t'embeter mais la ca se complique pourrais tu me presenter brievement ce que fait chaque fonction et est ce que les 3 fonction ont un lien entre-elles. merci "Franck Jobard" a écrit dans le message de news:
Dans le cas d'une Mdi, utilise la réflexion, ca évite de stocker des varaibles pour chaque form Franck
The code
static public Form GetHandle( Form myParent, string stNomForm ) { try { foreach (Form f in myParent.MdiChildren) { string stTypeForm = f.ToString( ); stTypeForm = stTypeForm.Substring( 0, stTypeForm.IndexOf(',') ); if (stTypeForm == stNomForm) return f; } } catch { return null; } return null; }
/// <summary> /// remplace une métaclasse. /// permet de construire une feuille sur un nom de type fourni dans une chaine /// </summary> static public Form NewInstanceForm( Form myParent, string stNomForm ) { try { System.Reflection.Assembly myAssembly > System.Reflection.Assembly.LoadFrom(ChaineEnCours + ".exe"); object form = myAssembly.CreateInstance( stNomForm ) ;
if(form is Form) return form as Form ; else return null ; } catch { return null ; } }
/// <summary> /// remplace une métaclasse. /// permet de construire une feuille sur un nom de type fourni dans une chaine /// </summary> static public bool CreateInstanceForm( Form myParent, string stNomForm ) { try { Form frm1 = GetHandle( myParent, stNomForm ); if (frm1 == null) { System.Reflection.Assembly myAssembly > System.Reflection.Assembly.LoadFrom("NomExecutable.exe"); frm1 = (_FicheComposants) myAssembly.CreateInstance( stNomForm ); frm1.MdiParent = myParent; }
frm1.Show(); frm1.Activate( );
} catch { return false; } return true; }
"Pompier Christian" a écrit dans le message de news:e9$ > bonjour, > comment puis je faire pour empêcher d'ouvrir plusieurs fois la même fenêtre. > par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur > FrmAccueil je met un bouton qui au click ouvrira FrmClient. > Je souhaiterais qu'au click l'application verifie si FrmClient est deja > ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle
l'ouvre.
> Comment puis je resolver mon pb? > merci > >
desole de t'embeter mais la ca se complique
pourrais tu me presenter brievement ce que fait chaque fonction et est ce
que les 3 fonction ont un lien entre-elles.
merci
"Franck Jobard" <woodstock@ifrance.com> a écrit dans le message de
news:O8kxqI25EHA.2192@TK2MSFTNGP14.phx.gbl...
Dans le cas d'une Mdi, utilise la réflexion, ca évite de stocker des
varaibles pour chaque form
Franck
The code
static public Form GetHandle( Form myParent, string stNomForm )
{
try
{
foreach (Form f in myParent.MdiChildren)
{
string stTypeForm = f.ToString( );
stTypeForm = stTypeForm.Substring( 0, stTypeForm.IndexOf(',') );
if (stTypeForm == stNomForm)
return f;
}
}
catch
{
return null;
}
return null;
}
/// <summary>
/// remplace une métaclasse.
/// permet de construire une feuille sur un nom de type fourni dans une
chaine
/// </summary>
static public Form NewInstanceForm( Form myParent, string stNomForm )
{
try
{
System.Reflection.Assembly myAssembly > System.Reflection.Assembly.LoadFrom(ChaineEnCours + ".exe");
object form = myAssembly.CreateInstance( stNomForm ) ;
if(form is Form)
return form as Form ;
else
return null ;
}
catch
{
return null ;
}
}
/// <summary>
/// remplace une métaclasse.
/// permet de construire une feuille sur un nom de type fourni dans une
chaine
/// </summary>
static public bool CreateInstanceForm( Form myParent, string stNomForm )
{
try
{
Form frm1 = GetHandle( myParent, stNomForm );
if (frm1 == null)
{
System.Reflection.Assembly myAssembly > System.Reflection.Assembly.LoadFrom("NomExecutable.exe");
frm1 = (_FicheComposants) myAssembly.CreateInstance( stNomForm );
frm1.MdiParent = myParent;
}
frm1.Show();
frm1.Activate( );
}
catch
{
return false;
}
return true;
}
"Pompier Christian" <christian.pompier@mpsi-info.com> a écrit dans le
message de news:e9$MBmz5EHA.3120@TK2MSFTNGP12.phx.gbl...
> bonjour,
> comment puis je faire pour empêcher d'ouvrir plusieurs fois la même
fenêtre.
> par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur
> FrmAccueil je met un bouton qui au click ouvrira FrmClient.
> Je souhaiterais qu'au click l'application verifie si FrmClient est deja
> ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle
desole de t'embeter mais la ca se complique pourrais tu me presenter brievement ce que fait chaque fonction et est ce que les 3 fonction ont un lien entre-elles. merci "Franck Jobard" a écrit dans le message de news:
Dans le cas d'une Mdi, utilise la réflexion, ca évite de stocker des varaibles pour chaque form Franck
The code
static public Form GetHandle( Form myParent, string stNomForm ) { try { foreach (Form f in myParent.MdiChildren) { string stTypeForm = f.ToString( ); stTypeForm = stTypeForm.Substring( 0, stTypeForm.IndexOf(',') ); if (stTypeForm == stNomForm) return f; } } catch { return null; } return null; }
/// <summary> /// remplace une métaclasse. /// permet de construire une feuille sur un nom de type fourni dans une chaine /// </summary> static public Form NewInstanceForm( Form myParent, string stNomForm ) { try { System.Reflection.Assembly myAssembly > System.Reflection.Assembly.LoadFrom(ChaineEnCours + ".exe"); object form = myAssembly.CreateInstance( stNomForm ) ;
if(form is Form) return form as Form ; else return null ; } catch { return null ; } }
/// <summary> /// remplace une métaclasse. /// permet de construire une feuille sur un nom de type fourni dans une chaine /// </summary> static public bool CreateInstanceForm( Form myParent, string stNomForm ) { try { Form frm1 = GetHandle( myParent, stNomForm ); if (frm1 == null) { System.Reflection.Assembly myAssembly > System.Reflection.Assembly.LoadFrom("NomExecutable.exe"); frm1 = (_FicheComposants) myAssembly.CreateInstance( stNomForm ); frm1.MdiParent = myParent; }
frm1.Show(); frm1.Activate( );
} catch { return false; } return true; }
"Pompier Christian" a écrit dans le message de news:e9$ > bonjour, > comment puis je faire pour empêcher d'ouvrir plusieurs fois la même fenêtre. > par ex j'ai 2 form une appelée FrmAccueil et l'autre FrmClient. Sur > FrmAccueil je met un bouton qui au click ouvrira FrmClient. > Je souhaiterais qu'au click l'application verifie si FrmClient est deja > ouverte, si c'est le cas elle le dira à l'utilisateur sinon elle