ارتباط فرم ها در #c

masoudnt

Member
سلام دوستان به یک مشکل اساسی توی ارتباط چند فرم در سی شارپ دارم اونم اینکه وقتی یک متغیر عمومی تعریف می کنم
کد:
publice int a=0;

بعد در فرم 2 برای استفاده از این متغیر کد زیر رو مینویسم
کد:
form1 f1=new form1();   if(f1.a==3){p++}
سوال من اینه که ایف فرم دوم که در بالا تعریفش کردم فقط مقدار اولیه متغیر فرم اول را می گیرد در صورتی که این متغییر در فرم اول اضافه می شود باید چه کار کنم مقدار حاضر متغیر فرم اول رو بگیره نه مقدار اولیه اونو ؟
 
آخرین ویرایش:

the_king

مدیرکل انجمن
سلام دوستان به یک مشکل اساسی توی ارتباط چند فرم در سی شارپ دارم اونم اینکه وقتی یک متغیر عمومی تعریف می کنم
کد:
publice int a=0;

بعد در فرم 2 برای استفاده از این متغیر کد زیر رو مینویسم
کد:
form1 f1=new form1();   if(f1.a==3){p++}
سوال من اینه که ایف فرم دوم که در بالا تعریفش کردم فقط مقدار اولیه متغیر فرم اول را می گیرد در صورتی که این متغییر در فرم اول اضافه می شود باید چه کار کنم مقدار حاضر متغیر فرم اول رو بگیره نه مقدار اولیه اونو ؟

متغیر مورد نظر رو هم public و هم static تعریف کنید. متغیر static مقدار اش مستقل از نمونه های کلاس
ذخیره میشه و برای همه نمونه های اون کلاس فقط یک مقدار یکسان خواهد داشت. بجای f1.a هم باید
به form1.a رجوع کنید (در متغیر های static دیگر f1.a مفهومی ندارد، متغیر static مستقل از نمونه ها است)

رجوع شود به :
کمک در مورد سی شارپ

راهنمایی برای Trace در C#
 
آخرین ویرایش:

masoudnt

Member
:rose:ممنون از پاسخ شما امکانش هست که یک نمونه کامل از همچین برنامه ای را آپلود کنید ؟
 
آخرین ویرایش:

masoudnt

Member
ممنون از همه دوستان روش هاتون خیلی به دردم خورد.یک پی دی اف هم برای اتمام مبحث در رابطه با ارتباط فرم ها میذارم تا دوستان دیگه هم استفاده کنن.:rose:
 

پیوست ها

  • c# forms.zip
    244.8 کیلوبایت · بازدیدها: 77

hojjat_206

New Member
با سلام
خسته نباشید من پروژه دارم که با #c کار می کنم چند تا فرم دارم که با فرمهای جستجوی کتاب-حذف کتاب-ویرایش-وثبت هستش چظوری می تونم یه لینک واسه هر کروم بزام که بزه صحفه ی اول ممنون میشم منو راهنمایی کنید
 

the_king

مدیرکل انجمن
با سلام
خسته نباشید من پروژه دارم که با #c کار می کنم چند تا فرم دارم که با فرمهای جستجوی کتاب-حذف کتاب-ویرایش-وثبت هستش چظوری می تونم یه لینک واسه هر کروم بزام که بزه صحفه ی اول ممنون میشم منو راهنمایی کنید

بستگی به ظاهر و نوع نمایش فرم هاتون داره.
معمولا به فرم اصلی دارید که همون ابتدای برنامه نشون داده میشه و دیگه تا آخر برنامه در حال نمایش ئه. وقتی توی فرم اصلی یک گزینه مثل ویرایش کتاب انتخاب شد، اون فرم مخصوص ویرایش کتاب رو با ShowDialog نشون می دهید.
مثلا :
کد:
            using (var f2 = new Form2())
            {
                f2.ShowDialog(this);
            }

مادامی که اون فرم ئه در حال نمایشه روی فرم اصلی تسلط ای ندارید و غیر فعاله، فرم ئه باید بسته بشه تا به فرم اصلی برگردید.
حالا که توی فرم ویرایش کتاب اید هر زمانی که خواستید به فرم اصلی برگردید یا باید دستی فرم ویرایش کتاب رو ببندید، یا دستور ()Close یا ()this.Close رو موقع کلیک کردن روی یک دکمه یا هر شی مورد علاقه تون اجرا کنید. فرم بسته میشه و برمی گردید به فرم اصلی.
مثلا :
کد:
        private void button1_Click(object sender, EventArgs e)
        {
            Close();
        }
 

جدیدترین ارسال ها

بالا