PDA

View Full Version : حرفه ای: کلاسهای حرفه ای در سی شارپ C# Professional Class



soaleman
جمعه 19 فروردین 1390, 01:50 صبح
سلام

لطفاً در طراحی این کلاس کمکم کنید

شرح کار اینه

من روی فرم چند تا EditBox و چند تا Combo و چیزهای دیگه دارم و کلاسی رو که تعریف کردم چند تا متد داره:
1- Save : که اطلاعات روی فرم رو تو بانک ذخیره میکنه
2-Update : که تغییر اطلاعات را بروزرسانی میکنه
3- Load : که فرم رو با اخرین اطلاعت بروز رسانی می کنه
و چندین متد دیگه
حالا اگه بخوام مثلا متد Save رو صدا بزنم باید تمام EdtBoxو Combo و .. رو به کلاس پاس بدم تا تو متد از اطلاعاتشوت برای ذخیره استفاده کنم
مثلاً اینطوری
Person.Save(txtNo,TxtName,TxtFamily,CmbCity,CmbMar ried);//Save
و برای Update و غیره هم به شکل زیر
Person.Update(txtNo,TxtName,TxtFamily,CmbCity,CmbM arried);//Update
Person.LoadInfo(txtNo,TxtName,TxtFamily,CmbCity,Cm bMarried);//Load
و کلاس رو اینطور تعریف میکنم
PersonClass Person = New PersonClass();//Define
حالا می خوام بدونم چطور میشه تو فرم همون ابتدا کلاسم رو Public تعریف کنم و همه آرگومان ها را به اون پاس بدم مثال زیر
PersonClass Person = New PersonClass(txtNo,TxtName,TxtFamily,CmbCity,CmbMar ried);;//Define
البته این رو بگم این کار رو من در Eventsها میتونم انجام بدم و فقط به فقط مشکلم در اینه که بتونم خط قبل رو Public تعریف کنم که تو همه Events ها بشه فقط متد رو صدا زد مثل این
Person.Save();//Save
و با هر بار صدا زدن متد مجبور نباشم کل آرگومان ها رو پاس بدم.
ممنون و متشکر از اینکه به این موضوع توجه کردید.

محسن شامحمدی
جمعه 19 فروردین 1390, 09:23 صبح
پیشنهاد من:
توی کلاست چندتا فیلد داشته باش بشکل زیر
و تمامی متدها اعم از insert,delete,... بتونن از اون متغیرها استفاده کنن
حالا تو از توی فرمت فقط یک بار این فیلدها رو مقدار دهی می کنی و بایکبار مقدار دهی می تونی از تمامی متدهای کلاس بهره مند بشی
نمونه ساده:

class database
{
public textbox Txt1;
public textbox Txt2;

public void Save
{
//save txt1 and txt2 to database
}

public void Update
{
//Update txt1 and txt2 in database
}
}

soaleman
شنبه 27 فروردین 1390, 01:21 صبح
سلام خدمت دوست عزيز
از شما از بابت کمکتون ممنون و متشکرم

اين بار خدمت شما دوستان عزيز رسيدم با يک سوال ديگه و سوال اينه که:

زماني که يک فرم طراحي مي شه و اجرا ميکنيم همه چيز مرتبه و وقتي برنامه به يک سيستم ديگه که منتقل ميشه و تنظيمات کارت گرافيکش فرق ميکنه مخصوصا وقتي که مانيتور LCD اونم Width باشه اون وقته که جاي تمام اشياء روي فرم بد ترکيب ميشه و بخش زيادي از فرم خالي ميمونه و نمي دونم چطور ميشه در اين جابجائي اشيا روي فرم متناسب در روي فرم قرار بگيرند


لطفاً اگه راهي بلديد کمکم کنيد
ممنون از همه شما

Directx
سه شنبه 30 فروردین 1390, 22:18 عصر
دوست عزیز در جواب سوال اول شما باید گفت که شما باید property یا چند تا فیلد تو کلاست بذاری و یک یا چند تا constructor برا کلاست تعریف کنی
در جواب سول دوم شما باید گفت که شما می تونید اندازه screen رو بگیرید و اندازه هاتون رو با توجه به اون ست کنی ولی پیشنهاد من اینه که اندازه تون را با توجه به حداقل ها تعیین کنید تا به مشکل بزرگ بودن فرم برنامه یا بدریخت شدن بر خورد نکنید

soaleman
سه شنبه 30 فروردین 1390, 23:22 عصر
دوست عزیز در جواب سوال اول شما باید گفت که شما باید property یا چند تا فیلد تو کلاست بذاری و یک یا چند تا constructor برا کلاست تعریف کنی
در جواب سول دوم شما باید گفت که شما می تونید اندازه screen رو بگیرید و اندازه هاتون رو با توجه به اون ست کنی ولی پیشنهاد من اینه که اندازه تون را با توجه به حداقل ها تعیین کنید تا به مشکل بزرگ بودن فرم برنامه یا بدریخت شدن بر خورد نکنید

سلام دوست عزیز

از بابت توجه شما ممنونم
و همچنین از جواب سوال اول سپاسگذار
اما در مورد سوال دوم با توجه به برنامه هائی که وجود داره و مقایسه میکنیم باید بگم حتما باید راه بهتری باشه
چون من از فرمهای والدین و فرزندان استفاده میکنم و اکثر اونها باید تمام صفحه باشند به همین خاطر از سیستم به سیستم دیگه خیلی زشت و بدریخت میشند.
لطفا اگه کسی بلده کمکم کنه
با سپاس

rt3073
چهارشنبه 31 فروردین 1390, 22:16 عصر
هر شیئی که به فرم اضافه می کنی مثلا TextBox , ... یه property به اسم Anchor دارن که باهاش میشه تنظیم کرد این شی نسبت به فرم چه وضعیتی داشته باشه. نمی دونم این کمکی می کنه یا نه.