Hi all,
Im having some problem in my application .i want to take input of tasks and preceding activities. What I want to do is to draw circles for the given number of tasks and connect them according to their preceding activities.e.g, if user input 1,2 for preceding activity 3 then it connects tasks 1 and task2. I have drawn the circles but have problem in connecting them. here’s my code..
protected void Button1_Click(object sender, EventArgs e)
{
//values of textboxes stored in array
ArrayList tasks = new ArrayList();
tasks.Add(Task1TB.Text);
tasks.Add(Task2TB.Text);
tasks.Add(Task3TB.Text);
//Preceding activities stored in array
ArrayList pa = new ArrayList();
pa.Add(PA1TB.Text);
pa.Add(PA2TB.Text);
pa.Add(PA3TB.Text);
Bitmap Bmp1;
Graphics Gfx;
Bmp1 = new Bitmap(600, 500);
Font Fnt;
int intFontSize = 16;
Fnt = new System.Drawing.Font("Arial", intFontSize, FontStyle.Bold);
int xpos = 50;
int ypos = 50;
int xpos2 = 50 + 10 * 2;
int ypos2 = 50 + 10 % 2;
//draw circles for each task
for (int i = 1; i <= tasks.Count; i++)
{
Gfx = Graphics.FromImage(Bmp1);
Gfx.DrawString("Task" + i, Fnt, Brushes.White, xpos - 10 * 2, ypos - 10 * 2);
Gfx.DrawEllipse(Pens.DarkOrange, xpos, ypos, 75, 75);
xpos = xpos + 80;
ypos = ypos + 90 * 2;
//checks preceding activity and draws line accordingly
//e.g. if task2 depands on task1 a line coonects from tasks2 to task1.
//if task3 depends on task2 and task1 then task3 connects to task2 and task1
if (pa[2] == "1")
{
Gfx.DrawLine(Pens.White, xpos, ypos, xpos2, ypos2);
}
}
Bmp1.Save(Response.OutputStream, ImageFormat.Gif);
}