IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Mettre une couleur de fond à des dates.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Par défaut Mettre une couleur de fond à des dates.
    Bonjour a tous,

    Je cherche désespérément a mettre de la couleur dans mon contrôle monthCalendar. Je vous explique: A l'ouverture de ma fenêtre je charge le monthCalendar (mcBooking3) avec les valeurs de ma table Booking. J'arrive a récupérer ces valeurs et à mettre la plage de date (date de début jusqu'a la date de fin) en gras. Cependant, je voudrais en plus de la plage de date en gras, la mettre en couleur pour une lecture plus facile. Exemple: lorsque vous sélectionner une date sur un controle monthCalendar, la date sélectionné est en bleu. J'aimerais faire la meme chose mais pour ma plage de date.

    J'ai recherché sur le net, mais je n'ai rien trouvé. Pouvez-vous m'aider?
    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    private void frmBooking_Load(object sender, EventArgs e)
            {
                //string pathBdd = Path.Combine(Application.StartupPath, "dbShelter.sdf"); //récupére le chemin du .sdf
                string pathBdd = @"Data Source=|DataDirectory|\dbShelter.sdf;Password=;Persist Security Info=True";
     
                try
                {
                    clConnexionBdd.Init(pathBdd);
                    SqlCeCommand cmd = clConnexionBdd.PreparerCommande("SELECT DateBegin, DateEnd, ChoiceShelter FROM Booking");
     
                    SqlCeDataReader rdr = cmd.ExecuteReader();
                    Object[] row = null;
                    while (rdr.Read())
                    {
                        if (row == null)
                        {
                            object vDate1 = rdr.GetValue(0);
                            object vDate2 = rdr.GetValue(1);
                            object vShelter = rdr.GetValue(2);
     
                            if (Convert.ToString(vShelter) == "Gîte - La garderie -")
                            {
                                DateTime cur3;
                                List<DateTime> bold = new List<DateTime>();
                                DateTime myVacation1 = Convert.ToDateTime(vDate1);
                                DateTime myVacation2 = Convert.ToDateTime(vDate2);
                                cur3 = myVacation1;
                                while (cur3 <= myVacation2)
                                {
                                    bold.Add(cur3);
                                    cur3 = cur3.AddDays(1.0);
                                }
                                DateTime[] vacationDates = bold.ToArray();
                                mcBooking3.BoldedDates = vacationDates;
                            }
                        }
                    }
                    rdr.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show(this, x.Message, "Erreur: Connexion à la base (frmBooking)", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Close();
                }
            }
    Cordialement.

  2. #2
    Membre chevronné Avatar de blade159
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 226
    Par défaut
    bonjour,

    tu peux utiliser la propriété SelectionRange de ton MonthCalendar. Il faut contrôler que ta réservation ne dépasse pas 7 jours, sinon il faut aussi modifier ton MaxSelectionCount

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Par défaut
    Merci pour ta réponse,

    Cependant, comment puis-je faire pour mettre en couleur la plage de date? Car la propriété SelectionRange permet de sélectionner une plage de date.

    Merci pour ton information.
    Cordialement.

Discussions similaires

  1. [Débutant] Mettre une couleur de fond [C#]
    Par Rosees dans le forum C#
    Réponses: 7
    Dernier message: 30/10/2013, 21h08
  2. [WD12] Mettre une couleur de fond dans un champ d'un etat
    Par galsen.quebec dans le forum WinDev
    Réponses: 2
    Dernier message: 01/06/2011, 15h08
  3. Mettre une couleur de fond à une zone de saisie.
    Par supertoms dans le forum IHM
    Réponses: 1
    Dernier message: 19/04/2008, 18h40
  4. Réponses: 6
    Dernier message: 20/09/2007, 06h26
  5. Je n'arrives pas a mettre une couleur de fond
    Par metalcoyote dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 03/05/2007, 17h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo