using System.Drawing;
using System.Windows.Forms;
namespace Developpez.Dotnet.Windows.Forms
{
    /// 
    /// Représente la méthode qui gère l'évènement ItemStyle
    /// 
    /// Contrôle qui a déclenché l'évènement
    /// Paramètres de l'évènement
    public delegate void ItemStyleEventHandler(object sender, ItemStyleEventArgs e);
    /// 
    /// Paramètres de l'évènement ItemStyle
    /// 
    public class ItemStyleEventArgs
    {
        /// 
        /// Initialise une nouvelle instance de ItemStyleEventArgs
        /// 
        /// Les paramètres de dessin de l'élément
        /// La valeur de l'élément sélectionné
        public ItemStyleEventArgs(DrawItemEventArgs e, object value)
        {
            State = e.State;
            Index = e.Index;
            Value = value;
            BackColor = e.BackColor;
            ForeColor = e.ForeColor;
            Font = e.Font;
        }
        /// 
        /// Obtient ou définit la couleur de fond à utiliser pour l'élement
        /// 
        public Color BackColor { get; set; }
        /// 
        /// Obtient ou définit la couleur de texte à utiliser pour l'élement
        /// 
        public Color ForeColor { get; set; }
        /// 
        /// Obtient ou définit la police de caractères à utiliser pour l'élement
        /// 
        public Font Font { get; set; }
        /// 
        /// Obtient l'état de l'élément
        /// 
        public DrawItemState State { get; private set; }
        /// 
        /// Obtient l'index de l'élément
        /// 
        public int Index { get; private set; }
        /// 
        /// Obtient la valeur de l'élément
        /// 
        public object Value { get; private set; }
    }
}