سلام.
فرض کنید دو تا فرم داریم. در فرم اول یک button داریم که در رویداد کلیک این button یه سری دستوراتی نوشته شده که از متغیرهای تعریف شده در این فرم استفاده میکنه. حالا در فرم دوم یک button داریم که در رویداد کلیک ش میخوایم دقیقا همان دستوراتی که در رویداد کلیک button فرم اول نوشتیم اجرا بشه. در واقع با کلیک بر روی button فرم 2 میخوام بر روی button فرم 1 کلیک انجام بشه.
راه حل زیر جواب نداده
Form1 f1 = new Form1();
f1.button1_Click(sender, e);
در رویداد کلیکbutton موجود بر روی فرم 2 دستور بالا رو نوشتم که ارور میده.
کنترل های UI که در فرم تعریف می شوند به صورت پیش فرض دارای سطح دسترسی private هستند یعنی اگر در فرم اول یک button تعریف میشود در فرم دوم به آن دسترسی ندارید و کار درستی هم هست و نباید به متغیر های یک فرم در فرم دیگر دسترسی داشت.
اما راه حل مشکل شما استفاده از برنامه نویسی Object oreinted هست به عنوان مثال مجوعه دستوراتی که در button فرم اول وجود دارد را به صورت یک متد public درون یک کلاس تعریف میشه و در هرجای از برنامه که نیاز داشتی (مثلا فرم دوم) یک شی از کلاس مورد نظر تعریف و متد آن را صدا می کنی به همین راحتی.
یک متد در کلاس دیگه تعریف کنید و در هر دو کلید اون متد را فراخوانی کنید
فکر کنم اگر خاصیت modifiers دگمه رو به publicتغییر بدهند مشکلشون حل بشه .
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)