PDA

View Full Version : مشکل با ساخت کنترل در فرم



krasus
جمعه 15 خرداد 1394, 16:28 عصر
سلام
من برای اضافه کردن کنترل توی فرم می خوام دستورات رو توی یه تابع در یه کلاس دیگه تعریف کنم.
خوب برای اضافه کردن کنترل هم از کد زیر استفاده می کنم :



MainPage MainPageCls = new MainPage();
MainPageCls.Controls.Add(control);



جالب اینه که وقتی این کد اجرا میشه هیچ اروری نمیده و کنترل هم اضافه نمیشه.

این کد رو توی رویداد یه دکمه توی خود فرم نوشتم بازم به مشکلی که گفتم برخوردم.

جالب اینجاست که وقتی همین کد رو به صورت زیر توی رویداد دکمه تغییر دادم :



this.Controls.Add(control);



کنترل اضافه شد.

ولی از این کلمه this که نمی تونم توی کلاسم استفاده کنم.

حالا چه کنم؟:اشتباه:

am_al_59
جمعه 15 خرداد 1394, 16:48 عصر
اون mainPage یک فرمه؟
اگر یک فرمه شما یک فرم جاری داری که داره نمایش داده میشه و یک فرم mainPage داری که نمایش داده نمیشه
حالا کد اولتو چه توی فرمی که داره نمایش داده میشه اجرا کنی چه در آبجکت mainPage ربطی به فرم جاریت نداره
دلیلشم اینه که اون کلمه this مشخص کننده آبجکتی هست که دستورات داره توش اجرا میشه
یک راهش اینه که شما فرم جاریتو پاس بدی به آبجکت mainPage بعد بهش کنترل اضافه کنی

krasus
جمعه 15 خرداد 1394, 17:13 عصر
mainPage همون فرم جاری هست




یک راهش اینه که شما فرم جاریتو پاس بدی به آبجکت mainPage بعد بهش کنترل اضافه کنی



میشه با نمونه کد نشونم بدید که چطور این کارو بکنم؟

am_al_59
جمعه 15 خرداد 1394, 17:16 عصر
mainPage فرم جاری شما نیست وقتی شما داری این دستورو اجرا میکنی


MainPage MainPageCls = new MainPage();


اگر فرم جاری هم باشه مقدارش با یک آبجکت جدید عوض میشه
شما منترل رو داری اضافه میکنی اما فرم رو نشون نمیدی اینطوری انجام بده




MainPage MainPageCls = new MainPage();
MainPageCls.Controls.Add(control);
MainPageCls.ShowDialog();