PDA

View Full Version : رسم خط



aliakbar2152
شنبه 06 بهمن 1397, 21:12 عصر
سلام دوستان.بنده دارم تو سی شارپ(ویژوال 2015)برنامه ای مینویسم که یک فرم داره و تو بک گروند فرم عکسی گذاشتم که سه تا توش نمودار داره که با یک فاصله کنار هم هستن (هر نموداری با اعدادی تقسیم بندی شده).حالا می خوام هر وقت که از دو تا نمودار اعدادش رو داشته باشم. با کلیک روی اولین عدد روی یک نمودار و بعد دومین عدد روی نمودار بعدی خط تشکیل بشه و ادامه اون از نمودار سوم بگذره که من طلاقی عدد رو بخونم

alexmcse
یک شنبه 07 بهمن 1397, 14:52 عصر
سلام کسی نیست که تو حل این مسئله کمکم کنه!؟

دوست عزیز عکس بگذار بهتر میشود راهنمایی کرد

aliakbar2152
یک شنبه 07 بهمن 1397, 21:38 عصر
149685
این عکس سه تا نمودار که روش اعداد فعلا درج نشده

ازسمت چپ.نمدار اول a دومbوسومی c است.اگه دو نقطه از نمدار های aوb راداشته باشم.با کلیک کردن روی نقطه اول مربوط به aو بعد روی نقطه مربوط به نمودار b. با زدن دکمه اجرا خطی از نمودارa(اولین نقطه) کشیده بشه که از روی نقطه دوم روی نمودار b عبور کنه و با همان شیب امتداد آن به سمت نمودار c ادامه داده بش
ه که اگر نمودار c را قطع کنه من نقطه طلاقی را بخونم.
ممنونم که سوالمو پاسخ بدید

alexmcse
دوشنبه 08 بهمن 1397, 01:54 صبح
خط بین a , b کشیده میشود

private bool b; private Point p1 = new Point(); private Point p2 = new Point(); private bool bp1 = true;
private bool bp2 = false;
private void button1_Click(object sender, EventArgs e)
{
b = true;

Form9_Paint(null, new PaintEventArgs(CreateGraphics(),this.Bounds ));
}


private void Form9_Paint(object sender, PaintEventArgs e)
{

e.Graphics.DrawLine(new Pen(Color.Red), new Point(100, 100), new Point(100, 300));
e.Graphics.DrawLine(new Pen(Color.Blue), new Point(200, 100), new Point(200, 400));
e.Graphics.DrawLine(new Pen(Color.Brown), new Point(300, 100), new Point(300, 500));


if (b)
{
e.Graphics.DrawLine(new Pen(Color.YellowGreen ), p1, p2 );


}
}





private void Form9_MouseClick(object sender, MouseEventArgs e)
{

if (bp1)
{
p1.X = e.Location.X;
p1.Y = e.Location.Y;
bp1 = false;
bp2 = true;
return;
}


if (bp2)
{


p2.X = e.Location.X;
p2.Y = e.Location.Y;
bp1 = true ;
bp2 =false ;
}


}

aliakbar2152
چهارشنبه 10 بهمن 1397, 16:40 عصر
ممنون که پاسخ دادید