سلام. من یه برنامه نوشتم که اول برنامه مقدار یک متغیر برابر یک مقدار تصادفیقرار می گیره و بعد بقیه برنامه.می خواستم برای این برنامه از چند تا فرم استفاده کنم که دیدم متغیر های فرم یک توی فرم های دیگه تعریف نمی شه. حالا من چطور می تونم از این متغیر ها تو فرم هایدیگه استفاده کنم؟
روش اول ) توی کلاس فرم تون متغیر های Public و Shared تعریف کنید. این متغیر ها در تمامی کلاس های برنامه قابل دسترسی اند. مثلا :
کد:
Public Class Form1
Public Shared x As Integer = 123
End Class
در هر جا که اراده کنید Form1.x قابل دسترسی است، چه فرم Form1 باز باشد و یا نباشد، چه فقط یک فرم Form1 داشته باشید یا صد تا :
روش دوم ) توی کلاس فرم تون متغیر های Public تعریف کنید. این متغیر ها به شرط آنکه شیء ای از آن فرم ایجاد شده باشد قابل دسترسی اند. مثلا :
کد:
Public Class Form1
Public x As Integer = 123
End Class
اگر به شیء از Form1 به نام f دسترسی داشته باشید، f.x قابل دسترسی است، مقدار این x مخصوص همان f است. اگر چند تا Form1 داشته باشید هر کدام
مقدار x مخصوص به خودشان را دارند.
کد:
Dim f As New Form1
f.x = 3
یا اگر فرم Form1 الان باز و در حال نمایش است، برای دسترسی به فرمی که باز است از OpenForms استفاده کنید، وگرنه اگر از new استفاده کنید
فرم جدیدی خواهید ساخت که ربطی به آن فرم که در حال نمایش است ندارد :
کد:
Dim f As Form1 = Application.OpenForms("Form1")
f.x = 3