Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1759 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Modalité fenetre ????

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modalité fenetre ????

n°2003180
ledim97
Posté le 21-06-2010 à 09:55:49  profilanswer
 

Bonjour , je reviens vers vous pour un probleme au niveau de la modalité d'une fenetre  
ci joint le code  :  
 

Code :
  1. myNewRad = new RadForm();
  2. myNewRad.Size = new Size(430, 350);
  3. myNewRad.Text = "Choix du Backup";
  4. myNewRad.StartPosition = FormStartPosition.CenterScreen;
  5. myNewRad.ShowDialog();


 
myNewRad s'ouvre bien mais elle n'est pas modale :(  
Quelqu'un a une idée???

mood
Publicité
Posté le 21-06-2010 à 09:55:49  profilanswer
 

n°2003181
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-06-2010 à 09:58:24  profilanswer
 

comment sais tu qu'elle n'est pas modale ? elle ne bloque pas sa fenêtre parente ?  
cette fenêtre est elle la fenêtre principale de ton appli ? auquel cas c'est normal qu'elle ne soit pas modale, vu qu'elle n'a pas de fenêtre parente


---------------
J'ai un string dans l'array (Paris Hilton)
n°2003182
ledim97
Posté le 21-06-2010 à 10:01:14  profilanswer
 

Oui elle ne bloque pas sa fenetre parente !!!
 
Et non ce n'est pas la fenetre principale  !!!

n°2003186
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-06-2010 à 10:05:33  profilanswer
 

et appelles tu ShowDialog à partir de la fenêtre parente ? pour que ShowDialog fonctionne, il doit être appelé à partir de la fenêtre qui lui servira de parent


---------------
J'ai un string dans l'array (Paris Hilton)
n°2003191
ledim97
Posté le 21-06-2010 à 10:13:45  profilanswer
 

ShowDialog() est dans une fonction qui est appelé ,  
 
Merci Harkonnen , j'ai trouvé la solution  

Code :
  1. myNewRad.ShowDialog(panel2);


 
Je l'appel mais en précisant sa fenetre pere ;)  
 
Merci beaucoup ;) Rapide et efficace ;)

n°2003195
ledim97
Posté le 21-06-2010 à 10:16:36  profilanswer
 

Ha c'est pas bon , quand je sors de myNewRad je ne peux plus toucher a la fenetre parente :(

n°2003197
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-06-2010 à 10:21:39  profilanswer
 

et  

Code :
  1. mynewRad.ShowDialog(this);


ça n'irait pas mieux ?
(à condition que ce code soit écrit dans la fenêtre parent)


---------------
J'ai un string dans l'array (Paris Hilton)
n°2003199
ledim97
Posté le 21-06-2010 à 10:22:45  profilanswer
 

Quand tu dis ecrit dans la fenetre tu entend quoi ? parce myNewRad est dans une fonction qui est appelé dans un certain cas en fait ...  
 
Comment je fais ?

n°2003203
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-06-2010 à 10:27:39  profilanswer
 

comment as tu structuré ton appli ? est elle constituée d'une fenêtre principale ? si c'est oui, alors j'imagine que le code réside dans une classe qui hérite de la classe Form.
donc, si la fonction qui appelle myNewRad.ShowDialog() fait partie de cette classe, alors myNewRad sera forcément affichée de façon modale. si tu appelles ShowDialog dans une classe qui n'est pas une Form, elle ne sera pas modale.


---------------
J'ai un string dans l'array (Paris Hilton)
n°2003204
ledim97
Posté le 21-06-2010 à 10:33:36  profilanswer
 

showDialog() est dans une fonction qui est dans le code de ma form.
 

Code :
  1. namespace DeployGeosys
  2. {
  3.     public partial class Deploy : Telerik.WinControls.UI.RadRibbonForm
  4.     {
  5.            [....]
  6.      //Le code de toute la Form
  7.  
  8.       private bool RollBack(ConfigDeploy.Operation op)
  9.             {
  10.                 try
  11.                 {
  12.                     myNewRad = new RadForm();
  13.                     myNewRad.Size = new Size(430, 350);
  14.                     myNewRad.Text = "Choix du Backup";                      myNewRad.StartPosition=FormStartPosition.CenterScreen;
  15. [...]
  16.                     myNewRad.TopLevel = true;
  17.                     myNewRad.ShowDialog(this);
  18. [...]


 
En gros voici comment c'est structuré  
 

mood
Publicité
Posté le 21-06-2010 à 10:33:36  profilanswer
 

n°2003217
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-06-2010 à 10:57:27  profilanswer
 

ok...
tu dois mettre tout le code d'initialisation de ta form dans le constructeur de ta classe Deploy (donc les lignes de 12 à 17), et n'appeler dans ta fonction Rollback que la fonction ShowDialog.


---------------
J'ai un string dans l'array (Paris Hilton)
n°2003220
ledim97
Posté le 21-06-2010 à 11:04:24  profilanswer
 

Harkonnen a écrit :

ok...
tu dois mettre tout le code d'initialisation de ta form dans le constructeur de ta classe Deploy (donc les lignes de 12 à 17), et n'appeler dans ta fonction Rollback que la fonction ShowDialog.


 
Hum si je met dans mon constructeur de ma Form , cela ne change rien , et en plus sa m'empeche de rappeler cette fonction car il me dis que l'objet est supprimé ....  :s  

n°2003227
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-06-2010 à 11:17:29  profilanswer
 

ledim97 a écrit :


 
Hum si je met dans mon constructeur de ma Form , cela ne change rien , et en plus sa m'empeche de rappeler cette fonction car il me dis que l'objet est supprimé ....  :s  


je viens de faire un bête test : une form avec un bouton qui ouvre une fenêtre modale quand on clique dessus
 

Code :
  1. using System;
  2. using System.Drawing;
  3. using System.Windows.Forms;
  4.  
  5. namespace MyTest
  6. {
  7.    public partial class Form1 : Form
  8.    {
  9.        private Form modForm;
  10.  
  11.        public Form1()
  12.        {
  13.            InitializeComponent();
  14.            modForm = new Form();
  15.            modForm.Size = new Size(320, 200);
  16.            modForm.Text = "Form modale";
  17.            modForm.TopLevel = true;
  18.        }
  19.  
  20.        private void button1_Click(object sender, EventArgs e)
  21.        {
  22.            modForm.ShowDialog();
  23.        }
  24.    }
  25. }


 
aucun souci : pas d'objet supprimé si je clique x fois sur le bouton, et la Form modForm est bien affichée modalement :spamafote:


---------------
J'ai un string dans l'array (Paris Hilton)
n°2003232
ledim97
Posté le 21-06-2010 à 11:21:42  profilanswer
 

Est ce que c'est pas dû aux objet Rad Telerik que j'utilise ? :s

n°2003234
ledim97
Posté le 21-06-2010 à 11:26:26  profilanswer
 

ça ne fonctionne pas j'ai toujours acces a ma fenetre principale meme avec ta technique j'ai oublié de te dire :( ....
 
poooo je suis sur que ce sont les Telerik controls qui font ça

n°2003236
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-06-2010 à 11:28:13  profilanswer
 

ben possible... t'as accés à leur source ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°2003237
ledim97
Posté le 21-06-2010 à 11:31:08  profilanswer
 

C'est verouillé :s Embetant tout cela ,  
 
meme dans myNewRad  je n'ai pas acces a la modification de l'attribut Modal... je ne peux que l'obtenir et pas le definir :(

n°2008969
matt113
Et mon cul c'est du poulet ?
Posté le 13-07-2010 à 11:24:26  profilanswer
 

si tu veux une fenêtre qui bloque la fenêtre parent quand elle s'ouvre et qui la réactive quand elle se ferme tu peux utiliser ce genre de code  
 
code du bouton qui va lancer ta Form :
 

Code :
  1. private void BoutonLoadForm_Click(object sender, EventArgs e)
  2.         {
  3.             TaForm F = new TaForm ();
  4.             F.Shown += new EventHandler(DisableMe);
  5.             F.Disposed += new EventHandler(EnableMe);
  6.             F.Show();
  7.         }


 
code a mettre dans la Form parent :
 

Code :
  1. private void DisableMe(object sender, EventArgs e)
  2.         { this.Enabled = false; }
  3. private void EnableMe(object sender, EventArgs e)
  4.         { this.Enabled = true; this.Activate(); }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Modalité fenetre ????

 

Sujets relatifs
Bouton pour fermer fenêtre graphiquevisualiser objet dessiner en opengl dans une fenêtre opencv
ouverture nouvelle fenêtre suite à headerMontrer la fenetre de filtre sur excel, sans faire de choix de critere
Comment faire un diaporama avec photos qui s'adaptent taille fenetreAide , texte et fenetre.
[VBS] passé d'une macro à ...autoitOuvrir un fichier dans une fenetre Windows
faire ouvrir un ficher externe dans une nouvelle fenetreaffichage fenetre de changement de mot de passe
Plus de sujets relatifs à : Modalité fenetre ????


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR