PDA

View Full Version : سوال: درخواست راهنماييي در مورد متغيرها



saman95
یک شنبه 28 شهریور 1389, 16:39 عصر
با سلام خدمت دوستان
ميشه راهنمايي كنيد چطوري متونم يه متغيير تعريف كنم كه توي همه ي فرمها بشه ازش استفاده كرد؟

sinashahab
یک شنبه 28 شهریور 1389, 16:48 عصر
خیلی خیلی بحث شده . الان می تونی هر کدوم از این روش ها رو سرچ کنی و جوابتو پیدا کنی.

روش اصولی : شما می تونی از پراپریتی استفاده کن.
روش غیر اصولی و ساده تر : تعریف سراسری

mmd2009
یک شنبه 28 شهریور 1389, 17:27 عصر
سلام

همین چند دقیقه پیش جوابش رو دادم برو اینجا (http://www.barnamenevis.org/forum/showthread.php?t=247839)

Mohandes2009
یک شنبه 28 شهریور 1389, 19:45 عصر
Public Static string srt="";

saman95
یک شنبه 28 شهریور 1389, 23:30 عصر
با تشكر از راهنماييتون
حقيقتش من تازه كارم خيلي زود نمي گيرم.
من مي خوام يه متغير از نوع اينتيجر تعريف كنم كه توي كدنويسي همه ي فرم هام بدردم بخوره و كاربر وقتي از فرم يك وارد فرم 2 ميشه يك مقدار بهش اضافه شه.
من اين تكه كد رو به اين صورت در فرم يكم تعريف كردم ولي ديگه توي فرم دو نمي شناسه

namespace WindowsFormsApplication2
{
public static int a=0;

در قسمت progeram.cs
هم تعريف كردم ولي بازهم وقتي توي كدنويسي فرم 2 ازش مي خوام استفاده كنم نمي تونم .

flash118
یک شنبه 28 شهریور 1389, 23:38 عصر
دوست عزیز شما باید با نمونه فراخوانی کنی برای نمونه اگه متغییر رو تو form1 تعریف کردی این کد رو بنویس چون با staticنوشتی باید با رفرنس فراخوانی کنی یعنی fotm1.نام متغییر عمومی که تعریف کردین امیدوارم مشکلتون جل بشه موفق باشین

qqq2qqq
دوشنبه 29 شهریور 1389, 01:23 صبح
دوستان با این حرف هایی که شما زدید و این دوست گفتن که من تازه کار هستم فکر کنم ایشون را بیشتر سر در گم و نا امید کردید
دوست عزیز باید از یه رابط استفاده کنی که هر وقت خواستی مقدار یه متغیر رو به یه فرم بدی باید از همون رابط استفاده کنی یعنی مقدارت رو بدی به اون رابط ( کلاس) بعد تو فرمی که می خوای از اون مقدار استفاده کنی رابط ( کلاس) رو بهش می گی بیا نیازت دارم :لبخند: بعد مقدار رو ازش می گیری

حالا با مثال بهت می گم
اول یه کلاس باید بسازی ( همون رابطی که گقتم) تو این کلاس این رو می نویسی ( مثلا اسم کلاس رو بذار class1


private static string STR;
public string str
{
get
{
return STR;
}
set
{
STR = value;
}
}


حالا می خوای مقدار r رو از form1 به form2 انتقال بدی پس تو form1 حایی که می خوای مقدار رو انتقال بدی از کلاست یه شئی می سازی مقدار رو به این صورت می ریزی


Classes.class1 class11 = new Classes.class1();
class11.str = r.;

حالا مقدارت رفته تو رابط هر جا که بخوای ازش استفاده کنی می یای از کلاست یه شئی می سازی و مقدار درون کلاست رو استفاده می کنی مثلا می خوای بریزیش تو متغیر a از form2 پس


Classes.class1 class11 = new Classes.class1();
int a=class11.str;

به اینا می گن پراپرتی

آخیشششششششش تموم شد
موفق باشید

saman95
دوشنبه 29 شهریور 1389, 13:02 عصر
دوستان با این حرف هایی که شما زدید و این دوست گفتن که من تازه کار هستم فکر کنم ایشون را بیشتر سر در گم و نا امید کردید
با تشكر از دوست عزيز بابت توضيحشون
واقعآ ديگه از برنامه نويسي دارم ناميد ميشم
اين كدها رو بايد كجا قرار بدم
توي فرم لود كه نميشه
توي progeram.cs هم كه ارور ميگيره
واقعآ هم كه به اين نتيجه ميرسم c# مسخره است .
ببينيد من مي خوام يه متغيير اينتيجر تعريف كنم مثلا توي فرم يك
و وقتي برنامه وارد فرم 2 شد مقدارش از 0 بشه مثلا 1
بايد چيكار كنم
از اون مقاله 1000 صفحه اي استفاده كردم در دسترسم هم هست
كتاب ديتل رو هم خريدم ولي توي اونها هم چيزي پيدا نكردم.

mmd2009
دوشنبه 29 شهریور 1389, 13:12 عصر
دوست عزیز یک کلاس باید به برنامه اضافه بکنی و این کدها رو بذاری داخلش
تو قسمت منو ها Project رو بزن بعدش AddWindosForm رو بزن حالا class رو بزن تا یک کلاس جدید به برنامه اضافه بشه و سپس کدهارو بذار داخلش



private static string STR;
public string str
{
get
{
return STR;
}
set
{
STR = value;
}
}



و برای استفاده هم باید کدهای زیر رو بذاری



class1 class11 = new class1();
int a=class11.str;

اَرژنگ
دوشنبه 29 شهریور 1389, 14:33 عصر
با اینکه این توپیک بارها بحث شده، و اساتید برایه پیشرفت سطح فکر مقالات نوشتند هنوز به شکل مداوم یک سوق به جوابهایی که بی منطق و بی مطالعه هستند دیده میشه.
فقط ۲ نفر به استفاده از پراپرتی اشاره کردند و بقیه هم هر روش من درآوردی را فرستاند، توصیه من این است که قبل از جواب دادن با مطالعه و تفکر و داشتن یک حداقل معیار جواب فرستاده بشه.
برایه همه آرزویه موفقیت در هر روشی که انتخاب کردند را دارم.
--------------------

با تشكر از دوست عزيز بابت توضيحشون
واقعآ ديگه از برنامه نويسي دارم ناميد ميشم
اين كدها رو بايد كجا قرار بدم
توي فرم لود كه نميشه
توي progeram.cs هم كه ارور ميگيره
واقعآ هم كه به اين نتيجه ميرسم C#‎‎ مسخره است .
ببينيد من مي خوام يه متغيير اينتيجر تعريف كنم مثلا توي فرم يك
و وقتي برنامه وارد فرم 2 شد مقدارش از 0 بشه مثلا 1
بايد چيكار كنم
از اون مقاله 1000 صفحه اي استفاده كردم در دسترسم هم هست
كتاب ديتل رو هم خريدم ولي توي اونها هم چيزي پيدا نكردم.
متاسفانه چیزی که مسخره است سی‌شارپ نیست، نداشتن پایه در برنامه‌نویسیه چونکه روش درست هم سی‌شارپ ، هم در دلفی و هم در جاوا ، وی‌بی داتن ، سی‌پلاس پلاس ... و هر زبان شیگرائی دیگر هم یکسان هستند.
قسمتی که بلد شده مناقض با برنامه نویسی شیگراست. در برنامه نویسی شیگرا ما نمیگیم که چکار انجام میدیم، بلکه اینکه سیستم از چی تشکیل شده.
مشکل اصلیتان را بدانه اینکه جوابی که در نظرتان است بفرستید. راه حل واقعی را اساتید میفرستند.

saman95
سه شنبه 30 شهریور 1389, 11:16 صبح
با تشكر از همه ي دوستان به خصوص mmd2009
مشكل حل شد .