dans la Main j ai 2 panel
panel gauche qui contienss une NavBar
et PanelDetail qui est vide
je voudrais : ouvrir ma form Detail et qu elle vienne se loger dans le
PanelDetail, sans bordure, sans qu on puisse la deplacer et qu elle
prenne la taille du Panel Detail
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
AMP
Philippe a écrit :
Bonjour
j ai une form Main et une autre form Detail
dans la Main j ai 2 panel panel gauche qui contienss une NavBar et PanelDetail qui est vide
je voudrais : ouvrir ma form Detail et qu elle vienne se loger dans le PanelDetail, sans bordure, sans qu on puisse la deplacer et qu elle prenne la taille du Panel Detail
Le mieux me semble être de faire de ta form un UserControl, que tu pourra alors manipuler comme un control classic et donc le docker dans ton panel.
Const.
Philippe a écrit :
Bonjour
j ai une form Main et une autre form Detail
dans la Main j ai 2 panel
panel gauche qui contienss une NavBar
et PanelDetail qui est vide
je voudrais : ouvrir ma form Detail et qu elle vienne se loger dans le
PanelDetail, sans bordure, sans qu on puisse la deplacer et qu elle
prenne la taille du Panel Detail
Le mieux me semble être de faire de ta form un UserControl, que tu
pourra alors manipuler comme un control classic et donc le docker dans
ton panel.
dans la Main j ai 2 panel panel gauche qui contienss une NavBar et PanelDetail qui est vide
je voudrais : ouvrir ma form Detail et qu elle vienne se loger dans le PanelDetail, sans bordure, sans qu on puisse la deplacer et qu elle prenne la taille du Panel Detail
Le mieux me semble être de faire de ta form un UserControl, que tu pourra alors manipuler comme un control classic et donc le docker dans ton panel.
Const.
Patrick Philippot
Philippe wrote:
j ai une form Main et une autre form Detail
dans la Main j ai 2 panel panel gauche qui contienss une NavBar et PanelDetail qui est vide
je voudrais : ouvrir ma form Detail et qu elle vienne se loger dans le PanelDetail, sans bordure, sans qu on puisse la deplacer et qu elle prenne la taille du Panel Detail
Bonjour,
L'approche la plus orthodoxe serait d'encapsuler toute la fonctionnalité de la Form Detail non pas dans une Form mais dans un Control. Ce contrôle pourrait être utilisé dans n'importe quelle autre Form comme bon vous semble.
Néanmoins, une Form est dérivée de Control et vous pouvez donc l'inclure dans une autre Form ou dans un Control d'une autre Form
frmEmbedded MaForm;
MaForm = new frmEmbedded() f.TopLevel = false; this.Controls.Add(f) f.Show()
this étant le contrôle ou la Form englobante.
Avant de faire le Show vous pouvez modifier les propriétés de Form include (taille, dimension, bordure, etc.) en fonction de valeurs que vous récupérez ailleurs: par exemple, vous positionnez les dimensions de la Form à des valeurs égales aux dimentions du Panel englobant. Vous pouvez aussi supprimer les accessoires inutiles (autant le faire au niveau de la conception de cette Form, cependant).
Au niveau du placement, la Form peut être traitée comme un contrôle ordinaire. *C'est* un Control.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Philippe wrote:
j ai une form Main et une autre form Detail
dans la Main j ai 2 panel
panel gauche qui contienss une NavBar
et PanelDetail qui est vide
je voudrais : ouvrir ma form Detail et qu elle vienne se loger dans
le PanelDetail, sans bordure, sans qu on puisse la deplacer et qu
elle prenne la taille du Panel Detail
Bonjour,
L'approche la plus orthodoxe serait d'encapsuler toute la fonctionnalité
de la Form Detail non pas dans une Form mais dans un Control. Ce
contrôle pourrait être utilisé dans n'importe quelle autre Form comme
bon vous semble.
Néanmoins, une Form est dérivée de Control et vous pouvez donc l'inclure
dans une autre Form ou dans un Control d'une autre Form
frmEmbedded MaForm;
MaForm = new frmEmbedded()
f.TopLevel = false;
this.Controls.Add(f)
f.Show()
this étant le contrôle ou la Form englobante.
Avant de faire le Show vous pouvez modifier les propriétés de Form
include (taille, dimension, bordure, etc.) en fonction de valeurs que
vous récupérez ailleurs: par exemple, vous positionnez les dimensions de
la Form à des valeurs égales aux dimentions du Panel englobant. Vous
pouvez aussi supprimer les accessoires inutiles (autant le faire au
niveau de la conception de cette Form, cependant).
Au niveau du placement, la Form peut être traitée comme un contrôle
ordinaire. *C'est* un Control.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
dans la Main j ai 2 panel panel gauche qui contienss une NavBar et PanelDetail qui est vide
je voudrais : ouvrir ma form Detail et qu elle vienne se loger dans le PanelDetail, sans bordure, sans qu on puisse la deplacer et qu elle prenne la taille du Panel Detail
Bonjour,
L'approche la plus orthodoxe serait d'encapsuler toute la fonctionnalité de la Form Detail non pas dans une Form mais dans un Control. Ce contrôle pourrait être utilisé dans n'importe quelle autre Form comme bon vous semble.
Néanmoins, une Form est dérivée de Control et vous pouvez donc l'inclure dans une autre Form ou dans un Control d'une autre Form
frmEmbedded MaForm;
MaForm = new frmEmbedded() f.TopLevel = false; this.Controls.Add(f) f.Show()
this étant le contrôle ou la Form englobante.
Avant de faire le Show vous pouvez modifier les propriétés de Form include (taille, dimension, bordure, etc.) en fonction de valeurs que vous récupérez ailleurs: par exemple, vous positionnez les dimensions de la Form à des valeurs égales aux dimentions du Panel englobant. Vous pouvez aussi supprimer les accessoires inutiles (autant le faire au niveau de la conception de cette Form, cependant).
Au niveau du placement, la Form peut être traitée comme un contrôle ordinaire. *C'est* un Control.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Philippe
Merci,
je viens d essayer, mais j ai plein d erreur, je precise que je debutes en C# venant de delphi
je fais ca
private void button1_Click(object sender, System.EventArgs e) { // -- Ouverture de la fenetre détail ------------------------- frmEmbedded FDetail; FDetail = new frmEmbedded(); panel2.TopLevel = false; this.Controls.Add(f); f.Show(); }
et voici les erreurs D:ProjetsCSharpPCM_CLUBMainF_Main.cs(115): Le type ou le nom d'espace de noms 'frmEmbedded' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(121): 'PCM_CLUB.FDetail' désigne 'classe' où 'variable' était attendu
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(117): 'System.Windows.Forms.Panel' ne contient pas de définition pour 'TopLevel'
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(118): Le nom 'f' n'existe pas dans la classe ni dans l'espace de noms 'PCM_CLUB.FMain'
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(119): Le type ou le nom d'espace de noms 'f' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)
merci de votre aide
Patrick Philippot a écrit :
Philippe wrote:
j ai une form Main et une autre form Detail
dans la Main j ai 2 panel panel gauche qui contienss une NavBar et PanelDetail qui est vide
je voudrais : ouvrir ma form Detail et qu elle vienne se loger dans le PanelDetail, sans bordure, sans qu on puisse la deplacer et qu elle prenne la taille du Panel Detail
Bonjour,
L'approche la plus orthodoxe serait d'encapsuler toute la fonctionnalité de la Form Detail non pas dans une Form mais dans un Control. Ce contrôle pourrait être utilisé dans n'importe quelle autre Form comme bon vous semble.
Néanmoins, une Form est dérivée de Control et vous pouvez donc l'inclure dans une autre Form ou dans un Control d'une autre Form
frmEmbedded MaForm;
MaForm = new frmEmbedded() f.TopLevel = false; this.Controls.Add(f) f.Show()
this étant le contrôle ou la Form englobante.
Avant de faire le Show vous pouvez modifier les propriétés de Form include (taille, dimension, bordure, etc.) en fonction de valeurs que vous récupérez ailleurs: par exemple, vous positionnez les dimensions de la Form à des valeurs égales aux dimentions du Panel englobant. Vous pouvez aussi supprimer les accessoires inutiles (autant le faire au niveau de la conception de cette Form, cependant).
Au niveau du placement, la Form peut être traitée comme un contrôle ordinaire. *C'est* un Control.
Merci,
je viens d essayer, mais j ai plein d erreur, je precise que je debutes
en C# venant de delphi
je fais ca
private void button1_Click(object sender, System.EventArgs e)
{
// -- Ouverture de la fenetre détail -------------------------
frmEmbedded FDetail;
FDetail = new frmEmbedded();
panel2.TopLevel = false;
this.Controls.Add(f);
f.Show();
}
et voici les erreurs
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(115): Le type ou le nom
d'espace de noms 'frmEmbedded' est introuvable (une directive using ou
une référence d'assembly est-elle manquante ?)
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(121): 'PCM_CLUB.FDetail'
désigne 'classe' où 'variable' était attendu
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(117):
'System.Windows.Forms.Panel' ne contient pas de définition pour 'TopLevel'
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(118): Le nom 'f' n'existe pas
dans la classe ni dans l'espace de noms 'PCM_CLUB.FMain'
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(119): Le type ou le nom
d'espace de noms 'f' est introuvable (une directive using ou une
référence d'assembly est-elle manquante ?)
merci de votre aide
Patrick Philippot a écrit :
Philippe wrote:
j ai une form Main et une autre form Detail
dans la Main j ai 2 panel
panel gauche qui contienss une NavBar
et PanelDetail qui est vide
je voudrais : ouvrir ma form Detail et qu elle vienne se loger dans
le PanelDetail, sans bordure, sans qu on puisse la deplacer et qu
elle prenne la taille du Panel Detail
Bonjour,
L'approche la plus orthodoxe serait d'encapsuler toute la fonctionnalité
de la Form Detail non pas dans une Form mais dans un Control. Ce
contrôle pourrait être utilisé dans n'importe quelle autre Form comme
bon vous semble.
Néanmoins, une Form est dérivée de Control et vous pouvez donc l'inclure
dans une autre Form ou dans un Control d'une autre Form
frmEmbedded MaForm;
MaForm = new frmEmbedded()
f.TopLevel = false;
this.Controls.Add(f)
f.Show()
this étant le contrôle ou la Form englobante.
Avant de faire le Show vous pouvez modifier les propriétés de Form
include (taille, dimension, bordure, etc.) en fonction de valeurs que
vous récupérez ailleurs: par exemple, vous positionnez les dimensions de
la Form à des valeurs égales aux dimentions du Panel englobant. Vous
pouvez aussi supprimer les accessoires inutiles (autant le faire au
niveau de la conception de cette Form, cependant).
Au niveau du placement, la Form peut être traitée comme un contrôle
ordinaire. *C'est* un Control.
je viens d essayer, mais j ai plein d erreur, je precise que je debutes en C# venant de delphi
je fais ca
private void button1_Click(object sender, System.EventArgs e) { // -- Ouverture de la fenetre détail ------------------------- frmEmbedded FDetail; FDetail = new frmEmbedded(); panel2.TopLevel = false; this.Controls.Add(f); f.Show(); }
et voici les erreurs D:ProjetsCSharpPCM_CLUBMainF_Main.cs(115): Le type ou le nom d'espace de noms 'frmEmbedded' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(121): 'PCM_CLUB.FDetail' désigne 'classe' où 'variable' était attendu
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(117): 'System.Windows.Forms.Panel' ne contient pas de définition pour 'TopLevel'
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(118): Le nom 'f' n'existe pas dans la classe ni dans l'espace de noms 'PCM_CLUB.FMain'
D:ProjetsCSharpPCM_CLUBMainF_Main.cs(119): Le type ou le nom d'espace de noms 'f' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)
merci de votre aide
Patrick Philippot a écrit :
Philippe wrote:
j ai une form Main et une autre form Detail
dans la Main j ai 2 panel panel gauche qui contienss une NavBar et PanelDetail qui est vide
je voudrais : ouvrir ma form Detail et qu elle vienne se loger dans le PanelDetail, sans bordure, sans qu on puisse la deplacer et qu elle prenne la taille du Panel Detail
Bonjour,
L'approche la plus orthodoxe serait d'encapsuler toute la fonctionnalité de la Form Detail non pas dans une Form mais dans un Control. Ce contrôle pourrait être utilisé dans n'importe quelle autre Form comme bon vous semble.
Néanmoins, une Form est dérivée de Control et vous pouvez donc l'inclure dans une autre Form ou dans un Control d'une autre Form
frmEmbedded MaForm;
MaForm = new frmEmbedded() f.TopLevel = false; this.Controls.Add(f) f.Show()
this étant le contrôle ou la Form englobante.
Avant de faire le Show vous pouvez modifier les propriétés de Form include (taille, dimension, bordure, etc.) en fonction de valeurs que vous récupérez ailleurs: par exemple, vous positionnez les dimensions de la Form à des valeurs égales aux dimentions du Panel englobant. Vous pouvez aussi supprimer les accessoires inutiles (autant le faire au niveau de la conception de cette Form, cependant).
Au niveau du placement, la Form peut être traitée comme un contrôle ordinaire. *C'est* un Control.
Patrick Philippot
Philippe wrote:
je viens d essayer, mais j ai plein d erreur, je precise que je debutes en C# venant de delphi
je fais ca
private void button1_Click(object sender, System.EventArgs e) { // -- Ouverture de la fenetre détail ------------------------- frmEmbedded FDetail; FDetail = new frmEmbedded(); panel2.TopLevel = false; this.Controls.Add(f); f.Show(); }
frmEmbedded est un exemple!! Remplacez par le nom de *votre* classe dérivée de Form.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Philippe wrote:
je viens d essayer, mais j ai plein d erreur, je precise que je
debutes en C# venant de delphi
je fais ca
private void button1_Click(object sender, System.EventArgs e)
{
// -- Ouverture de la fenetre détail -------------------------
frmEmbedded FDetail;
FDetail = new frmEmbedded();
panel2.TopLevel = false;
this.Controls.Add(f);
f.Show();
}
frmEmbedded est un exemple!! Remplacez par le nom de *votre* classe
dérivée de Form.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
je me permets de joindre mon tout petit projet, peut etre pourriez vous y jeter un coup d oeil et me dire ce qui cloche
le bute c est en cliquant sur le btn du panel de droite que la form detail se dock dans le panel2
merci de votre aide
Patrick Philippot a écrit :
Philippe wrote:
je viens d essayer, mais j ai plein d erreur, je precise que je debutes en C# venant de delphi
je fais ca
private void button1_Click(object sender, System.EventArgs e) { // -- Ouverture de la fenetre détail ------------------------- frmEmbedded FDetail; FDetail = new frmEmbedded(); panel2.TopLevel = false; this.Controls.Add(f); f.Show(); }
frmEmbedded est un exemple!! Remplacez par le nom de *votre* classe dérivée de Form.
Philippe
Good, j ai trouvé
mais il reste un dernier point, Quand le clique sur le btn, je peux ouvrir x Fenetre detail comment empecher que si elle est deja ouverte, je puisse la reouvrir
merci
{ // -- Ouverture de la fenetre détail -------------------------
Form aFDetail = new FDetail(); aFDetail.TopLevel = false; panel2.Controls.Add(aFDetail); aFDetail.Dock = System.Windows.Forms.DockStyle.Fill; aFDetail.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
aFDetail.Show(); }
merci pour l aide
Philippe a écrit :
J ai avancé
je fais ca
Form aFDetail = new FDetail(); aFDetail.TopLevel = false; panel2.Controls.Add(aFDetail); aFDetail.Dock = System.Windows.Forms.DockStyle.Fill;
aFDetail.Show();
ca m ouvre bien la fenetre dans le panel, mais y a la bordure et on peut donc la deplecer et la fermer comment oter la bordure
je me permets de joindre mon tout petit projet, peut etre pourriez vous y jeter un coup d oeil et me dire ce qui cloche
le bute c est en cliquant sur le btn du panel de droite que la form detail se dock dans le panel2
merci de votre aide
Patrick Philippot a écrit :
Philippe wrote:
je viens d essayer, mais j ai plein d erreur, je precise que je debutes en C# venant de delphi
je fais ca
private void button1_Click(object sender, System.EventArgs e) { // -- Ouverture de la fenetre détail ------------------------- frmEmbedded FDetail; FDetail = new frmEmbedded(); panel2.TopLevel = false; this.Controls.Add(f); f.Show(); }
frmEmbedded est un exemple!! Remplacez par le nom de *votre* classe dérivée de Form.
Good, j ai trouvé
mais il reste un dernier point,
Quand le clique sur le btn, je peux ouvrir x Fenetre detail
comment empecher que si elle est deja ouverte, je puisse la reouvrir
merci
{
// -- Ouverture de la fenetre détail -------------------------
Form aFDetail = new FDetail();
aFDetail.TopLevel = false;
panel2.Controls.Add(aFDetail);
aFDetail.Dock = System.Windows.Forms.DockStyle.Fill;
aFDetail.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
aFDetail.Show();
}
merci pour l aide
Philippe a écrit :
J ai avancé
je fais ca
Form aFDetail = new FDetail();
aFDetail.TopLevel = false;
panel2.Controls.Add(aFDetail);
aFDetail.Dock = System.Windows.Forms.DockStyle.Fill;
aFDetail.Show();
ca m ouvre bien la fenetre dans le panel, mais y a la bordure
et on peut donc la deplecer et la fermer
comment oter la bordure
mais il reste un dernier point, Quand le clique sur le btn, je peux ouvrir x Fenetre detail comment empecher que si elle est deja ouverte, je puisse la reouvrir
merci
{ // -- Ouverture de la fenetre détail -------------------------
Form aFDetail = new FDetail(); aFDetail.TopLevel = false; panel2.Controls.Add(aFDetail); aFDetail.Dock = System.Windows.Forms.DockStyle.Fill; aFDetail.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
aFDetail.Show(); }
merci pour l aide
Philippe a écrit :
J ai avancé
je fais ca
Form aFDetail = new FDetail(); aFDetail.TopLevel = false; panel2.Controls.Add(aFDetail); aFDetail.Dock = System.Windows.Forms.DockStyle.Fill;
aFDetail.Show();
ca m ouvre bien la fenetre dans le panel, mais y a la bordure et on peut donc la deplecer et la fermer comment oter la bordure
je me permets de joindre mon tout petit projet, peut etre pourriez vous y jeter un coup d oeil et me dire ce qui cloche
le bute c est en cliquant sur le btn du panel de droite que la form detail se dock dans le panel2
merci de votre aide
Patrick Philippot a écrit :
Philippe wrote:
je viens d essayer, mais j ai plein d erreur, je precise que je debutes en C# venant de delphi
je fais ca
private void button1_Click(object sender, System.EventArgs e) { // -- Ouverture de la fenetre détail ------------------------- frmEmbedded FDetail; FDetail = new frmEmbedded(); panel2.TopLevel = false; this.Controls.Add(f); f.Show(); }
frmEmbedded est un exemple!! Remplacez par le nom de *votre* classe dérivée de Form.
Patrick Philippot
Philippe wrote:
mais il reste un dernier point, Quand le clique sur le btn, je peux ouvrir x Fenetre detail comment empecher que si elle est deja ouverte, je puisse la reouvrir
Utilisez un drapeau (flag) booléen et mettez le à true après la première création. Vérifiez le à chaque tentative de création. Ou bien désactivez tous les éléments de l'interface utilisateur permettant cette création (bouton,...).
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Philippe wrote:
mais il reste un dernier point,
Quand le clique sur le btn, je peux ouvrir x Fenetre detail
comment empecher que si elle est deja ouverte, je puisse la reouvrir
Utilisez un drapeau (flag) booléen et mettez le à true après la première
création. Vérifiez le à chaque tentative de création. Ou bien désactivez
tous les éléments de l'interface utilisateur permettant cette création
(bouton,...).
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
mais il reste un dernier point, Quand le clique sur le btn, je peux ouvrir x Fenetre detail comment empecher que si elle est deja ouverte, je puisse la reouvrir
Utilisez un drapeau (flag) booléen et mettez le à true après la première création. Vérifiez le à chaque tentative de création. Ou bien désactivez tous les éléments de l'interface utilisateur permettant cette création (bouton,...).
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Philippe
J ai bien pensé a ca
mais n y a til pas un moyen de savoir qu une fenetre est deja ouverte ??
Patrick Philippot a écrit :
Philippe wrote:
mais il reste un dernier point, Quand le clique sur le btn, je peux ouvrir x Fenetre detail comment empecher que si elle est deja ouverte, je puisse la reouvrir
Utilisez un drapeau (flag) booléen et mettez le à true après la première création. Vérifiez le à chaque tentative de création. Ou bien désactivez tous les éléments de l'interface utilisateur permettant cette création (bouton,...).
J ai bien pensé a ca
mais n y a til pas un moyen de savoir qu une fenetre est deja ouverte ??
Patrick Philippot a écrit :
Philippe wrote:
mais il reste un dernier point,
Quand le clique sur le btn, je peux ouvrir x Fenetre detail
comment empecher que si elle est deja ouverte, je puisse la reouvrir
Utilisez un drapeau (flag) booléen et mettez le à true après la première
création. Vérifiez le à chaque tentative de création. Ou bien désactivez
tous les éléments de l'interface utilisateur permettant cette création
(bouton,...).
mais n y a til pas un moyen de savoir qu une fenetre est deja ouverte ??
Patrick Philippot a écrit :
Philippe wrote:
mais il reste un dernier point, Quand le clique sur le btn, je peux ouvrir x Fenetre detail comment empecher que si elle est deja ouverte, je puisse la reouvrir
Utilisez un drapeau (flag) booléen et mettez le à true après la première création. Vérifiez le à chaque tentative de création. Ou bien désactivez tous les éléments de l'interface utilisateur permettant cette création (bouton,...).
Aurélien [MS]
Bonjour Philippe,
Tu peux aussi vérifier le nombre de contrôles existant sur ton Panel à l'aide de Panel1.Controls.Count S'il y a déjà un contrôle dessus, c'est que ta page de détails est déjà ouverte
-- Aurélien Norie Microsoft France -------------------- Merci de bien vouloir répondre à ce message dans le newsgroup où il a été posté. Je le consulte régulièrement.
"Philippe" a écrit dans le message de news: %23%23G$
J ai bien pensé a ca
mais n y a til pas un moyen de savoir qu une fenetre est deja ouverte ??
Patrick Philippot a écrit :
Philippe wrote:
mais il reste un dernier point, Quand le clique sur le btn, je peux ouvrir x Fenetre detail comment empecher que si elle est deja ouverte, je puisse la reouvrir
Utilisez un drapeau (flag) booléen et mettez le à true après la première création. Vérifiez le à chaque tentative de création. Ou bien désactivez tous les éléments de l'interface utilisateur permettant cette création (bouton,...).
Bonjour Philippe,
Tu peux aussi vérifier le nombre de contrôles existant sur ton Panel à
l'aide de Panel1.Controls.Count
S'il y a déjà un contrôle dessus, c'est que ta page de détails est déjà
ouverte
--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.
"Philippe" <philippeNO.cazaux-moutouSPAM@NOsflx.SPAMcom> a écrit dans le
message de news: %23%23G$1kHBFHA.2676@TK2MSFTNGP12.phx.gbl...
J ai bien pensé a ca
mais n y a til pas un moyen de savoir qu une fenetre est deja ouverte ??
Patrick Philippot a écrit :
Philippe wrote:
mais il reste un dernier point,
Quand le clique sur le btn, je peux ouvrir x Fenetre detail
comment empecher que si elle est deja ouverte, je puisse la reouvrir
Utilisez un drapeau (flag) booléen et mettez le à true après la première
création. Vérifiez le à chaque tentative de création. Ou bien désactivez
tous les éléments de l'interface utilisateur permettant cette création
(bouton,...).
Tu peux aussi vérifier le nombre de contrôles existant sur ton Panel à l'aide de Panel1.Controls.Count S'il y a déjà un contrôle dessus, c'est que ta page de détails est déjà ouverte
-- Aurélien Norie Microsoft France -------------------- Merci de bien vouloir répondre à ce message dans le newsgroup où il a été posté. Je le consulte régulièrement.
"Philippe" a écrit dans le message de news: %23%23G$
J ai bien pensé a ca
mais n y a til pas un moyen de savoir qu une fenetre est deja ouverte ??
Patrick Philippot a écrit :
Philippe wrote:
mais il reste un dernier point, Quand le clique sur le btn, je peux ouvrir x Fenetre detail comment empecher que si elle est deja ouverte, je puisse la reouvrir
Utilisez un drapeau (flag) booléen et mettez le à true après la première création. Vérifiez le à chaque tentative de création. Ou bien désactivez tous les éléments de l'interface utilisateur permettant cette création (bouton,...).
Patrick Philippot
Philippe wrote:
J ai bien pensé a ca
mais n y a til pas un moyen de savoir qu une fenetre est deja ouverte
Si. En énumérant la collection Application.Forms par exemple.
Mais si vous ne voulez qu'une instance de cette classe, le plus court et le plus propre c'est de par exemple créer une méthode de classe (static) booléenne (par exemple IsCreated) qui retourne true si la première instanciation a eu lieu. Ensuite, vous vérifiez simplement si la classe a déjà été instanciée avec MaClasseForm.IsCreated(). La valeur retournée par IsCreated peut être stockée dans une variable privée à votre classe.
Vous remettez la variable interne (static également) utilisée par IsCreated à false dans le destructeur de la classe.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Philippe wrote:
J ai bien pensé a ca
mais n y a til pas un moyen de savoir qu une fenetre est deja ouverte
Si. En énumérant la collection Application.Forms par exemple.
Mais si vous ne voulez qu'une instance de cette classe, le plus court et
le plus propre c'est de par exemple créer une méthode de classe (static)
booléenne (par exemple IsCreated) qui retourne true si la première
instanciation a eu lieu. Ensuite, vous vérifiez simplement si la classe
a déjà été instanciée avec MaClasseForm.IsCreated(). La valeur retournée
par IsCreated peut être stockée dans une variable privée à votre classe.
Vous remettez la variable interne (static également) utilisée par
IsCreated à false dans le destructeur de la classe.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
mais n y a til pas un moyen de savoir qu une fenetre est deja ouverte
Si. En énumérant la collection Application.Forms par exemple.
Mais si vous ne voulez qu'une instance de cette classe, le plus court et le plus propre c'est de par exemple créer une méthode de classe (static) booléenne (par exemple IsCreated) qui retourne true si la première instanciation a eu lieu. Ensuite, vous vérifiez simplement si la classe a déjà été instanciée avec MaClasseForm.IsCreated(). La valeur retournée par IsCreated peut être stockée dans une variable privée à votre classe.
Vous remettez la variable interne (static également) utilisée par IsCreated à false dans le destructeur de la classe.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr