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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
public void AddDayAppointement(DataGridViewCellPaintingEventArgs e, Appointment app)
{
double rowDebut = (app.heureDebut - Calendrier.heurDebutJourne) * 2;
double yRow = rowDebut - Math.Floor(rowDebut);
rowDebut = Math.Floor(rowDebut);
double nbCellHeight = (app.heureFin - app.heureDebut) / 0.5;
//MessageBox.Show(nbCellHeight.ToString());
//merge the cell[1,1] and cell[2,1]
if (e.RowIndex == rowDebut)
{
if (e.ColumnIndex == 1)
{
e.PaintBackground(e.ClipBounds, true);
Rectangle r = e.CellBounds;
//Rectangle r2 = e.CellBounds;
Rectangle r1 = this.GetCellDisplayRectangle(2, 1, true);
r.Width = r.Width / 2;
r.Height = (int)(r1.Height * nbCellHeight - 1);
//r2.Width = r2.Width / 2;
//r2.Height += r1.Height / 2 - 1;
//r2.Y = (int)(e.CellBounds.Y + e.CellBounds.Height*yRow);
using (SolidBrush brBk = new SolidBrush(Color.FromArgb(50, 0, 0, 255)))
using (SolidBrush brFr = new SolidBrush(e.CellStyle.ForeColor))
{
SolidBrush br = new SolidBrush(Color.FromArgb(50, 0, 255, 0));
e.Graphics.FillRectangle(brBk, r);
//r2.X = r.X + r.Width;
//e.Graphics.FillRectangle(br, r2);
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString("cell merged", e.CellStyle.Font, brFr, r, sf);
}
e.Handled = true;
}
}
else
{
if (e.ColumnIndex == 1 && e.RowIndex>0 )
{
using (Pen p = new Pen(this.GridColor))
{
e.Graphics.DrawLine(p, e.CellBounds.Left, e.CellBounds.Bottom - 1,
e.CellBounds.Right, e.CellBounds.Bottom - 1);
e.Graphics.DrawLine(p, e.CellBounds.Right - 1, e.CellBounds.Top,
e.CellBounds.Right - 1, e.CellBounds.Bottom);
}
e.Handled = true;
}
}
} |
Partager