روش ۱: استفاده از پراپرتی (Property)
اولین روش برای دسترسی به اعضای فرم از یک کلاس مستقل، استفاده از (پراپرتی) است. این روش به دلیل رعایت اصل کپسولهسازی (Encapsulation) در برنامهنویسی شیءگرا، بهترین گزینه محسوب میشود. با پراپرتی، میتوانید دسترسی به کنترلها را کنترل کنید و از تغییر مستقیم آنها جلوگیری کنید.
مثال ساده : فرض کنید یک فرم به نام "Form1" داریم که یک تکستباکس (‘myTextBox’) روی آن است. میخواهیم از یک کلاس مستقل به متن این تکستباکس دسترسی پیدا کنیم.
پراپرتی برای دسترسی به متن تکستباکس که درون کلاس فرم نوشته می شود //
توجه داشته باشید در اینجا چون هدفمان کپسوله کردن اجزاء فرم بوده پراپرتی را هم درون کلاس فرم نوشته ایم تا دسترسی به تکست باکس بصورت کنترل شده انجام شود و اگر قصدمان کپسوله کردن یکی از اجزاء داخل یک کلاس مستقل می بود قطعا برای این منظور پراپرتی های مناسب این کار را نیز درون کلاس می نوشتیم.
public string TextBoxContent
{
get { return myTextBox.Text; }
set { myTextBox.Text = value; }
}
متن کد رویداد باتن که درون کلاس فرم نوشته می شود //
private void button1_Click(object sender, System.EventArgs e)
{
ExternalClass external = new ExternalClass();
external.ChangeText(this);
}
متن کامل کد داخل کلاس مستقل ExternalClass //
public class ExternalClass
{
public void ChangeText(Form1 form)
{
form.TextBoxContent = " سلام از درون پراپرتی " ;
}
}
}