public override object Clone()
        {
            TextAndImageColumn c = base.Clone() as TextAndImageColumn;

            c.imageValue = this.imageValue;
            c.imageSize  = this.imageSize;

            return(c);
        }
        private void BuildColumns()
        {
            DataGridViewColumn column;

            _dataGridViewPreview.Columns.Clear();
            for (int i = 0; i < 90; i++)
            {
                column            = new TextAndImageColumn();
                column.Name       = "Day" + i;
                column.HeaderText = string.Format("{0}\r\n{1}", _startDate.AddDays(i).DayOfWeek.ToString().Substring(0, 3), _startDate.AddDays(i).Day);
                column.Width      = 30;
                column.Tag        = _startDate.AddDays(i);
                column.SortMode   = DataGridViewColumnSortMode.NotSortable;
                if (_startDate.AddDays(i).DayOfWeek == DayOfWeek.Saturday || _startDate.AddDays(i).DayOfWeek == DayOfWeek.Sunday)
                {
                    column.DefaultCellStyle.BackColor = System.Drawing.Color.LightGray;
                }
                _dataGridViewPreview.Columns.Add(column);
            }
        }