میخواستم بدونم چطور میشه دو یا چند فرم به برنامه اضافه کرد که از طریق فرم دوم بتوانیم تغییراتی را به فرم یک اعمال کنیم . البته بدون استفاده از خاصیت MDI Parent . اگر هم از این خاصیت استفاده کردیم فرم دو روی فرم یک قرار گیرد نه درون فرم یک .
.
Printable View
میخواستم بدونم چطور میشه دو یا چند فرم به برنامه اضافه کرد که از طریق فرم دوم بتوانیم تغییراتی را به فرم یک اعمال کنیم . البته بدون استفاده از خاصیت MDI Parent . اگر هم از این خاصیت استفاده کردیم فرم دو روی فرم یک قرار گیرد نه درون فرم یک .
.
شما میخواهید یک فرم جدید بسازید، از داخل فرم کنونی اون یکی فرم جدید رو کنترل کنید. OK؟
توی فرم فعلیتون یک نمونه از فرم جدید رو میسازید. اون رو به فرم جدیدی که ساختید پاس میکنید! برای اینکار باید فرم جدید که میخواهید رو یک سازنده ی جدید براش تعریف کنید که یک آرگومان از نوع Form بگیره و ساخته بشه. شبیه این:
publicpartialclassForm1 : Form
{
publicForm newForm2;
public Form1(refForm myForm2 )
{
InitializeComponent();
newForm2 = myForm2;
}
}
این برای فرم جدیدتون بود که میخواهید کنترلشو به دست بگیرید.
حالا توی این فرمی که دارین، میتونید کنترل newForm رو بدست بگیرید.
حالا توی فرمی که میخواهید کنترل داشته باشید(فرم مولد فرم جدیدتون) باید یک نمونه از این فرم رو بسازید و به این فرم پاس کنید.
به عنوان مثال :
Form2 newForm2;
Form1 newForm1 = new Form1(ref newForm2);
newForm1.Show();
در این نمونه کد و نمونه کد بالایی، شما میخواهید که کنترل یک نمونه از فرم Form2 رو درون فرم Form1 در دست بگیرید.
اکنون درون فرم Form1 که ساخته اید و نمایش داده اید اون رو، هر تغییری روی newForm2 بدهید، در واقع دارید روی اون نونه ای که ساخته اید تغییرات اعمال میکنید.