PDA

View Full Version : رسم یک خط بر روی فرم از درون یک کلاس



milad.biroonvand
جمعه 20 آبان 1390, 09:18 صبح
من یک کلاس بصورت زیر دارم : حالا می خوام وقتی یه نمونه از کلاس ساختم و متذ را فراخوانی کردم ، یک خط بر روی فرم کشیده بشه . این کار به چه صورت انجام میشه .



public partial class draw3d :Form
{

public Graphics Draw()
{
Graphics go;


go = this.CreateGraphics();
Pen penb1 = new Pen(System.Drawing.Color.Blue, 2);
Pen penb2 = new Pen(System.Drawing.Color.Green, 3);
Pen penb3 = new Pen(System.Drawing.Color.Blue, 4);
go.DrawLine(penb1, 50, 50, 200, 50);

{

{

draw3d mydraw = new draw3d();
go= mydraw.DrawTwo();

milad.biroonvand
جمعه 20 آبان 1390, 09:19 صبح
نکته )
یادتون باشه که این خط نحوه ی نمونه گیری از این کلاس هست .


draw3d mydraw = new draw3d(); go= mydraw.DrawTwo();

jeson_park
جمعه 20 آبان 1390, 09:20 صبح
چرا از فرم ارث بری کرده؟؟ :اشتباه:
با خود سی شارپ انجام بدین


Pen pen = new Pen(Color.FromArgb(255, 0, 0, 0)); e.Graphics.DrawLine(pen, 20, 10, 300, 100);

milad.biroonvand
جمعه 20 آبان 1390, 09:22 صبح
من ، زیاد با سی شارپ کار نکردم ، اگه راه حلی خودت به ذهنت می خوره بگو ، من می خوام یه تابع در یک کلاس داشته باشم و با استفاده از اون یک خط رو بر روی فرم بکشم .

jeson_park
جمعه 20 آبان 1390, 09:25 صبح
من ، زیاد با سی شارپ کار نکردم ، اگه راه حلی خودت به ذهنت می خوره بگو ، من می خوام یه تابع در یک کلاس داشته باشم و با استفاده از اون یک خط رو بر روی فرم بکشم .
بابا خود سی شارپ داره :عصبانی++:
وقتی خودش داره چرا می خواید دوباره بنویسید؟؟
َباید با رویداد paint فرم کار کنید


private void Form1_Paint(object sender, PaintEventArgs e) { System.Drawing.Graphics graphicsObj; graphicsObj = this.CreateGraphics(); Pen myPen = new Pen(System.Drawing.Color.Red, 5); graphicsObj.DrawLine(myPen, 20, 20, 200, 210); }

milad.biroonvand
جمعه 20 آبان 1390, 09:27 صبح
ببین زیاد خودتو عصبانی نکن ، من خودم هم می دونم که از تو خود فرم میشه ، ولی نیاز دارم که از تو کلاس فراخوانی بشه .

jeson_park
جمعه 20 آبان 1390, 09:30 صبح
ببین زیاد خودتو عصبانی نکن ، من خودم هم می دونم که از تو خود فرم میشه ، ولی نیاز دارم که از تو کلاس فراخوانی بشه .
ببین دوست عزیزشما خودت نمی دونی داری چی می گی
از توی کلاس فراخونی بشه یعنی چی؟؟
به قبلی من نگاه کنید
Pen
Graphics
انیها همه کلاس هستند!

milad.biroonvand
جمعه 20 آبان 1390, 09:36 صبح
اینقد می دونم که کلاس چیه ،منظورم اینه که ، متد کلاس جدید که ساختیم ، بتونه اشکال دیگه ای رو به فرم ها اضافه کنه .

AliRezaPro
جمعه 20 آبان 1390, 09:50 صبح
using System.Windows.Forms;

namespace TestProject
{
class TestPaints
{
public void DrawLineFloat(PaintEventArgs e)
{
// Create pen.
Pen blackPen = new Pen(Color.Black, 3);
// Create coordinates of points that define line.
float x1 = 100.0F;
float y1 = 100.0F;
float x2 = 500.0F;
float y2 = 100.0F;
// Draw line to screen.
e.Graphics.DrawLine(blackPen, x1, y1, x2, y2);
}
}
}



private void Form1_Paint(object sender, PaintEventArgs e)
{
TestPaints t = new TestPaints();
t.DrawLineFloat(e);
}

milad.biroonvand
جمعه 20 آبان 1390, 12:52 عصر
ببین دوست عزیزشما خودت نمی دونی داری چی می گی
از توی کلاس فراخونی بشه یعنی چی؟؟
به قبلی من نگاه کنید
Pen
Graphics
انیها همه کلاس هستند!

سلام

دنبال راهی بودم که در زیر معرفی کردن ، من اینکارو تو وبی دات نت انجام داده بودم ، ولی تو سی شارپ نه . متوجه شدین .