PDA

View Full Version : آرایه ها



Future
سه شنبه 11 اردیبهشت 1386, 10:41 صبح
سلام دوستان، من در یکی از فرمهام یک آرایه تعریف کردم که در این فرم به عناصر آن مقدار می دهم.حالا می خوام در یک فرم دیگه این عناصر را فراخوانی کنم ولی آرایه را نمی شناسه .آیا میشه کاری کرد که آرایه هم مثل متدها publicبشوند یعنی تو کل برنامه از اونها استفاده کرد. اگه نمیشه چکار باید کرد
با تشکر

omid_Ahmadi
سه شنبه 11 اردیبهشت 1386, 10:43 صبح
اگر نوع دسترسی رو به صورت Public تعریف کنی، می تونی با استفاده از خاصیت Owner از فرم جاری (this) به فرم والد دسترسی پیدا کرده و بعد از آرایه استفاده کنی.

Future
سه شنبه 11 اردیبهشت 1386, 10:55 صبح
دوست عزیز ببخشید متوجه منظورتان نمیشم میشه یک مثال بزنید

omid_Ahmadi
سه شنبه 11 اردیبهشت 1386, 11:08 صبح
در فرم دوم باید از این کد استفاده کنی (با فرض اینکه نام کلاس مربوط به فرم اول Form1 است)


Form1 frm = (Form1)this.Owner;
frm.MyArray;

Future
سه شنبه 11 اردیبهشت 1386, 15:55 عصر
دوست عزیز سلام،
من کد زیر را وارد کردم ولی خطا میده یعنی owner را نمی شناسه
Frm_Main frm = Frm_Main(this).owner;
frm.Name_Menues;
MessageBox.Show(frm.Name_Menues[1]);
ّFrm_main نام کلاس فرم اولم است . ممنون میشم اگه بیشتر راهنمایی کنید
با تشکر

molana alavi
سه شنبه 11 اردیبهشت 1386, 18:58 عصر
می تونی آرایه رو بصورت Static تعریف کنی

Future
چهارشنبه 12 اردیبهشت 1386, 03:31 صبح
سلام، کسی نمیدونه باید چکار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

Future
چهارشنبه 12 اردیبهشت 1386, 04:24 صبح
دوست عزیز اگه فرم باشه درسته خاصیت owner را میشه بکار برد ولی من بجای فرم دوم از user control استفاده کردم که خاصیت owner نداره در نتیجه به من خطا میده

اَرژنگ
چهارشنبه 12 اردیبهشت 1386, 04:46 صبح
public class IntArraykeeper
{
private static int[] m_MyIntArray;
public static int[] MyIntArray
{
get
{
return m_MyIntArray;
}
set
{
m_MyIntArray = value;
}
}
}

//set the array in some form in the app
IntArraykeeper.MyIntArray = new int[3] { 0, 1, 2 };

//Get it back some where else in the appliocation
int[] MyArray = IntArraykeeper.MyIntArray;


از پابلیک کردن پروپرتیهایه فرم نباید زیاد استفاده کرد، مخصوصاْ اگر پروپرتی مورد نظر در چند جا در اپلیکیشن لازم است، یک کلاس برایه نگهداشتن و دسترسی پیدا کردن تعریف کنید (مانند مثال بالا)

Future
چهارشنبه 12 اردیبهشت 1386, 05:15 صبح
دوست عزیز خیلی خیلی ممنون.