[.net 2] ordonnancement et affichage d'evenement dans le temps (comme dans outlook 2007)

Soyez le premier à donner votre avis sur cette source.

Vue 8 667 fois - Téléchargée 634 fois

Description

Ce code a pout but de répondre à une question du forum : (lisez la conclusion ^^)
http://www.vbfrance.com/infomsg_ARRANGEMENTS-RECTANGLES_970466.aspx
cela explique pourquoi je n'ai pas fait d'interface utilisateur je laisse le soins a ceux qui en auront besoin de changer la methode "DrawEvenement" de la classe en question ainsi que tout le reste.

Source / Exemple :


//Tri des différents evenement :
        internal void Organiser()
        {
            Int32 nIndex;
            Boolean bClasse ;
            lstDernierParColonne.Clear();
            lstDernierParColonne.Add(lstEvenement[0].Fin);
            lstEvenement[0].Colonne = 1;

            for(nIndex = 1; nIndex <= lstEvenement.Count-1; nIndex++)
            {
                bClasse = false;
                lstEvenement[nIndex].Colonne = 1;
                while(!bClasse)
                {
                    if ((lstEvenement[nIndex].Debut.Hour * 60 + lstEvenement[nIndex].Debut.Minute) < lstDernierParColonne[lstEvenement[nIndex].Colonne - 1])
                    {
                        lstEvenement[nIndex].Colonne++;
                        if (lstDernierParColonne.Count < lstEvenement[nIndex].Colonne)
                        {
                            lstDernierParColonne.Add(lstEvenement[nIndex].Fin);
                            bClasse = true;
                        }
                    }
                    else
                    {
                        lstDernierParColonne[lstEvenement[nIndex].Colonne - 1] = lstEvenement[nIndex].Fin;
                        bClasse = true;
                    }
                }
            }
        }

//Affichage

        public void DrawEvenement(Graphics grp)
        {
            SolidBrush brush = new SolidBrush(_clrCouleur);
            Pen pen = new Pen(Color.Black);
            grp.FillRectangle(brush, Parent.Location.X + (Parent.Largeur * (nColonne - 1)), Parent.Location.Y + (_dDebut.Hour * 60 + _dDebut.Minute) * Parent.Echelle / 30 - (Parent.OffSet * 60 * Parent.Echelle / 30), Parent.Largeur, ((_nDuree / 30) * Parent.Echelle));
            grp.DrawRectangle(pen  , Parent.Location.X + (Parent.Largeur * (nColonne - 1)), Parent.Location.Y + (_dDebut.Hour * 60 + _dDebut.Minute) * Parent.Echelle / 30 - (Parent.OffSet * 60 * Parent.Echelle / 30), Parent.Largeur, ((_nDuree / 30) * Parent.Echelle));
        }

//

Conclusion :


ce code ne se préoccupe pas de la date pour le moment meme si j'ai mit a la disposition des ascesseur du type "DateTime" il serrait de bonne augure de le gérer aussi en rajoutant des offsets et des largeurs pour les date comme le montré l'image mais ce n'est en rien qqchs d'obligatoire.

Peut être que j'ameliorerais le graphisme sous peu en utilisant des "brush" degradé avec des couleur un peux plus vives et un quadrillage de fond sur le form pour bien mettre en oeuvre cela mais pour le moment je tenais à apporter une reponse concrete à un pb.
Je vous pris donc de tenir compte de cela avant de m'harponner ^^

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
9
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
7 juillet 2008

si tu as une idee sur comment deposer le calendrier sur l'axe des abscisses et pouvoir le gerer pour colorié pour chaque stagiaire sa durée.
merci.
Messages postés
467
Date d'inscription
lundi 24 juin 2002
Statut
Membre
Dernière intervention
9 mars 2011

et tu attends quoi de ma part que je comprenne parce que la tu veux faire un simple Graphique
Messages postés
9
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
7 juillet 2008

salut,
j'ai deposer une question au forum mais j'ai pas encore eu de reponse je tient a te le demander personellement

c'est que j'ai une application de gestion de stagiaire et dans un etat de sortie j'ai besoin d'afficher les differents stagiaire classer par departement dans l'axe des coordonnees et dans l'axe des abscisses un calendrier ou il est colorié la periode de stage de chaque personne.

si tu peut m'aider stp.
et merci d'avance et excuse moi de t'avoir deranger.
Messages postés
467
Date d'inscription
lundi 24 juin 2002
Statut
Membre
Dernière intervention
9 mars 2011

(hésitez pas à commenter ca mord pas :p)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.