g2gayan -4 Junior Poster in Training

hello Experts ;-)\
im c# newbie and im working on my school project ...

i need to develop a custom sheduler control,, it will have DAYS on "X" Axis and CLASSES No on "Y" Axix

.... i already have developed a dragable element to place shedules but i cant figure out how to
create a grid with a sheduler ,,

here is my sample code

namespace resize8
{
    public partial class Form1 : Form
    {
        int startp = 0;
        int stt = 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
         
        }
        private void setlocation()
        {
            pbmove.Left = ((pbbar.Right + pbbar.Left - 20) / 2);
            pbl.Left = pbbar.Left;
            pbr.Left = pbbar.Right - 12;
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            setlocation();
            startp = pbbar.Left;
        }

        private void pbr_MouseDown(object sender, MouseEventArgs e)
        {
            stt = 1;

        }

        private void pbr_MouseUp(object sender, MouseEventArgs e)
        {
            stt = 0;
            snap();
        }

        private void pbl_MouseUp(object sender, MouseEventArgs e)
        {
            stt = 0;
            snap();
        }

        private void pbl_MouseDown(object sender, MouseEventArgs e)
        {
            stt = 2;
        }

        private void pbmove_MouseDown(object sender, MouseEventArgs e)
        {
            stt = 3;
        }

        private void pbmove_MouseUp(object sender, MouseEventArgs e)
        {
            stt = 0;
            snap2();

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            label2.Text = pbbar.Width.ToString();
            label1.Text = stt.ToString();
        }

        private void pbr_MouseMove(object sender, MouseEventArgs e)
        {
            if (stt==1)
            {
                if  (pbbar.Width>40 || e.X>0)
                pbbar.Width =pbr.Right + e.X -pbbar.Left;
                setlocation();
                label1.Text = e.X.ToString();
            }
        }

        private void pbl_MouseMove(object sender, MouseEventArgs e)
        {
            if (stt == 2)
            {
                if (pbbar.Width > 40 || e.X < 0)
                pbbar.Left =  pbbar.Left + e.X;
                pbbar.Width = pbbar.Width - e.X;
                setlocation();
                label1.Text = e.X.ToString();
            }
        }

        private void pbmove_MouseMove(object sender, MouseEventArgs e)
        {
            if (stt == 3)
            {
                pbbar.Left = pbbar.Left + e.X;
                setlocation();
                label1.Text = e.X.ToString();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            trackBar1.Maximum++;
        }
        private void snap()
        {
            int size1 = (pbbar.Width / 40);
            int size2 = pbbar.Width % 40;
            if (size2 > 20)
            {
                size1 = size1 + 1;
            }
            pbbar.Width = size1 * 40;
            setlocation();
            MessageBox.Show(size1.ToString() + "  days");
            snap2();
        }
        private void snap2()
        {
            int x1 = (pbbar.Left / 40);
            int x2 = pbbar.Left % 40;
            if (x2 > 20)
            {
                x1 = x1 + 1;
            }
            pbbar.Left = x1 * 40;
            setlocation();
           // MessageBox.Show(size1.ToString() + "  days");

        }

        private void button3_Click(object sender, EventArgs e)
        {
            Form2 xxx = new Form2();
           
         //   xxx.Modal = true;
            xxx.ShowDialog();
        }
    }
}

i want to intergrate this or a better 1 with a sheduler control to my system ,, a highly customizable 1 ...
i think the experts might help me out :)

Thank you !
~ G2gayan