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

نام تاپیک: ایجاد منوی راست کلیک برای کنترل ها و ایجاد رویداد آن با کد

  1. #1
    کاربر دائمی آواتار fool66
    تاریخ عضویت
    آذر 1390
    محل زندگی
    Telegram.me/programmerirani
    پست
    576

    ایجاد منوی راست کلیک برای کنترل ها و ایجاد رویداد آن با کد

    به نام خدا
    سلام با اجازه اساتید می خوام آموزش نحوه ایجاد یک منوی راست کلیک و تولید رویداد اونو براتون بزارم امیدوارم کمی و کاستی داشت به بزرگواری خودتون ببخشید

    1- برای این کار ابتدا یک کنترل دلخواه که می خواهید منوی راست کلیک روی اون اجرا بشه به فرم اضافه کنید ( من یک lable می زارم اسمش label1 هست )

    2- یک شی از نوع ContextMenu در فرم خودتون ایجاد کنید به صورت زیر:

    ContextMenu main = new ContextMenu();

    3-به تعداد مورد نیاز شی از نوع MenuItem ایجاد می کنیم برای گزینه های راست کلیک،برای این کار به صورت زیر عمل می کنیم ( مثلا من 5 تا اضافه می کنم)

    MenuItem item1 = new MenuItem("text1");
    MenuItem item2 = new MenuItem("text2");
    MenuItem item3 = new MenuItem("text3");
    MenuItem item4 = new MenuItem("text4");
    MenuItem item5 = new MenuItem("text5");

    3-حالا باید این آیتم ها رو به منو انتساب بدیم در form_load به این صورت می نویسیم (اگر زیر منو نداشته باشیم):
    main.MenuItems.AddRange(new MenuItem[] {item1,item2,item3,item4,item5});

    ولی اگر بخواهیم
    item5 زیر منوی item4 و item4 زیر منوی item3 باشه اینطور می نویسیم:
    main.MenuItems.AddRange(new MenuItem[] {item1,item2,item3});
    item3.MenuItems.AddRange(new MenuItem[] { item4 });
    item4.MenuItems.AddRange(new MenuItem[] { item5 });

    4- حال منو رو باید به کنترل اضافه شده نسبت بدیم ( همون که قسمت اول گفتم مثلا من label1 رو اضافه کردم ) ، در _MouseDown کنترل به این صورت می نویسیم :

    private void label1_MouseDown(object sender, MouseEventArgs e)
    {
    if (MouseButtons == MouseButtons.Right)
    {
    main.Show(label1, e.Location);
    }
    }

    5- اگر الان یک اجرا از برنامه خودتون بگیرید و می بینید روی شی که تعیین کرده اید با راست کلیک منو ظاهر می شود ولی عملی انجام نمی دهد حالا نیاز داریم که برای منوی خودمون رویداد ایجاد کنیم ( شوخی نکن نمی گفتی نمی دونستیم )

    6- برای ایجاد رویداد در form_load خومون اینطور می نویسیم برای Itemمورد نظرمون:
    آیتم_موردنظر.Click += new EventHandler(اسم_رویداد_به_دلخواه  );

    item2.Click += new EventHandler(item2_Click);

    7- حالا برای رویدادی که نوشتیم تابع رو می نویسیم :
       private void اسم_رویدادی_که_انتخاب_کردیم  (object sender, EventArgs e)
    {
    //دستورات
    }

        private void item2_Click(object sender, EventArgs e)
    {
    MessageBox.Show("تموم شد به همین راحتی");
    }

    تموم شد به همین راحتی امیدوارم مفید باشه
    سوالی داشتین بپرسین
    تشکر هم زدید ممنون میشم
    آخرین ویرایش به وسیله fool66 : دوشنبه 16 اردیبهشت 1392 در 03:51 صبح

  2. #2
    کاربر تازه وارد آواتار ploto_m
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    جایی که دوست ندارم باشم!
    پست
    43

    Question بایند کردن combo box داخل منوی کلیک راست

    می خوام تو منوی کلیک راست فقط یه combobox بزارم واونو بایند کنم به دیتا بیس
    منو هم موقع کلیک راست روی یک دکمه باز میشه
    تو فرم لود اینو نوشتم نشد
    toolStripComboBox1.ComboBox.DataSource = fieldcontroller.SelectAll();
    toolStripComboBox1.ComboBox.DisplayMember = "FieldName";
    toolStripComboBox1.ComboBox.ValueMember = "FieldId";

    تو دکمه هم نوشتم نشد نمیدونم اشکال کار کجاست

تاپیک های مشابه

  1. آموزش: ایجاد منوی راست کلیک دلخواه
    نوشته شده توسط erfan_urchin در بخش C#‎‎
    پاسخ: 15
    آخرین پست: چهارشنبه 30 مرداد 1392, 09:46 صبح
  2. سوال: ساخت منوی راست کلیک برای مرورگر ها
    نوشته شده توسط Hamishebahar در بخش C#‎‎
    پاسخ: 0
    آخرین پست: جمعه 29 اردیبهشت 1391, 19:26 عصر
  3. ایجاد منوی راست کلیک در List Box
    نوشته شده توسط saeedvir در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: جمعه 10 مهر 1388, 16:57 عصر
  4. ایجاد گزینه ی جدید در منوی راست کلیک و بخش new
    نوشته شده توسط HadiVB در بخش ارزیابی نرم افزار
    پاسخ: 1
    آخرین پست: شنبه 20 تیر 1388, 15:59 عصر
  5. سوال: چطوری منوی راست کلیک ماوس برای کامپوننت فلش غیر فعال باشه؟
    نوشته شده توسط Mostafa_Sabeti در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 2
    آخرین پست: دوشنبه 11 آذر 1387, 10:23 صبح

برچسب های این تاپیک

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

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