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 !

USERCONTROL PYROWINDOW


Information sur la source

Catégorie :Divers Source .NET ( DotNet ) Classé sous : UserControl, Control, Window, Fenêtre Niveau : Débutant Date de création : 06/11/2007 Date de mise à jour : 07/11/2007 22:14:16 Vu / téléchargé: 4 515 / 152

Note :
Aucune note

Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Je me suis amusé à copier le style de fenêtre d'un programme et je me suis dit que me faire un contrôle serai parfait et rapide par la suite pour mes applications suivantes!

Ce n'est pas très proprement nommé dans les propriétés mais de ce côté c'est pas mon truc :D

Il vous suffit pour l'utiliser, de:
- copier les trois fichiers dans le répertoire de votre application,
   ("PyroWindow.cs","PyroWindow.Designer.cs","PyroWindow.resx")
- et de l'ajouter "PyroWindow.cs" à votre projet tout simplement!

(Vous retrouverez le contrôle dans Custom Components)
 

Source

  • // Pour ce qui est des boutons de fenêtre (réduire/agrandir/fermer),
  • // Vous pouvez les activés facilement en suivant le code ci-dessous.
  • // Voici comment avoir l'évènement afin d'utiliser ceci (simple clique):
  • Exemple du contrôle ::
  • //
  • // pyroWindow1
  • //
  • this.pyroWindow1.BackColor = System.Drawing.Color.Transparent;
  • this.pyroWindow1.FondColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
  • this.pyroWindow1.IconImage = ((System.Drawing.Image)(resources.GetObject("pyroWindow1.IconImage")));
  • this.pyroWindow1.Location = new System.Drawing.Point(12, 12);
  • this.pyroWindow1.Name = "pyroWindow1";
  • this.pyroWindow1.OmbreColor = System.Drawing.Color.FromArgb(((int)(((byte)(140)))), ((int)(((byte)(140)))), ((int)(((byte)(140)))));
  • this.pyroWindow1.Size = new System.Drawing.Size(260, 91);
  • this.pyroWindow1.TabIndex = 0;
  • this.pyroWindow1.Titre = "Titre de la fenêtre";
  • this.pyroWindow1.TitreAlign = System.Drawing.ContentAlignment.MiddleCenter;
  • this.pyroWindow1.TitreColor = System.Drawing.Color.White;
  • this.pyroWindow1.TitreFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
  • this.pyroWindow1.TitreImage = ((System.Drawing.Image)(resources.GetObject("pyroWindow1.TitreImage")));
  • this.pyroWindow1.TitreLayout = System.Windows.Forms.ImageLayout.Tile;
  • this.pyroWindow1.VisibleAgrandir = true;
  • this.pyroWindow1.VisibleFermer = true;
  • this.pyroWindow1.VisibleIcon = true;
  • this.pyroWindow1.VisibleReduire = true;
  • this.pyroWindow1.ReduireClick += new System.EventHandler(this.PyroWindow_ReduireClick);
  • this.pyroWindow1.AgrandirClick += new System.EventHandler(this.PyroWindow_AgrandirClick);
  • this.pyroWindow1.FermerClick += new System.EventHandler(this.PyroWindow_FermerClick);
  • // Les seules lignes qui nous intéresse sont les trois dernières
  • // Il vous fait les copier comme sur cet exemple à la fin des propriétés du contrôle
  • // Prenez seulement celles qui vous sont utile!
  • Voici maintenant les "void" ::
  • private void PyroWindow_ReduireClick(object sender, EventArgs e)
  • {
  • // Lors du clique sur l'icône de diminution!
  • }
  • private void PyroWindow_AgrandirClick(object sender, EventArgs e)
  • {
  • // Lors du clique sur l'icône de maximisation!
  • }
  • private void PyroWindow_FermerClick(object sender, EventArgs e)
  • {
  • // Lors du clique sur l'icône de fermeture!
  • }
  • // Mettez ceci avec le reste des "void",
  • // Pour ceci aussi, prenez seulement le nécessaire.
// Pour ce qui est des boutons de fenêtre (réduire/agrandir/fermer),
// Vous pouvez les activés facilement en suivant le code ci-dessous.
// Voici comment avoir l'évènement afin d'utiliser ceci (simple clique):

Exemple du contrôle ::

// 
// pyroWindow1
// 
this.pyroWindow1.BackColor = System.Drawing.Color.Transparent;
this.pyroWindow1.FondColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.pyroWindow1.IconImage = ((System.Drawing.Image)(resources.GetObject("pyroWindow1.IconImage")));
this.pyroWindow1.Location = new System.Drawing.Point(12, 12);
this.pyroWindow1.Name = "pyroWindow1";
this.pyroWindow1.OmbreColor = System.Drawing.Color.FromArgb(((int)(((byte)(140)))), ((int)(((byte)(140)))), ((int)(((byte)(140)))));
this.pyroWindow1.Size = new System.Drawing.Size(260, 91);
this.pyroWindow1.TabIndex = 0;
this.pyroWindow1.Titre = "Titre de la fenêtre";
this.pyroWindow1.TitreAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.pyroWindow1.TitreColor = System.Drawing.Color.White;
this.pyroWindow1.TitreFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.pyroWindow1.TitreImage = ((System.Drawing.Image)(resources.GetObject("pyroWindow1.TitreImage")));
this.pyroWindow1.TitreLayout = System.Windows.Forms.ImageLayout.Tile;
this.pyroWindow1.VisibleAgrandir = true;
this.pyroWindow1.VisibleFermer = true;
this.pyroWindow1.VisibleIcon = true;
this.pyroWindow1.VisibleReduire = true;
this.pyroWindow1.ReduireClick += new System.EventHandler(this.PyroWindow_ReduireClick);
this.pyroWindow1.AgrandirClick += new System.EventHandler(this.PyroWindow_AgrandirClick);
this.pyroWindow1.FermerClick += new System.EventHandler(this.PyroWindow_FermerClick);

// Les seules lignes qui nous intéresse sont les trois dernières
// Il vous fait les copier comme sur cet exemple à la fin des propriétés du contrôle
// Prenez seulement celles qui vous sont utile!

Voici maintenant les "void" ::

private void PyroWindow_ReduireClick(object sender, EventArgs e)
{
	// Lors du clique sur l'icône de diminution!
}

private void PyroWindow_AgrandirClick(object sender, EventArgs e)
{
	// Lors du clique sur l'icône de maximisation!
}

private void PyroWindow_FermerClick(object sender, EventArgs e)
{
	// Lors du clique sur l'icône de fermeture!
}

// Mettez ceci avec le reste des "void",
// Pour ceci aussi, prenez seulement le nécessaire.

Conclusion

J'espère que mon tutoriel d'utilisation de mon petit contrôle ne vous a pas trop déplus!

Donnez-moi vos appréciations, je vous attend ;)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

07 novembre 2007 00:29:58 :
Image plus démonstratrice et rectifications mineurs!
07 novembre 2007 21:20:47 :
Rectification en fonction des facteurs d'alignement du titre!
07 novembre 2007 22:14:16 :
Solution d'exemple, Rectification de plusieurs erreurs, Arrangement des propriétés!

Commentaires et avis

signaler à un administrateur
Commentaire de sebmafate le 07/11/2007 08:54:19 administrateur CS

Bof... pas super bien coder... les _ dans les Propriétés c'est moche... en plus préfixer le nom de chacune par PW ne sert à rien...
Ce n'est pas customisable...
Pour ma part, je dirais que la copie est à revoir !

signaler à un administrateur
Commentaire de alvinp le 07/11/2007 09:52:10

Pour ce qui est de la copie, je n'ai pu copier que par rapport à l'aperçu du programme car c'est un programme payant donc je ne possède pas les sources et je ne sais pas décompiler ce genre de trucs!

Pour le préfixe PW, je l'ai mis pour indiquer les nouvelles propriétés ajoutés car j'ai du mal a m'y retrouver ^^

Je trouve sa pas très beau non plus mais je suis pas un expert donc il y a des défauts plus voyants, par exemple lorsque tu insère une icône et que tu cherche à l'enlever avec un "Suppr" et bien, ce n'est pas possible mais je sais que sa doit être simple (j'connais pas tout :D)

signaler à un administrateur
Commentaire de sebmafate le 07/11/2007 09:55:37 administrateur CS

(copie) je ne parlais pas de la capture... mais de la source elle-même...

signaler à un administrateur
Commentaire de alvinp le 07/11/2007 10:06:00

OK, y a beaucoup à revoir pour que les programmeurs confirmés ai une utilité mais je le propose plutôt au débutants, sa leurs permettra de comprendre un peu le fonctionnement (je comprend qu'en voyant fonctionner aussi donc...) :D

signaler à un administrateur
Commentaire de Bidou le 07/11/2007 10:36:39 administrateur CS

C'est effectivement pas superbement bien codé...

Pourquoi InitializeComponent n'est pas dans une classe partielle?
public Image PW_Image_Icon. Et si on passe null?
Pleins d'erreur au niveau graphique, par exemple si on aligne le texte à gauche (titre) il est tronqué, etc.

Y'a encore pas mal de travaille, serait bien que ça soit mis à jour...

signaler à un administrateur
Commentaire de alvinp le 07/11/2007 12:17:23

Salut, je vais te dire franchement, en lisant ton commentaire, je n'ai pas pu m'empêcher de sourire!!

Pas pour me moquer mais parce que j'ai à peine lu que j'ai compris pourquoi sa tronque (d'une), parce que j'ai laissé la picturebox de l'icône et je n'est pas fait une redisposition en rapport avec elle.

Merci de préciser ces erreurs, pour ce qui est du codage, je ne sais pas ce que tu trouve mal fait!! Par contre j'aimerai que tu m'en face part pour pouvoir rectifier ceci dans mes futurs sources :D

signaler à un administrateur
Commentaire de sebmafate le 07/11/2007 13:55:48 administrateur CS

Bon...
Ce n'est pas la peine de s'emporter... nos remarques n'étaient pas méchantes... ou alors involontaire.
Maintenant, si tu n'acceptes pas la critique et rien ne t'oblige à publier ton code source... ça ne changera pas la face du monde qu'il y ait une source de plus ou de moins.

signaler à un administrateur
Commentaire de alvinp le 07/11/2007 20:36:22

J'ai dis que je ne prenais pas sa méchamment, ce n'étais pas de l'hypocrisie!

Et je ne publie pas beaucoup de mes sources, seulement ce que je trouve utile...

signaler à un administrateur
Commentaire de sebmafate le 07/11/2007 20:59:36 administrateur CS

Dans ce cas, essaye de publier des sources propres.
Merci.

J'attends donc que tu mettes à jour cette source pour qu'elle soit propre et exploitable.
Dans le cas contraire, je la supprimerais.

signaler à un administrateur
Commentaire de Bidou le 07/11/2007 21:19:09 administrateur CS

A changer (conseil)
====================

1) Si tu travailles avec VS 2005 (FW2) utilises les classes partielles!
Avoir tout le chenil créer par le designer dans le code, c'est méga lourd.

2) Faire un projet de teste. La encore, si je veux tester, je dois créer un projet.
C'est chiant. Pourquoi ne pas mettre une solution directement?

3) Si je prends la peine de faire la solution moi-même, que je compile, et ensuite drag%drop le Control sur la form, j'ai une erreur (comme dit plus haut) du au fait que je n'ai pas spécifié d'icone. (public Image PW_Image_Icon)

4) Revoir totalement le nommage des properties, ou t'es allé chercher des horreurs pareilles?

5) Régler le probleme du titre que j'ai mentionné plus haut.

6) Si je créer un panel, que j'y met un bouton dedans, voici le code obtenu:
            this.panel.XX = XXX;
            this.panel.Controls.Add(this.button);
            this.panel.XX = XXX;

Voici maintenant celui de ton control:
            this.pyroWindow.XX = XXX;
...
            this.pyroWindow.XX = XXX;

PUis
            this.Controls.Add(this.button);
            this.Controls.Add(this.pyroWindow);

7)
private int pos1 = 17;
private int pos2 = 34;

Ce sont des constantes?


Voilà, pour dire le nombre de lignes qui ont été tapées, ça fait pas mal de corrections...
On attends la MAJ

signaler à un administrateur
Commentaire de alvinp le 07/11/2007 21:20:50

Je déteste le chantage que vous faites, j'ai déjà eu ceci sur une autre source et c'est pour cela que je ne publie plus grand chose!

Un conseil, éviter d'obliger quelqu'un sinon vous risqueriez d'être moins apprécié! Mal grès ça, j'apprécie énormément votre site et tout ce qu'il propose...

signaler à un administrateur
Commentaire de alvinp le 07/11/2007 21:22:30

Merci de ton commentaire, j'ai réglé en fonction de l'alignement mais je programme avec SharpDevelop donc c'est un peu différent ^^

signaler à un administrateur
Commentaire de alvinp le 07/11/2007 21:25:54

Pour les class partielle, je ne vois pas où vous souhaitez que je face ceci!
Je fais le projet test de suite...
Pour l'erreur en 3, je ne l'ai pas mais je vais essayer de voir ce que je peux faire.
Pour le nommage, si vous pourriez m'aider :D
La 6 je sais pas du tout d'où cela peut venir :(
Et enfin, oui les deux sont des constantes désolé!!!

signaler à un administrateur
Commentaire de alvinp le 07/11/2007 22:17:51

J'espère que j'ai fait tout ce qu'il faut.

Il y a une seule chose que j'aimerai savoir, c'est le fait de virer l'icône en appuyant sur "suppr" du clavier!! Sur mon contrôle cela ne fonctionne pas et j'aimerai bien de l'aide pour ceci.

Merci d'avance ;)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

window.form et evénement closing [ par Thanos_the_yopper ] voila mon probleme :j'ai une fenetre MdiContainer, et j'ouvre d'autre fenêtre fille à l'intérieur. Sur ces fenètre, j'ai des événement Closing et j'au Atteindre un control sur un UserCOntrol [ par Oho2 ] Bonjour, Je voudrais savoir comment je peux atteindre le bouton d'un user control à partir de ma page principale.Bon je sais que normalement il suff Bloquer le Focus dans un UserControl [ par Fildomen ] Salut tt le monnde et bonne année a ts !!Ben voila je veux programmer mon propre editeur de texte !! alors j'utilise le control Control !! le probleme Probleme de tracage sur Usercontrol [ par yanis7518 ] Salut a tous j'ai créer un user control avec un control qui fera office de barre de progression ou plutot d'indication de taux de remplissage d'un Dev ajouter un evenement a usercontrol [ par cudenetf ] bonjour,j'ai un formulair equi utilise un user control (ce dernier possede plusieurs couleurs)j'aimmerais pouvoir definir ds le designer du formulaire "Anchor" un Control a une GraphicsPath. [ par D0X ] Salut! J'ai une "bizzarre" question: j'ai un UserControl et dans ce control j'ai une Textbox. Ce UserControl peut étre redimensionnée et on a la "Anc UserControl c'est quoi ? [ par olibara ] BonjourMa question est sans doute idote pour la pluspart d'entre vous mais bon quand on ne sait pas on cherche a savoir !Donc je ne sais pas vraiment Changer la propriété d'un usercontrol [ par LordOfTheShadow ] Bonjour à tous, j'ai créé un usercontrol qui s'appele Poile. Je veux créer une colonne dans un datagridview pour chaq UserControl Imbriqué [ par oliclaude ] Bonjour à tous, Je développe actuelement un UserControl qui représente des boutons verticaux à la Outlook. J'ai donc un control principale qui enc User Control [ par waldpest ] Bonjour à tous, Voila je me retrouve confronter à un petit problème que je n'arrive pas a résoudre, malgré mes recherches je ne trouve pas la solutio


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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