کنترل ContextMenuStrip

کنترل ContextMenuStrip، یک پنجره pop up می‌باشد که وقتی ظاهر می‌شود که کاربر بر روی فرم و یا یک کنترل راست کلیک کند. نمونه بارز این این کنترل را می‌توانید، با کلیک راست بر روی دسکتاپ ویندوز و یا قسمت‌های مختلف ویندوز مشاهده کنید :
ContextMenuStrip-control-in-C#-01
برای استفاده از این کنترل در فرم و سایر کنترل‌ها کافیست که یک نمونه از آن را از جعبه ToolBox کشیده و بر روی فرم قرار دهید:
contextmenustrip-control-in-csharp-05
با این کار همانطور که در شکل زیر مشاهده می‌کنید کنترل به قسمت بالای فرم جسبیده و همچنین می‌توانید نام آن را در قسمت Component try مشاهده کنید. اضافه شدن کنترل به قسمت Component try بدین معناست که کنترل جز کنترل‌های غیر بصری است یعنی در حالت عادی و با اجرای برنامه قابل مشاهده نبوده و در شرایط خاصی ظاهر می‌شود، مثلاً کنترل ContextMenuStrip با کلیک راست بر روی فرم و یا کنترل نمایش داده می‌شود.

اضافه کردن آیتم به ContextMenuStrip

برای اضافه کردن آیتم به ContextMenuStrip بر روی جعبه‌های خالی آن کلیک کرده و آیتم‌های مورد نظر خود را اضافه می‌کنیم. با کلیک بر روی هر جعبه خالی یک جعبه خالی در سمت راست و یک جعبه خالی در پایین آن ظاهر می‌شود. برای اضافه کردن آیتم‌های اصلی از جعبه زیرین و برای زیر آیتم هم از جعبه سمت راستی استفاده می‌کنیم :
ContextMenuStrip-control-in-C#-02
حال می‌خواهیم منوی ابتدای درس را شبیه سازی کنیم. برای این کار ابتدا منوهای اصلی را ایجاد می‌کنیم :
ContextMenuStrip-control-in-C#-03

فرض کنید می‌خواهیم زیر منوهایی را هم به منوی View اضافه کنیم. بر روی منوی View کلیک کرده و زیر منوهای آن را هم اضافه می‌کنیم :
ContextMenuStrip-control-in-C#-04

تا اینجا ContextMenuStrip تکمیل شده است و می‌خواهیم آن را به کنترل مورد نظرمان، اضافه کنیم.

اضافه کردن ContextMenuStrip به کنترل‌ها

با اضافه کردن ContextMenuStrip به فرم اتفاق خاصی نمی‌افتد و وقتی برنامه اجرا شود و بر روی فرم کلیک راست کنیم، این کنترل ظاهر نمی‌شود. حال که کنترل را به فرم اضافه کردیم، باید به برنامه اعلام کنیم که مثلاً فرم قرار است که از فلان ContextMenuStrip استفاده کند. برای این کار بر روی فرم کلیک کرده تا به حالت فعال در آید، سپس از پنجره Properties گزینه ContextMenuStrip را بر روی ContextMenuStrip مورد نظر خودمان تنظیم می‌کنیم :
contextmenustrip-control-in-csharp-06
برنامه را اجرا و بر روی فرم راست کلیک کنید :
contextmenustrip-control-in-csharp-07