PDA

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



Yama12
دوشنبه 31 تیر 1387, 00:08 صبح
سلام
من یک فرم والد دارم
که در اون یک فرم فرزند بازمیشه
بعد که بسته میشه و دوباره میخوام بازش کنم این ارور میاد:



Cannot access a disposed object.
Object name: 'InsertOrders'.

mohammad272005
دوشنبه 31 تیر 1387, 00:27 صبح
شما مطمئنا میخاید از یه متغیر استفاده کنید که فقط یک بار intializeش می کنید. مثل زیر:

Form1 form2 = new Form2();
form2.ShowDialog();
//Close in Form2
form.ShowDilog();
که غلطه. در هر بار استفاده، باید Form2 مجددا new بشه.

Yama12
دوشنبه 31 تیر 1387, 00:52 صبح
شما مطمئنا میخاید از یه متغیر استفاده کنید که فقط یک
بار intializeش می کنید. مثل زیر:

Form1 form2 = new Form2();
form2.ShowDialog();
//Close in Form2
form.ShowDilog();که غلطه. در هر بار استفاده، باید Form2 مجددا new بشه.

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


InsertOrders frInsertOrder;
public Form1()
{
InitializeComponent();

this.frInsertOrder = new InsertOrders(this);
}


به همین خاطر نمیتون جای دایگه اون فرم رو ایجاد کنم

hadi9623
دوشنبه 31 تیر 1387, 09:30 صبح
1)خاصیت ismdicontainer فرم والد را true بگذار .

2)از فرم فرزند یک new بساز:
public tel tel1 = new tel();

3)هنگام باز کردن فرم فرزند این دستورات را بنویس:
فtel1.MdiParent = this;
tel1.Show();

4)و در رویداد form closing فرم فرزند این دستورات را بنویس:
e.Cancel = true;
this.Hide();

Yama12
دوشنبه 31 تیر 1387, 10:13 صبح
1)خاصیت ismdicontainer فرم والد را true بگذار .

2)از فرم فرزند یک new بساز:
public tel tel1 = new tel();

3)هنگام باز کردن فرم فرزند این دستورات را بنویس:
فtel1.MdiParent = this;
tel1.Show();

4)و در رویداد form closing فرم فرزند این دستورات را بنویس:
e.Cancel = true;
this.Hide();


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

hadi9623
دوشنبه 31 تیر 1387, 14:41 عصر
سلام
مرسی منم دقیقا همین کار رو انجام دادم
اما هر بار که صفحه رو دوباره show میکنم محل صفحه یکم به پایین تر منتقل میشه
یعنی بعد از چند بار به خارج صفحه منتقل میشه
اگر بشه هر بار که صفحه show میشه مکانشو تعیین کرد مشکل هل میشه

#خاصیت start position فرم فرزند را CenterScreen قرار بده. مشکلت حل میشه#