PDA

View Full Version : سوال: ارتباط بین 2 فرم



sr2m72
سه شنبه 09 آبان 1391, 20:39 عصر
سلام.
چطوری میتونم اطلاعات یه فرم رو به یه فرم دیگه انتقال بدم؟

programerinfonet
سه شنبه 09 آبان 1391, 21:23 عصر
کنترلهایی رو که تو فرم دومت هست انتخاب کن و خاصیت modifier رو برابر public قرار بده
بعد تو فرم اولت چنین بنویس

form2 f2=new form2();
f2.textbox1.text="Hello";
f2.showdialog();

hakim22
سه شنبه 09 آبان 1391, 21:23 عصر
حد اقل 4 راه ساده برای اینکار وجود داره.


اول اون مقادیری رو که میخواهیداز فرم اول به فرم دوم انتقال بدید در کلاس فرم دوم به صورت Property تعریف کنید.
بعد در فرم دوم یک متد بنویسید که این مقادیر رو Set کنه .

بعد در فرم اول یک نمونه ی جدید از فرم دوم بسازید
و بعد مقادیر مورد نظر جهت انتقال رو با اون متدی که ساختید set کنید.

بعد فرم رو نشون بدید.

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

sr2m72
سه شنبه 09 آبان 1391, 23:10 عصر
حد اقل 4 راه ساده برای اینکار وجود داره.


اول اون مقادیری رو که میخواهیداز فرم اول به فرم دوم انتقال بدید در کلاس فرم دوم به صورت Property تعریف کنید.
بعد در فرم دوم یک متد بنویسید که این مقادیر رو Set کنه .

بعد در فرم اول یک نمونه ی جدید از فرم دوم بسازید
و بعد مقادیر مورد نظر جهت انتقال رو با اون متدی که ساختید set کنید.

بعد فرم رو نشون بدید.

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

داداش میشه از هر کدوم یه مثالی بزنید؟
آخه من طریقه استفادشون رو نمیدونم.(یعنی چطوری به صورت Property تعریف کنم؟ یا اینکه چطوری مقادیر رو set کنم؟)
اگه زحمتی نیست لطفا نمونه بزارید!
با تشکر

sgh_programer
چهارشنبه 10 آبان 1391, 06:53 صبح
سلام دوست عزیز
من 2 راه بلدم
اول اینکه اگه میخوای وقتی که فرم 2 نمایش داده شد اطلاعات فرم 1 توی فرم2 نمایش داده بشه باید یه جایی مثلا program.cs به تعداد نیاز متغیر عمومی تعریف کنی
public static string Name="";
public static string Fmili="";
..
بعد از این که متغیر ها را تعریف کردی توی فرم 1 به عنوان مثال یک دکمه میذاریم و کد های زیر را مینویسیم
program.Name=Txt_Name.text.tostring();
program.Famili=Txt_Famili.text.tostring();
بعد از این که متغیر ها را مقدار دهی کردی توی فرم لود فرم 2 اینجوی بنویس
فرض بر این که textbox1,textbox2 روی فرم 2 وجود دارند
textbox1.text=program.Name;
textbox2.text=program.Famili;

راه دوم به طور مستقیم از اشیا فرم 2 استفاده کنی
textbox1,textbox2 را در فرم 2 انتخاب کن و از قسمت propertis مقدار Modifiers را به Public تغیر بده و روی فرم 1 به عنوان مثال یه دکمه بذار واین کدها را بنویس
Form2 frm2 = new Form2();
frm2.textBox1.Text =Txt_Name.Text;
frm2.textBox2.Text =Txt_Famili.Text
frm2.Show();

موفق باشی