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 : Modifier une Form durant son utilisation [ Windows / Formulaire / Winforms / Controls ] (sainsi)

lundi 21 juillet 2008 à 12:52:46 | Modifier une Form durant son utilisation

sainsi

Bonjour ou bonsoir

bon autant entré directement dans le vif du sujet en essayant d'être le plus clair possible.

j'ai donc 2 question:


1) imaginé un form avec des boutons dessus. et lorsque je clique sur un d'eux, une nouvelle "pseudo fenêtre" accolé a celle-ci, un peut dans le genre a la "winamp" pour ceux qui voit.
2) imaginé un form, avec des élément dessus, et avec sur le bas, un bouton suivant, et lorsque je clique dessus, je garde ma form, mais le contenu change. Dans le genre d'un installateur.

Pour ces deux question, j'aimerais des pistes de recherche, ou si certain ont un exemple a me fournir je suis preneur.
Mais j'ai tout de même un préférence pour les piste a suivre, ainsi je pourrait mieux comprendre.

Voila, je vous remercie d'avance.

lundi 21 juillet 2008 à 15:40:46 | Re : Modifier une Form durant son utilisation

MasterShadows

Bonjour,

pour la deuxième question j'ai certainement un élément de réponse :

Imagine une Form vide. Tu n'y places aucun composant.

Ensuite, tu créer un user control sur lequel tu vas placer tous tes composants, y compris tes boutons suivants, précédants. (créée autant de user control que necessaire)

Tu gères ensuite l'évènement sur le bouton. Et dans l'évènement tu écris ceci :

this.Form.Controls.Remove(this);
this.Dispose();
this.Form.Controls.Add(new UserControlX(Form));

X étant le user control que tu veux afficher.

Bien sûr ne pas oublier de mettre en paramètre du constructeur du user control un objet Form.

Et enfin dans le formulaire principal, tu écris dans la méthode InitComponent :

Controls.Add(new UserControlX(this));

Cette façon de faire n'est pas forcément la meilleure, mais ça devrait suffire pour faire ce que tu veux...

Envoie moi un MP si tu veux un tout petit exemple sur le sujet...

lundi 21 juillet 2008 à 22:52:05 | Re : Modifier une Form durant son utilisation

sainsi

bonjour,

l'idée n'est pas mauvaise en effet.

je vais tester cela au plus vite, mais si qqun a une autre idée je suis preneur, autant les tester toute.

Sinon si quelqu'un a une idée concernant mon point 1, je suis également preneur.
Mais j'aimerais ajouter une autre question:

Imaginé un form, avec au centre par exemple une PictureBox. sur le haut, un un genre de panel avec les image en plus petit, et par exemple a droite, un autre panel avec des options de traitement d'image.
On aurait au centre (pour la panel de droite, le centre est egal a la hauteur du panel, mais sur le bord du panel a coté de la PicutreBox)(pour le panel du haut, le haut est égal a la largeur du panel, mais sur le bord a coté de la picture box) une fleche ou autre (c'est au choix) qui permettrait de masqué le panel en question, et donc de redimensionné le panel contenant la picture box.

N'oublié pas que je prend tout vos commentaires en considération.

J'espere avoir été suffisament clair.


mardi 22 juillet 2008 à 10:41:45 | Re : Modifier une Form durant son utilisation

MasterShadows

Salut, pour la question 1, sert toi de ce principe :

Lève l'évènement Load sur ta form principale.
Ensuite Dans le code de cet évènement, écrit un truc du style :

new Form2(this).Show(); // pour afficher le deuxième formulaire.

Ensuite dans le fichier Form2.cs, met en variable globale de la classe un objet Form.
Puis dans le constructeur, tu set ta form.

Exemple

public Form2(Form1 Form)
{
   m_Form = Form;
}

Après tu mets en place l'évènement Load du formulaire 2 et tu écris ceci :

Point Loc = Point.Empty;
Loc.X = m_Form.Location.X + m_Form.Size.Width;
Loc.Y = m_Form.Location.Y;
this.Location = Loc;

et hop ta deuxième fenêtre s'accole à la mauvaise...

mardi 22 juillet 2008 à 15:22:53 | Re : Modifier une Form durant son utilisation

sainsi

Ton dernier code fonctionne.

Mais par contre une question viens compléter la première. Comment accrocher la deuxième form a la première, afin que lorsque je déplace le Form principale, le second reste acollé.

J'ai bien une pseudo solution, qui consiste a redessiner la seconde form si je déplace le premier, mais j'ai pas vraiment l'impression que se soit la meilleur idée.

mardi 22 juillet 2008 à 17:27:46 | Re : Modifier une Form durant son utilisation

MasterShadows

Salut, tu n'as pas besoin de redessiner ton controle, il y'a beaucoup plus :

1. Créer une variable de la fenêtre que tu veux accoler (exemple : Form2)

private Form2 m_Form;

2. Instantier le formulaire et l'afficher dans l'évènement Form1_Load :

m_Form = new Form2(this);
m_Form.Show();

3. Répéter ce qu'il y'a d'écrit dans mon dernier message.

4. Lever l'évènement LocationChanged du formulaire 1. (Il se trouve PropertyChanged du designer)

5. Dans le dit évènement écrire :

Point loc = this.Location;
loc.X += this.Size.Width;

if(m_Form != null)
   m_Form.Location = loc;

et hop dès que tu bouges ton formulaire principal, le deuxième reste acollé.

mercredi 30 juillet 2008 à 02:33:17 | Re : Modifier une Form durant son utilisation

sainsi

désolé pour le temps de reaction, mais je suis en train d'étudier mes repêches.

je testerais dès que j'aurais le temps.

Mais merci quand même.



Cette discussion est classé dans : form, modifier, cours, from, dessus


Répondre à ce message

Sujets en rapport avec ce message

Savoir si la souris bouge... [ par bigflo ] Salut,Comment faire pour savoir si la souris bouge mais si celle-ci n'est pas au dessus d'un form ?Car avec mon form, je peux savoir si la souris boug Modifier le nom du processus en cours [ par shoka ] Salutations tout le monde, voici mon probleme du jour :heu.. tout est dans le titre :)Process.GetCurrentProcess().ProcessName est en lecture seule :( Form au dessus [ par thorgal1612 ] Salut,J'ai une form principale MDI dans lequel est dessiné un panel.Lorsque j'appelle un form fille, le panel reste visible sur ma form fille. Comment contextmenu et click [ par cudenetf ] bonjjour,je suis sous vs .net 2003j'ai mis un context menu qui devrait permettre d'agir sur un formulaire (il est associé au formulaire directement)Qu Toolbox style photoshop [ par TeBeCo ] J'ai réalisé une toolbox pour mon appli du style de la boite a outils et autre ptite fenetre du même genre que l'ont peux appercevoir dans photoshopPo changement de form après un click [ par BadFox ] salut,mon problème est que j'ai une form avec un bouton où lorsque je clique dessus, je voudrais changer tout ce qu'il y a sur cette form mais en la g Form au premier plan par dessus une fenêtre FullScreen [ par saifer ] Bonjour à tous !Un problème se pose à moi depuis hier soir, je souhaite afficher ma Form par dessus une fenêtre pleine écran (un jeu vidéo). J'ai essa Processus et Focus [ par nclscartman ] Bonjour,donc en quelques ligne voila ce que j'ai fait :une application window pour faire du transfert de fichier automatique.J'ai une seule form qui c impression [ par hsentrabelsi ] salut a tous mon probleme est : j'ai une application imprimer [ par hsentrabelsi ] salut a tous


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,281 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é.