نمایش نتایج 1 تا 9 از 9

نام تاپیک: حذف یک Property از کنترل

  1. #1

    حذف یک Property از کنترل

    سلام.
    کسی میتونه کمک کنه تا یک Property رو از یک کنترل حذف کنم. فرض کنید قراره Text که یک Property از کنترل TextBox هستش حذف بشه. تا اینجا میدونم که باید یک کنترل درست کنم و از TextBox ارث ببره حالا چه طوری Propertyهایی رو که نمی خوام حذف کنم؟
    با تشکر.

  2. #2

    نقل قول: حذف یک Property از کنترل

    توی این سایت در این باره خیلی بحث شده اما من تا اونجایی که اطلاعات دارم شما هیچ پراپرتی رو نمی تونید حذف کنید چون جزء اطلاعات پایه یک شیء است.(البته متد هایی که خود شیء داره)

  3. #3
    کاربر دائمی آواتار SMRAH1
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    مشهد
    پست
    884

    نقل قول: حذف یک Property از کنترل

    سلام

    باید از Attribute به نام Browsable استفاده کنی.مثلا اگر باشد کلا از دسترس خارج شود (و دیگر کاربردی ندارد)کد زیر موثر است:

    [Browsable(false)]
    public override string Text { get; set; }
    موفق باشی

  4. #4

    نقل قول: حذف یک Property از کنترل

    اون روش بالا غیر قابل دسترسیش میکنه یا اینکه فقط توی آبجکت برازر نشونش نمیده و هاید میشه؟

  5. #5
    کاربر دائمی آواتار SMRAH1
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    مشهد
    پست
    884

    نقل قول: حذف یک Property از کنترل

    سلام

    در این کد،دو نکته وجود داره:
    1) اول چون Browseable رو به false تنظیم کردیم،چیزی در Properties نشون نمیده.اما در هنگام کد نویسی در دسترس است.
    2) چون به این خصوصیت نیاز نداشتیم،اصلا پیاده سازی نشده است.اگر همچنان به مقادیر آن احتیاج است،باید در هنگام پیاده سازی،به شی base متصل شود.

    موفق باشید

  6. #6

    نقل قول: حذف یک Property از کنترل

    نقل قول نوشته شده توسط SMRAH1 مشاهده تاپیک
    سلام

    در این کد،دو نکته وجود داره:
    1) اول چون Browseable رو به false تنظیم کردیم،چیزی در Properties نشون نمیده.اما در هنگام کد نویسی در دسترس است.
    2) چون به این خصوصیت نیاز نداشتیم،اصلا پیاده سازی نشده است.اگر همچنان به مقادیر آن احتیاج است،باید در هنگام پیاده سازی،به شی base متصل شود.

    موفق باشید
    البته در تکمیل گفته های دوست خوبم SMRAH1

    اگه از اتریبیوت زیر استفاده نمایید در هنگام تایپ در پنجره intelisent نیز خصوصیت به شما نشان داده نمی شود
    [EditorBrowsable(EditorBrowsableState.Never)]

  7. #7

    نقل قول: حذف یک Property از کنترل

    من توی C#‎ مبتدی هستم ، میشه بگید این کد هارو کجا باید بنویسم ؟ من میخوام یه سری از پروپرتی ها رو از لحاظ ظاهری مخفی کنم ، با کد نویسی اگر قابل دست رسی بود اشکال نداره .

  8. #8

    نقل قول: حذف یک Property از کنترل

    من در اکثر مواقع کد زیر را در بدنه UserControl قرار می دهم تا بخشی از موارد بلااستفاده جلو چشم نباشه
    #region NoProperties
    [Browsable(false)]
    public override bool AutoSize { get; set; }
    [Browsable(false)]
    public new string AccessibleDescription { get; set; }
    [Browsable(false)]
    public new string AccessibleName { get; set; }
    [Browsable(false)]
    public new AccessibleRole AccessibleRole { get; set; }
    [Browsable(false)]
    public override bool AllowDrop { get; set; }
    [Browsable(false)]
    public override bool AutoScroll { get; set; }
    [Browsable(false)]
    public new Size AutoScrollMargin { get; set; }
    [Browsable(false)]
    public new Size AutoScrollMinSize { get; set; }
    [Browsable(false)]
    public new AutoSizeMode AutoSizeMode { get; set; }
    [Browsable(false)]
    public override AutoValidate AutoValidate { get; set; }
    [Browsable(false)]
    public override Image BackgroundImage { get; set; }
    [Browsable(false)]
    public override ImageLayout BackgroundImageLayout { get; set; }
    [Browsable(false)]
    public new bool CausesValidation { get; set; }
    [Browsable(false)]
    public new ImeMode ImeMode { get; set; }
    [Browsable(false)]
    public new Padding Padding { get; set; }
    [Browsable(false)]
    public override RightToLeft RightToLeft { get; set; }
    #endregion

  9. #9

    نقل قول: حذف یک Property از کنترل

    مرسی ، واقعا کمکم کرد

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •