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

نام تاپیک: Disable کردن Menu item ها

  1. #1
    کاربر دائمی آواتار AmirAlimadadi
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    سن
    39
    پست
    212

    Disable کردن Menu item ها

    با سلام به دوستان
    یه سوال برای من پیش اومده که به نظر راحت می رسه اما واقعا برای من مشکل درست کرده.
    من یه برنامه دارم که توی اون یه MenuStrip وجود داره، اون منو خودش چند تا زیر منو(MenuStripToolItem) داره. حالا با استفاده از برنامه نویسی، بر اساس شرایط موجود در برنامه، برخی از اون آیتم ها بایستی disable بشن، برای این کار Enable = False رو می نویسم، در نتیجه موقعی که کاربر بره روی اون آیتم، نمی تونه آیتم های زیرش(DropDownList) رو ببینه، تا اینجا مشکلی نیست، ولی اگه کاربر بره روی یه آیتمی که Enable هست و بعد بره روی آیتم Disable، اون وقت می تونه زیر آیتم های اون آیتم Disable رو هم ببینه، انگار نه انگار که من اون رو Disable کردم.
    چه طور می تونم این مشکل رو حل کنم، ممنون.

  2. #2

    نقل قول: Disable کردن Menu item ها

    من همین الان امتحانش کردم و اگه منظورتون menustript باشه همچین مشکلی پیش نمیاد.

  3. #3
    کاربر تازه وارد آواتار mohkami
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    مشهد
    پست
    56

    نقل قول: Disable کردن Menu item ها

    سلام،
    من این رو هم روی 2008 تست کردم و هم روی 2005 در هر دو این مشکل وجود داشت!!!

  4. #4

    نقل قول: Disable کردن Menu item ها

    میشه یه sample بزارین ببینیم؟

  5. #5
    کاربر تازه وارد آواتار mohkami
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    مشهد
    پست
    56

    نقل قول: Disable کردن Menu item ها

    سلام مجدد،
    آقای علی مددی جواب رو بدست آوردم،

    2 راه داره:

    1_ خودت یک کلاس ToolStripMenuItem بسازی و Event OnPaint کلاست رو Override کنی.
    و این کلاس رو با کد وارد برنامت کنی و استفاده کنی.
    این یک مثال برای کلاس:
        public partial class toolitem : System.Windows.Forms.ToolStripMenuItem
    {

    protected override void OnPaint(PaintEventArgs e)
    {
    if(!Enabled)
    this.DropDown.Visible = false;
    else
    this.DropDown.Visible = true;
    }
    }



    2_ یا اینکه مشخصاً این کد رو توی یکی از Event هایPain یا mouse enter یا mouse hover اون ToolStripMenuItem ی که disable شده قرار بده:
    ( toolStripMenuItem3 اسم اونی هست که disable شده)


    if(!Enabled)
    toolStripMenuItem3.DropDown.Visible = false;
    else
    toolStripMenuItem3.DropDown.Visible = true;


    اگه از این سوالی داشتید بپرسید!
    آخرین ویرایش به وسیله mohkami : سه شنبه 30 تیر 1388 در 19:31 عصر

  6. #6

    نقل قول: Disable کردن Menu item ها

    خیلی عذر میخوام من منظور شما رو درست متوجه نشده بودم و Dropdown رو امتحان نکرده بودم.شرمنده.

  7. #7
    کاربر دائمی آواتار AmirAlimadadi
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    سن
    39
    پست
    212

    نقل قول: Disable کردن Menu item ها

    ممنون از شما، ولی سوال اینجاست که چرا اینجوری هست، مگه به طور منطقی نباید زیر منوها مخفی باشن؟؟!!

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

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