PDA

View Full Version : تشخیص فراخوانی کننده فرم



mohsen8699
سه شنبه 18 فروردین 1394, 11:38 صبح
سلام دوستان
چطور میشه در یک فرم تشخیص بدی کدوم فرم از برنامه بوده که اون رو فراخونی کرده؟؟

به عنوان مثال برای روشن تر شدن :

من سه فرم دارم و توی دو تا از فرم ها دکمه ای وجود داره که فرم سوم رو فراخونی میکنه
حالا من می خوام موقع باز شدن فرم سوم با توجه به اینکه کدوم فرم بوده که عمل فراخونیو انجام داده یه سری کد خاص اجرا بشه

با تشکر

am_al_59
سه شنبه 18 فروردین 1394, 11:40 صبح
توی اون فرمی که فراخوانی میشه یک متد تعریف کن که با پارامتر فرم فراخوانی کننده فرم رو نشون بده


private Form CallFrom = null;


public void CustomShow(Form frm)
{
CallFrom = frm;
Show();
}

alireza.tabesh
سه شنبه 18 فروردین 1394, 11:41 صبح
باید Parrent ببینی کی بوده یا توی constractor اسم فراخوان کننده رو پاس بده

Mofid.m
سه شنبه 18 فروردین 1394, 11:48 صبح
میتونی یه متغیر سراسری تو فرم بزاری و زمانی که با هر فرمی که اونو فراخونی کرده یه مقداری رو بزاری تو اون متغیر بعد با یه شرط بررسی کنی کدوم فرم بوده که این فرم رو فراخونی کرده.
حتی میتونی از متغیر های استاتیک هم استفاده کنی

mohsen8699
سه شنبه 18 فروردین 1394, 19:27 عصر
با تشکر از دوستان مشکل حل شد

یه متغیر استاتیک داخل یه کلاس تعریف کردم که فرم فراخوانی کننده اسم خودش رو توی اون ذخیره میکنه

و فرم فراخوانی شده با سوئیچ کردن اون متفیر یه سری کد بخصوص رو اجرا میکنه

تشکر فراوان از دوستان:قلب: