PDA

View Full Version : نحوه ارسال متغییر از یک فورم به فورم دیگه



NIMA_1981
چهارشنبه 17 فروردین 1390, 12:48 عصر
سلام

میشه بگید چطوری میشه متغییر از یک فورم به فورم دیگه ارسال کرد

با تشکر

vahid.bz
چهارشنبه 17 فروردین 1390, 14:10 عصر
اول يه lable كه رنگش رو همرنگ فورم مقصدت مي كني روش قرار بده بعد modifier اون فورم و lable رو از properties برابر public كن
بعد داخل فورم اولت اينو بنويس :
form2 f = new form2();
f.lable.text = "mystring";

NIMA_1981
پنج شنبه 18 فروردین 1390, 18:06 عصر
فیر از این روش دیگه نیست شاید تغدا متغییر ها زیاد باشه

NIMA_1981
پنج شنبه 18 فروردین 1390, 18:22 عصر
اول يه lable كه رنگش رو همرنگ فورم مقصدت مي كني روش قرار بده بعد modifier اون فورم و lable رو از properties برابر public كن
بعد داخل فورم اولت اينو بنويس :
form2 f = new form2();
f.lable.text = "mystring";

با این روش هم نشد

doostl
پنج شنبه 18 فروردین 1390, 18:33 عصر
با سلام

اگه شما بخواهيد از يک متغير در فرم 1 (مثلا) در فرم 2 يا هر فرم ديگري استفاده کني بايد:

اول خود متغير را public تعريف کني : for example : Public String a = XXX

سپس فرمي که متغير در ان است را پابليک کني که براي اين کار تنها در سر تيتر فرم يه قسمتي اضافه
بکني به صورت مقابل: Public Form1 f1 = new Form1(); f1:Can Be EveryThing

حال بايد در فرم مقصد نيز همين را تعريف کني.

در انتها در قسمتي که مي خواهي متغير را صدا کني به صورت مقابل عمل ميکني:
f1.a = (forExample) textBox1.tex
در اينجا a متغير شما و f1 اسمي که براي تابع مبدا تعريف کرديد.

باتشکر doostl

NIMA_1981
پنج شنبه 18 فروردین 1390, 18:40 عصر
ببین دوست من من 2 تا فرم دارم
فورم 1 که می هوام اطلاعات فورم 2 رو بخونم
فورم 2 کا اطلاعات من اونجا قرار داره

من متغییر رو به صورت پابلیک تغرف کردم اما تو خود فورم 2 که نیمتونم یک نمونه از همون قورم به صورت پابلیک بسازم خطا میده

doostl
پنج شنبه 18 فروردین 1390, 18:51 عصر
- منظورتون و متوجه نمي شم شما مي خايد کل فرم 1 در فرم 2 اجرا بشه؟

اگه مي خايد يک class رو در چند فرم استفاده کني بايد اون class رو پابليک تعريف کن.

اگخ مي خايد يک تابع را در چند فرم استفاده کني بايد مثل تعريف متغير که در بالا اوردم عمل کني.

NIMA_1981
پنج شنبه 18 فروردین 1390, 19:05 عصر
ببنید من توی فورم اول یک کلید دارم که وقتی اون فشار میدی فورمدوم باز میشه که داحل فورم دوم یک تکست باکس هست و یک دکمه حالا می خوام هر عددی که توی این فورم می نویسم و دکمه قبول رو میزنم برگرده تو فورم اول مثلا توی یک تکست باکس نشون بده

doostl
پنج شنبه 18 فروردین 1390, 19:25 عصر
خب ديگه از همون روشي که تو تاپيک اول برات گذاشتم برو فقط اولش textBox رو برابر a قرار بده:

public string a = textBox1.text

فقط تمام دستوراتي که نوشتم برات چون فرم مقصد Form1 بود بايد در کاره تو به Form2 تغيير کند.
فقط همين اگه باز نتونيستي اين ايميله منه : doostl@hotmail.com بعدا درخواست کن برات فايلشم مي نويسم
ولي شرمنده الان بايد برم

مخلص همه برو بچه هاي برنامه نويس doostl

habib_namvar
پنج شنبه 18 فروردین 1390, 19:47 عصر
سلام
به نظر من یک کلاس تعریف کنید که متغییر هایی رو که میخواین, بین فرماتون اطلاعاتو ردو بدل کنن رو, داخلش فراخانی کنید
اون کلاس رو از نوع static تعریف کنید مقدار رو از فرم 2 بهش بفرست بعد داخل فرم 1 اونو به تکستت نسبت بده
اینو ببین
http://up.iranblog.com/images/j27yzfr0xq3w680utcx4.zip

NIMA_1981
پنج شنبه 18 فروردین 1390, 20:59 عصر
habib_namvar افا دستت درد نکنه این خیلی روش خوبی بود مرسی

mmd2009
جمعه 19 فروردین 1390, 03:19 صبح
با سلام.

یکی از بهترین روش های ممکن استفاده از Property هست که مثال زیاد تو انجمن هست و نه Modifire روش خوبیه و نه فراخوانی از یک کلاس و نه استفاده از فیلد های استاتیک. دو روش ساده 1- پراپرتی 2- توابع سازنده

موفق باشید.