PDA

View Full Version : سوال: چگونه مقدار یک متغیر int را در کل برنامه بتوانیم بخوانیم؟



gita_kachoui
شنبه 05 مرداد 1387, 11:19 صبح
با سلام خدمت دوستان
مشکلی که من دارم اینه که یک متغیر سراسری int در یک کلاس تعریف کردم که با صدا زدن هر فرم مقدار آن را عوض می کنم.مشکلی که هست اینه که با صدا زدن هر فرم مقدار این متغیر ریست به (0) می شود.
لطفا روش درست تعریف کردن یک متغیر به صورت سراسری را برایم بفرستید.

Xcalivorse
شنبه 05 مرداد 1387, 11:21 صبح
متغییر را در کلاس فرم تعریف کردید ؟

linux
شنبه 05 مرداد 1387, 12:55 عصر
با سلام خدمت دوستان
مشکلی که من دارم اینه که یک متغیر سراسری int در یک کلاس تعریف کردم که با صدا زدن هر فرم مقدار آن را عوض می کنم.مشکلی که هست اینه که با صدا زدن هر فرم مقدار این متغیر ریست به (0) می شود.
لطفا روش درست تعریف کردن یک متغیر به صورت سراسری را برایم بفرستید.
متغیر به صورت سراسری در برنامه نویسی شی گرا بی معنی هست.

man_iran
شنبه 05 مرداد 1387, 13:32 عصر
با سلام خدمت دوستان
مشکلی که من دارم اینه که یک متغیر سراسری int در یک کلاس تعریف کردم که با صدا زدن هر فرم مقدار آن را عوض می کنم.مشکلی که هست اینه که با صدا زدن هر فرم مقدار این متغیر ریست به (0) می شود.
لطفا روش درست تعریف کردن یک متغیر به صورت سراسری را برایم بفرستید.

سلام
برای اینکه به صفر تبدیل نشه آن را استاتیک معرفی کنید.

Hope22
شنبه 05 مرداد 1387, 13:37 عصر
تو یه کلاست بصورت public static تعریفش کن

gita_kachoui
شنبه 05 مرداد 1387, 15:36 عصر
می شه بگین چه جوری اخه وقتی static معرفی کردم متغیرم را در بقیه برنامه نشناخت

man_iran
شنبه 05 مرداد 1387, 16:01 عصر
می شه بگین چه جوری اخه وقتی static معرفی کردم متغیرم را در بقیه برنامه نشناخت

وقتی شما یه متغیر به صورت زیر در کلاسی با نام cl معرفی می کنید :


public static int a;


کافیه فقط در هر جای برنامه اول نام کلاس بعد اسم متغیر را بیارید و لازم به ساختن شی از آن نیست. به صورت زیر :


Cl.a = 6;

gita_kachoui
شنبه 05 مرداد 1387, 16:10 عصر
همین کارا کردم ولی خطا می ده
Error 1 Static member 'WindowsApplication1.user.id' cannot be accessed with an instance reference; qualify it with a type name instead

رضا جاسبی
جمعه 11 مرداد 1387, 05:39 صبح
احتمالا متغیر رو در فرم تعریف کرده اید. باید کلاس معمولی تعریف کنی. یعنی در Solution -> Add-> New Item بجای Windows Application Form از Class استفاده کن و همانطور که دوستان گفتند از static هم استفاده کن.

regbyte
جمعه 11 مرداد 1387, 12:00 عصر
بهتره از property بجای متغییر استفاده کنید:



private static int _a;
public static int a
{
get { return _a; }
set { _a = value; }
}