PDA

View Full Version : سوال: مشکل در تعریف کلاس



matf2009
سه شنبه 20 مهر 1389, 14:29 عصر
سلام خدمت دوستان
من یه برنامه دارم که تو فرم اولم چند تا دکمه وجود داره و هر کدوم رو که کلیک میکنیم باید تو پنل فرم دومم یه شکلی رو بکشه مثلا یه سری خط یا یه منحنی حالا میخوام این کار رو با کلاس انجام بدم یعنی یه کلاس تعریف کنم که این کار رو انجام بده
ممنون میشم راهنماییم کنید

mmd2009
سه شنبه 20 مهر 1389, 14:59 عصر
با سلام

یک نمونه مثال براتون میزنم برای تغییر شکل فرم. شما دیگه هر طوری که دوست داری میتونی ازش استفاده بکنی :

کدهای درون کلاس :



/// <summary>
/// متدی برای ارسال شکل گرافیکی به فرم برنامه
/// </summary>
/// <returns>یک شکل گرافیکی</returns>
public GraphicsPath Re(Button bt)
{
GraphicsPath myGraphicsPath = new GraphicsPath();
if (bt.Name == "button2")
{
myGraphicsPath.AddEllipse(0, 0, 320, 200);
return (myGraphicsPath);
}
else if (bt.Name == "button3")
{
Point[] myArray =
{
new Point(10, 100),
new Point(40, 80),
new Point(60, 160),
new Point(80, 30),
new Point(100, 50),
new Point(100, 150),
new Point(140, 120)
};
myGraphicsPath.AddBeziers(myArray);
return (myGraphicsPath);
}
else
{
return (null);
}
}


کدهای درون فرم :



/// <summary>
/// دکمه هایی برای تغییر حالت فرم با استفاده از خود دکمه ها
/// برای ارسال ورودی به کلاس و گرفتن خروجی
/// </summary>
Class1 cl = new Class1();
private void button2_Click(object sender, EventArgs e)
{
this.Region = new Region(cl.Re(button2));
}

private void button3_Click(object sender, EventArgs e)
{
this.Region = new Region(cl.Re(button3));
}



اگر کدی رو متوجه نشدی بگو برات توضیح میدم ولی قبلش خودمم یک توضیح میدم.

ببینید این کد که تو کلاس نوشته شده وردی یک دکمه است که هر دکمه یک اسم داره. مثلا دکمه شماره 2 رو میزنی از داخل فرم و اون میره تو کلاس و وقتی رفت تو کلاس چک میکنه اسمش چیه و اگر اسمش دقیقا اون چیزی بود که نوشته شده و ما هم از قبل براش مشخص کردن فرم رو به صورت یک فرم گرد نشون میده.

موفق باشید