PDA

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



hhiliahh
شنبه 30 تیر 1386, 19:50 عصر
میخواستم بدونم چطور میشه دو یا چند فرم به برنامه اضافه کرد که از طریق فرم دوم بتوانیم تغییراتی را به فرم یک اعمال کنیم . البته بدون استفاده از خاصیت MDI Parent . اگر هم از این خاصیت استفاده کردیم فرم دو روی فرم یک قرار گیرد نه درون فرم یک .
.

newgoldenman
یک شنبه 31 تیر 1386, 01:50 صبح
شما میخواهید یک فرم جدید بسازید، از داخل فرم کنونی اون یکی فرم جدید رو کنترل کنید. 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 بدهید، در واقع دارید روی اون نونه ای که ساخته اید تغییرات اعمال میکنید.