PDA

View Full Version : سوال: نحوه پاس دادن اطلاعات فیلد بین دو فرم از طریق prtoperty



isolate
سه شنبه 24 تیر 1399, 04:11 صبح
سلام دوستان
من دوتا فرم دارم که میخوام مقدار فیلد توی فرم اول رو از طریق property ، به فرم دوم پاس بدم
اما مشکل اینجاست که مقدار null رو برمیگردونه ..
دوستان اگه میشه لطفا با توجه عکس ، کمکم کنید !
ممنون


151925151926151927151928
توضیحات اضافه :
عکس 1 : مقدار مورد نظر رو توی متغیر id ذخیره کردم
عکس 2: id رو قبلا در سطح کلاس تعریف کردم
عکس 3 : یک property تعریف کردم
عکس 4 : توی فرم دوم یک شی از کلاس فرم اول ایجاد کردم و بعدم به property دسترسی پیدا کردم از این طریق( اما مقدار null برمیگردونه .. اسیر شدم:عصبانی++:)

ShayanFiroozi
سه شنبه 24 تیر 1399, 08:04 صبح
سلام دوست گرامی ،

بهتره از طریق یه آرگومان این کار رو کنین نه Property.

اینکار رو باید در تابع سازنده یا Constructor کلاس Form2 انجام بدین.

در حالت پیش فرض فرم ها موقع Initialize با ساخته شده آرگومانی دریافت نمیکنند ولی شما میتونین اینو تغییر بدین.





public Form2()
{
InitializeComponent();
}


شما به این شکل تغییرش بدین :



public Form2(int MyID)
{
InitializeComponent();
}



و حالا موقع فراخوانی Form2 به جای :


new Form2().ShowDialog();




از این استفاده کنین ، مثلا عدد 2400 رو به فرم 2 پاس میدیم.





new Form2(2400).ShowDialog();






و اونجا تو تابع سازنده یا Constructor میتونین از اون استفاده کنین.

isolate
سه شنبه 24 تیر 1399, 21:47 عصر
سلام دوست گرامی ،

بهتره از طریق یه آرگومان این کار رو کنین نه Property.

اینکار رو باید در تابع سازنده یا Constructor کلاس Form2 انجام بدین.

در حالت پیش فرض فرم ها موقع Initialize با ساخته شده آرگومانی دریافت نمیکنند ولی شما میتونین اینو تغییر بدین.





public Form2()
{
InitializeComponent();
}


شما به این شکل تغییرش بدین :



public Form2(int MyID)
{
InitializeComponent();
}



و حالا موقع فراخوانی Form2 به جای :


new Form2().ShowDialog();




از این استفاده کنین ، مثلا عدد 2400 رو به فرم 2 پاس میدیم.





new Form2(2400).ShowDialog();






و اونجا تو تابع سازنده یا Constructor میتونین از اون استفاده کنین.






ممنون بابت وقتی که گذاشتید ! همینکار رو کردم درست شد . :قلب: