PDA

View Full Version : ارث بری



Future
شنبه 12 خرداد 1386, 10:48 صبح
سلام دوستان، من یک فرم دارم که داخلش چندین آبجکت قرار دادم و این فرم دارای یک افکت خاص هم است.حالا از این فرم ارث بری کردم و یک فرم جدید هم اضافه کردم که فرم جدید از این فرم ارث می برد.ولی در فرم جدید تمام آبجکتهایی که در فرم اول داشتم به فرم دوم اضافه شده و پاک هم نمیشه. در صورتی که من می خوام افکتها را داشته باشم و سایر آبکجتها را پاک کنم.ممنون میشم اگه راهنمایی کنید.
با تشکر

__H2__
شنبه 12 خرداد 1386, 12:51 عصر
سلام
طبیعی است که همه کنترلرهای کلاسس پایه را در مشتق نیز خواهید دید، اگر میخواهید آنها را در مشتقات حذف کنید، بهتر است اصلاً آنها را در کلاسس پایه قرار ندهید و هرکجا در مشتقات نیاز داشتید آنها را قرار دهید، نه اینکه قرار دهید و هرکجا نخواستید پاکش کنید.

بهرحال با کد نویسی دستی میتوانید، کدی مثل ("this.Controls.RemoveByKey("name

ghafoori
شنبه 12 خرداد 1386, 13:23 عصر
دوست عزیز از این روش هم می توانی استفاده کنی کنترلهای روی فرم والد را باید public یا protect معرفی کنی تا در فرم فرزند بتوانی انها را hide کنی

PC2st
شنبه 12 خرداد 1386, 16:18 عصر
سلام دوستان، من یک فرم دارم که داخلش چندین آبجکت قرار دادم و این فرم دارای یک افکت خاص هم است.

ولی در فرم جدید تمام آبجکتهایی که در فرم اول داشتم به فرم دوم اضافه شده و پاک هم نمیشه.
بجای اینکه دو فرم داشته باشی که یکیش بعنوان والد، خودش حاوی کنترلهای مخصوص خودش باشه، بجاش میتونی سه تا فرم داشته باشی، یکیش که بعنوان والد حساب میشه و تمام افکتها در اون فرم تعریف میشه و و کنترلی در اون وجود نداره و نامش هست فرم 1.
اون فرمی که میخواستید ازش به ارث ببرید ( که کنترلهاش از فرم فرزند برداشته نمیشد ) رو کاری کن که از فرم 1 به ارث ببره.
برای اون فرمی که به عنوان فرم مشتق شده ازش استفاده میکردید ( و میخواستید که کنترلهای فرم والد رو از اون حذف کنید )، باز هم از همون فرم 1 به ارث برسانید.