begin process at 2012 02 11 10:57:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

Modifier une Form durant son utilisation


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

Modifier une Form durant son utilisation

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ée 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 Obtenir pointeur sur une form en cours [ par ketaaa ] Bonjour , je développe sous le compact framework (avec windows mobile 6 SDK ) et un problème persiste. J'ai recrée une classe CBarrePerso héritant de mon form ne veut plus se modifier !! URGENNNT [ par poomen ] je modifie dans mon form en ado.net c # , et quand j'éxécute , comme si rien n'étais fais !!! Aidezzzz moiiii !!


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,811 sec (3)

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