در این بخش می خواهیم شما را با ساختن منو در ویژوال بیسیک آشنا کنیم.ساختن منو در ویژوال بیسیک بسیار ساده است.
با کمی حوصله به راحتی می توانید منوهای دلخواه خود را بسازید.
برای ادامه روی "ادامه متن" کلیک کنید.
منو ها:
اگر نگاهی به محیط ویژوال بیسیک بکنید با منو ها بیشتر آشنا میشوید به شکل زیر توجه کنید

ساختن منو شبیه منو های شکل بالا در ویژوال بیسیک خیلی آسان است پس اگر آماده هستید مراحل زیر را دنبال کنید تا با هم به فرم برنامه چند تا منو اضافه کنیم:
بعد از اینکه یک پروژه جدید اضافه کردید از منوی Tools روی Menu Editor کلیک کنید(Ctrl+E) تا پنجره Menu Editor باز شود:

بعد از باز شدن پنجره Menu Editor این پنجره دارای چندین قسمت مهم است که به بررسی مهمترین آنها می پردازیم.
Caption: برای مشخص کردن عنوان منو که در برنامه نمایش داده می شود.
Name: مشخص کردن نام منو برای دستیابی به خواص و کدنویسی
Shortcut: دسترسی سریع به منو ها به عنوان مثال Ctrl + A
Checked: اینکه آیا علامت چک جلوی منو ظاهر شود یا نه
Enabled: فعال یا غیر فعال بودن منو
Visible: نمایش یا عدم نمایش منو
بعد از اینکه با برخی از خواص منو آشنا شدید آماده ایم تا یک منو با نام File درست کنیم:
پس Caption را با کلمه &File پر کنید و بعد Name آن را هم mnuFile قرار دهید.
حالا دکمه Ok را کلیک کنید تا منو به فرم اضافه شود.مانند شکل زیر:

خوب تا اینجا ما فقط یک منوی اصلی(Parent) ساختیم برای ساختن زیر منو(Sub Menu) چه کاری باید انجام داد به عنوان مثال بعد از اینکه روی File کلیک کردید منوی
New ظاهر شود.پس دوباره پنجره Menu Editor را باز کنید (Ctrl+E) تا منوی قبلی را کمی تغییر دهیم.بعد از اینکه پنجره Menu Editor باز شد روی دکمه Next کلیک کنید تا بتوانید یک منوی جدید ایجاد کنید بعد از آن هم مقدار Caption را &New وارد کنید و Name آن را هم mnuFileNew قرار دهید اگر الان دکمه Ok کلیک کنید منوی New به صورت مجزا در کنار منوی File نمایش داده میشود برای اینکه منوی New به عنوان زیر منوی (Sub Menu) File نمایش داده شود باید در پنجره Menu Editor بعد از اینکه روی New کلیک کردید از جهت های راست و چپ و بالا پایین روی جهت راست کلیک کنید تا منوی New یک مقداری از منوی File فاصله پیدا کند مانند شکل زیر:

بدین صورت منوی New جزء زیر منوی File میشود به همین راحتی!
برای اضافه کردن زیر منوی دیگری به عنوان زیر مجموعه منویNew همین کار را برای منو های دیگر انجام دهید.
برای کامل کردن منوی برنامه ما چند منوی دیگر به برنامه اضافه میکنیم:
File>Exit
Edit>Copy
Edit>Paste
View>Command Button
Help>About
بعد از اینکه این منو ها را به برنامه اضافه کردید برنامه شما باید شبیه به شکل زیر شده باشد.

حالا نوبت به کد نویسی منو ها می رسد .برای کد نویسی منو ها هم مانند سایر کنترل های ویژوال بیسیک استفاده می کنیم. میخواهیم کاری کنیم که وقتی کاربر روی منوی New کلیک کرد یک فرم جدید نمایش داده شود پس یک فرم به پروژه اضافه کنید(از منوی Project روی Add Form کلیک کنید( بعد از اضافه کردن فرم به برنامه روی منوی New (روی فرم برنامه)یک کلیک کنید تا پنجره کد نویسی باز شود.حالا قطعه کد زیر را وارد کنید تا فرم شماره 2 نمایش داده شود:
Private Sub mnuFileNew_Click()
Form2.Show
End Sub
همانطور که ملاحظه می کنید منو ها در ویژوال بیسیک به رویداد بیشتر ندارند و آن هم رویداد Click است.
حالا میخواهیم کاری کنیم که وقتی روی منوی Command Button کلیک می کنیم دکمه
Command1 نمایش داده شود و منو هم یک چک کنار آن ظاهر شود که معلوم شود که دکمه در حال نمایش است و وقتی که دوباره روی منو کلیک می کنیم دکمه مخفی شود و چک کنار منو پاک شود.بعد از اضافه کردن یک CommandButton از جعبه ابزار ویژوال بیسیک و قرار دادن خواص Visible = False قطعه کد زیر را برای منو Command Button بنویسید:
Private Sub mnuViewCmd_Click()
mnuViewCmd.Checked = Not mnuViewCmd.Checked
Command1.Visible = mnuViewCmd.Checked
End Sub
در قسمت بعدی میخواهیم کاری بکنیم که کاربر متنی را در داخل TextBox انتخاب کرد منوی Copy فعال شود و در غیر اینصورت غیر فعال شود.پس یک TextBox از جعبه ابزار روی فرم برنامه اضافه کنید.بعد از اضافه کردن TextBox روی فرم ، روی TextBox دوبار کلیک کنید تا به قسمت کد نویسی وارد شویم ، بعد از اینکه وارد صفحه کد نویسی شدیم ، از قسمت رویدادها(Event) رویداد MouseUp روی انتخاب کنید.
چون ما میخواهیم کاری کنیم که وقتی کاربر کلیک کرد و متن مورد نظر را انتخاب کرد ، و دست خود را از روی کلیک برداشت چک کنیم که آیا متن انتخاب شده یا خیر.کد زیر را برای رویداد MouseUp کنترل Text1 اضافه کنید:
If Text1.SelText = "" Then
mnuEditCopy.Enabled = False
Else
mnuEditCopy.Enabled = True
End If
در قطعه کد بالا چک کردیم که آیا متنی انتخاب شده یا خیر ، اگر متن انتخاب شده منوی Copy فعال شود و در غیر اینصورت غیر فعال شود.
برای نمایش و یا عدم نمایش منو باید از خواص Visible استفاده کرد.به عنوان مثال اگر میخواهیم منوی Paste را نمایش ندهیم از قطعه کد زیر استفاده می کنیم:
mnuEditPaste.Visible = False
و در آخر هم میخواهیم برای هر منو یک کلید میان بر (Shortcut) قرار دهیم ، روش کار بسیار آسان است.وقتی فرم در حالت انتخاب است(Design) پنجره Menu Editor را باز کنید(از منوی Tools روی Menu Editor کلیک کنید( بعد از باز شدن پنجره Menu Editor منوی &New را انتخاب کرده و از قسمت Shortcut گزینه Ctrl+N را انتخاب کنید مانند شکل زیر:

حالا برای هر منو میتوانید کلید میان بر انتخاب کنید.
توجه داشته باشید که برای منو های اصلی(مثل &File) نمیتوانید کلید میان بر انتخاب کنید.
منوی فوری(Popup Menu)
اگر دقت کرده باشید وقتی روی فرم برنامه در حالت طراحی(Design) راست کلیک (Right Click) می کنید یک منوی فوری(Popup Menu) باز می شود مانند شکل زیر:

برای اینکه در برنامه خودتان هم بتوانید همچنین منویی(Popup Menu) داشته باشید باید چند خط کد بنویسید.ما میخواهیم کاری کنیم که ، وقتی کاربر روی فرم برنامه راست کلیک کرد منو های Edit نمایش داده شود پس اولین کاری که میکنیم که باید یک رویداد از رویدادهای فرم را انتخاب کنیم بهترین رویداد برای اینکار رویداد MouseUp است.چون وقتی کاربر راست کلیک میکنید و دست خود را از روی موس بر می دارد منوی فوری نمایش داده شود.پس روی فرم دوبار کلیک کنید تا به قسمت کد نویسی فرم وارد شویم پس از آن هم رویداد MouseUp فرم را انتخاب کنید.بعد از آن باید تشخیص بدهیم که آیا کاربر دکمه سمت راست موس را کلیک کرده یا نه؟برای اینکه تشخیص بدهیم که کاربر کدام کلیک را فشار داده در رویداد MouseUp یک آرگومان دارد به نام Button . به وسیله این آرگومان میتوانیم تشخیص بدهیم که کاربر کدام کلیک را فشار داده است.پس با هم کد مربوطه را می نویسیم:
If Button = vbRightButton Then
Form1.PopupMenu mnuEdit
End If
در کد بالا گفتیم که اگر دکمه موس برابر بود با دکمه سمت راست آنگاه منوی Edit را نمایش بده.
همانطور که ملاحظه می کنید ما از متد PopupMenu است کردیم.کار این متد این است که نام منوی را میگیره تا روی فرم نمایش دهد.
حالا برنامه را اجرا کرده(F5) و روی فرم در یک جای خالی راست کلیک کنید ، اگر کد را درست وارد کرده باشید باید منوی Edit نمایش داده شود مانند شکل زیر:
