PDA

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



salehsam
یک شنبه 08 دی 1392, 20:28 عصر
سلام دوستان
من چند تا فرم دارم که همشون یک متغیر دارن و توی همه اونها با زدن کلیک وارد فرم A میشن
فرم A به متغیرهای اون فرم ها دسترس داره
توی فرم A یک متغیر تعریف کردم که اسم فرمی که از اونجا بازش کردیم رو ذخیره میکنه
حالا میخوام بدونم چجوری میشه به متغیر اون فرمی که ازش اومدیم دسترسی داشته باشیم؟
ممنون

AliSaeedi_v
یک شنبه 08 دی 1392, 20:48 عصر
از نوع public تعریف کن میشه.
public int n;

salehsam
یک شنبه 08 دی 1392, 20:52 عصر
درسته
من با یک فرم مشکلی ندارم
مشکل من اینه که چند تا فرم هست و نمیدونم چجوری بفهمم از کدوم فرم اومدم که اطلاعات رو بهش برگشت بدم!

mahdi.compute
یک شنبه 08 دی 1392, 22:34 عصر
برو تو program.cs و متغیر رو اونجا به صورت پابلیک تعریف کن !

salehsam
یک شنبه 08 دی 1392, 23:29 عصر
ممنون
ولی من با متغیر مشکلی ندارم!
من میخوام اسم فرمی که ازش اومدیم تو فرم A ذخیره بشه و موقع بستن متغیر اون فرم رو مقدار دهی کنه!

immortalsoull
دوشنبه 09 دی 1392, 00:22 صبح
دوست عزیز شما خیلی راحت می تونین این کار رو انجام بدین که بفهمین از چه فرمی به فرم A اومدین ...
به این صورت :

Form1 f1 = new Form1();
f1.Show();
this.Hide();
f1.Text = this.Text;

این جا Form1 همان فرم اصلی شما یعنی A هستش .

درضمن من قسمت دوم سئوال شما را نفهمیدم لطفا دوباره توضیح دهید .

موفق باشید

mousa1992
دوشنبه 09 دی 1392, 00:41 صبح
سلام
خیلی ساده میتونی name و یا هر مشخصه ی دیگه ای که توی فرمهاتون یکتا هست رو از نمونه ای که به فرم a ارسال کردید بگیرید و تصمیم گیری ها رو انجام بدین
درسته که هر فرمی که فرم a رو باز می کنه توی فرم a به عنوان فرم شناخته میشه ولی مشخصه های یکتای خودشون رو دارن که یکی از اونا name فرم هست و از اونجا بر اساس نام فرم فراخواننده cast رو انجام میدین و به متغیر هاش دسترسی پیدا می کنید

و البته راهی رو که اقای immortalsoull ارائه کردند هم درسته

موفق باشید

Mahmoud.Afrad
چهارشنبه 11 دی 1392, 14:33 عصر
میتونی Parent فرم جدید را روی فرم قبلی تنظیم کنی.
در اینصورت در فرم جدید از طریق this.Parent به فرم قبلی دسترسی داری.

hmbarnamenevis
چهارشنبه 11 دی 1392, 14:43 عصر
خود به خود با باز کردن فرمی به صورت ShowDialog کد برنامه متوقف می شود و بعد از این کد می توانید مقدار خروجی در فرم A را در فرم خود استفاده کنید. مثلا اگر در یکی از سه فرم باشید:
موقع باز کردن فرم A:
new A().ShowDialog();
// در این جا متغیر سراسری شما در فرم A مقدار دهی شده و می توانید از آن در این فرم استفاده کنید.

salehsam
چهارشنبه 11 دی 1392, 16:18 عصر
ممنون دوست من
میتونین بیشتر توضیح بدین؟

hmbarnamenevis
چهارشنبه 11 دی 1392, 16:24 عصر
چی رو توضیح بدم کد که واضح است!