PDA

View Full Version : خاموش و روشن شدن چهارضلعی



Mega7000
سه شنبه 15 فروردین 1385, 20:28 عصر
سلام
من یک برنامه نوشتم که می خوام هر بار دو خط مجاور چهارضلعی ام روشن بشه و دو تای دیگر خاموش اما همشون (یعنی 4تایی) روشن می شن.
اشکالم کجاست؟


static void Main()
{
Application.Run(new Form1());
}

private void button1_Click(object sender, System.EventArgs e)
{
bool flag=true;
bool flag2=false;
System.Drawing.Graphics One=this.CreateGraphics();

do
{
if(flag)
{
One.DrawLine(new Pen(Color.Goldenrod,4),50,30,300,30);
One.DrawLine(new Pen(Color.Gold,2),50,31,300,31);
One.DrawLine(new System.Drawing.Pen(Color.Gold,2),50,30,50,200);

}//end if
flag=!flag;



if(flag2)
{
One.DrawLine(new Pen(Color.Goldenrod,4),300,30,300,200);
One.DrawLine(new System.Drawing.Pen(Color.Gold,2),50,200,300,200);

}
flag2=!flag2;
}while(flag | flag2);
}
}
}

m-heidari
پنج شنبه 17 فروردین 1385, 15:48 عصر
سلام دوست خوبم.

اسن کد رو امتحان کن اما قول نمیدم کار کنه چون الان شمال هستم دات نت ندارم امتحان کن :



Graphics Gr = this.CreateGraphics();
Gr.Clear(this.BackColor);
if (bln)
{
Gr.DrawLine(Pens.Blue,50,50,50,150);
Gr.DrawLine(Pens.Blue,50,50,150,50);
}
else
{
Gr.DrawLine(Pens.Blue,150,50,150,150);
Gr.DrawLine(Pens.Blue,50,150,150,150);
}


البته اینو بگم که تو باید این کد رو داخل یک Event مثل Click یک Button قرار بدی و در ضمن هر بار که Event اجرا میشه مقدار برعکس bln رو که یک مقدار از نوع bool هست دوباره به bln بدی که این رو هم اینطوری میشه داد.



bln=!bln


و این دستور رو بالای همه دستورات که تو Event نوشتی بنویسی.

موفق باشی