View Full Version : اجرا کردن یک event از فرم دیگر
karimi84
پنج شنبه 10 اردیبهشت 1388, 13:51 عصر
با سلام
دو فرم دارم می خوام وقتی در فرم 2 روی یک botton کلیک می کنم event ی از فرم 1 اجرا بشه
با تشکر
prankster
پنج شنبه 10 اردیبهشت 1388, 13:57 عصر
متد public در فرم2 ایجاد کنید و در آن event مورد نظر را raise کنید. خارج از بدنه کلاس raise کردن event ممکن نیست
adinochestva
پنج شنبه 10 اردیبهشت 1388, 14:48 عصر
اگر در فرم 2 یک instance از فرم 1 درست کردی خیلی راحت می تونی به event هاش subscribe کنی !
hamid67fathi
جمعه 11 اردیبهشت 1388, 02:09 صبح
اگر بخواهيم label که در فرم پدر باشه تغيير بديم چی ؟؟
adinochestva
جمعه 11 اردیبهشت 1388, 02:16 صبح
اگر بخواهيم label که در فرم پدر باشه تغيير بديم چی ؟؟
یعنی مثلا text اون label رو عوض کنی ؟
تو فرم child بنویس :
parent.Controls["label1"].Text="etwas";
hamid67fathi
شنبه 12 اردیبهشت 1388, 09:25 صبح
Error :
Object reference not set to an instance of an object.
Open-Source
شنبه 12 اردیبهشت 1388, 10:09 صبح
برای دسترسی به یه کنترل در فرم دیگه باید Modifiers=Public باشد(منظورم کنترل هستش)
hamid67fathi
شنبه 12 اردیبهشت 1388, 10:20 صبح
سلام
من اين مورد رو نوشتم و modifiers رو هم public کردم
Parent.Controls["error_lab"].Text = "پيغام سيستم : نام کاربری معتبر نميباشد";
اما خطای زير رو داد :
Object reference not set to an instance of an object.
mohsen_csharp
شنبه 12 اردیبهشت 1388, 12:30 عصر
اول در فرم یک در کنترل لیبل خاصیت Modifiers=Public قرار بده سپس
در فرم یک
Form2 f2 = new Form2();
f2.Owner= this;
f2.ShowDialog();
در فرم دو
this.Owner.Controls["label1"].Text = "new text";
یا می تونی در فرم 2 برای راحتی کار از این کد هم استفاده کنی
(this.Owner as Form1).label1.Text = "new text";
captain_black81
شنبه 12 اردیبهشت 1388, 12:53 عصر
آیا میشه یک private void در فرم owner را اجرا کرد
captain_black81
شنبه 12 اردیبهشت 1388, 13:01 عصر
جواب سوالمو خودن میدم
اگه public void تعریف کنید توی فرم دوم می بینیدش.
(this.Owner as Form1).comboBankLoad();
aysan_gh
شنبه 12 اردیبهشت 1388, 13:12 عصر
در مورد engine site php کسی چیزی میدونه؟
لطفا راهنماییم کنید
hamid67fathi
شنبه 12 اردیبهشت 1388, 14:15 عصر
سلام
من اين کار رو انجام دادم و جواب گرفتم mohsen_csharp (http://barnamenevis.org/forum/member.php?u=36508) جان
اما با ديگه هيچ کدوم از پنجره هام به صورت child باز نميشن.
و زمانی که دو کد زير رو باهم استفاده ميکنم خطا ميده :
Form1 login = new Form1();
login.MdiParent = this;
login.Owner = this;
login.Show();
مهدی فرزاد
شنبه 12 اردیبهشت 1388, 14:36 عصر
سلام
من هم دقيقا همين مشكل رو دارم و كدي رو كه دوستمون hamid67fathi نوشتن رو در برنامم نوشتم و خطا ميده.
captain_black81
یک شنبه 13 اردیبهشت 1388, 12:10 عصر
اول در فرم یک در کنترل لیبل خاصیت Modifiers=Public قرار بده سپس
در فرم یک
Form2 f2 = new Form2();
f2.Owner= this;
f2.ShowDialog();
در فرم دو
this.Owner.Controls["label1"].Text = "new text";
یا می تونی در فرم 2 برای راحتی کار از این کد هم استفاده کنی
(this.Owner as Form1).label1.Text = "new text";
من از کد بالا جواب گرفتم ولی وقتی با فرم1 به فرم 2 مقدار میفرستم کار نمیکنه
مثلا
form2 frm=new form2("myName");
جواب نمیده
hamid67fathi
سه شنبه 15 اردیبهشت 1388, 10:20 صبح
سلام چرا دو مشخصه زير با هم کار نميکنن و خطا ميدن ؟؟
Form1 login = new Form1();
login.MdiParent = this;
login.Owner = this;
login.Show();
hamid67fathi
چهارشنبه 16 اردیبهشت 1388, 11:34 صبح
يعنی کسی بلد نيست ؟؟
Open-Source
چهارشنبه 16 اردیبهشت 1388, 11:53 صبح
آقا ببخشد!
هنوز همون بحث ابتدای تاپیک هست؟!!!!!!!!!!!!!!:متعجب:
یعنی هنوز به نتیجه نرسیدید؟!!!!!!!!!!!!:گیج:
hamid67fathi
چهارشنبه 16 اردیبهشت 1388, 13:15 عصر
بله !!
سؤال اين هست :
چرا دو مشخصه زير با هم کار نميکنن و خطا ميدن ؟؟
کد:
Form1 login = new Form1();
login.MdiParent = this;
login.Owner = this;
login.Show();
mohsen_csharp
چهارشنبه 16 اردیبهشت 1388, 14:47 عصر
وقتی شما از فرم های mdi استفاده می کنید خوب فقط از MdiParent استفاده کنید.
hamid67fathi
دوشنبه 04 خرداد 1388, 18:33 عصر
حالا چطور ميشه از داخل يک کلاس به فرم پدر دسترسی داشت ؟
esmaeily-hosein
دوشنبه 04 خرداد 1388, 18:36 عصر
this.Parent as MainForm
hamid67fathi
دوشنبه 04 خرداد 1388, 19:24 عصر
توی خود کلاس مينويسم خطا ميده!
کجا بايد بنويسم ؟
hamid67fathi
سه شنبه 05 خرداد 1388, 15:09 عصر
توی خود کلاس مينويسم خطا ميده!
کجا بايد بنويسم ؟
hamid67fathi
سه شنبه 05 خرداد 1388, 15:13 عصر
يعنی همه مثل من بی سوادن ؟
esmaeily-hosein
چهارشنبه 06 خرداد 1388, 13:40 عصر
اینو تو کلاس فرزند باید بنویسی . و اسم فرم پدرت بزاری برای من اسمش MainForm بوده شاید برای تو یه چیز دیگه باشه .
this.Parent as formName
hassan_65
چهارشنبه 06 خرداد 1388, 18:33 عصر
سلام چرا دو مشخصه زير با هم کار نميکنن و خطا ميدن ؟؟
Form1 login = new Form1();
login.MdiParent = this;
login.Owner = this;
login.Show();
دوست عزیز شما در خط زیر به فرم میگویید که پدر اون فرم جاری هستش
login.MdiParent = this;
بعد دوباره در خط زیر میگویید مالک اون فرم جاری هستش
login.Owner = this;
فقط خط اول کافیه و نیازی به نوشتن خط دوم نیست
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.