ساخت نوار ابزار با استفاده از کنترل ToolStrip

نوار ابزار شامل دکمه ها و اجزای مفیدی برای راحتی کار کاربر می باشد. مانند منو، نوار ابزار هم در تعداد زیادی از نرم افزارهای مشهور مانند Microsoft Office 2003 به چشم می خورد. در زیر نوار ابزار Microsoft Office 2003 را مشاهده می کنید :
toolbars-1001

 

کنترل ToolStrip

دکمه ها و اجزای یک نوار ابزار در داخل کنترل ToolStrip قرار می گیرند. برای جا به جا کردن کنترل ToolStrip از نقطه چین های عمودی که در سمت چپ آن قرار دارند استفاده می شود. در زیر برخی از خواص مهم کنترل ToolStrip توضیح داده شده اند :

خصوصیت توضیح
CanOverflow آیتم هایی که داخل کنترل toolstrip فضای کافی برای نمایش ندارند در یک قسمت مخفی قرار می گیرند که این فضا یا یک دکمه در دسترس قرار می گیرد.
GripStyle تعیین می کند دستگیره ی جابه جایی toolstrip نمایش داده شود یا خیر
Items آیتم هایی که در کنترل toolstrip قرار می دهید در داخل این خصوصیت قرار می گیرند
LayoutStyle نحوه ی نمایش آیتم ها را تعیین می کند
ShowItemToolTips تعیین می کند tool tip برای آیتم نمایش داده شود یا نه
Stretch جهت نمایش ToolStripPanel را تعیین می کند

 

اضافه کردن آیتم های استاندارد به نوار ابزار

قبل از ایجاد یک نوار ابزار دلخواه، اجازه دهید ببینیم که ویژوال استودیو چگونه به طور خودکار آیتم های استاندارد که شامل دکمه هایی مانند Save، Open، Copy و Paste می باشند را ایجاد می کند. یک برنامه ویندوزی جدید ایجاد کرده و نام آنرا ToolBarDemo بگذارید. از قسمت Menus & Toolbars نوار ابزار به صورت زیر یک کنترل ToolStrip را بر روی فرم قرار دهید.
toolbars-1002
بر روی فلش کوچک واقع در سمت راست کنترل ToolStrip کلیک کرده تا پنجره ای به شکل زیر نمایش داده شود:
toolbars-1003
در پنجره باز شده بر روی گزینه Insert Standard Items کلیک کرده تا ویژوال استودیو به طور خودکار دکمه های استاندارد را به صورت زیر ایجاد کند :
toolbars-1004

 

خاصیت Items

کنترل های که داخل ToolStrip اضافه می کنید در داخل این خصوصیت قرار می گیرند. انواع مختلفی از آیتم ها را می توان در داخل کنترل ToolStrip قرار داد و همگی آنها از کلاس ToolStripItem ارث بری می کنند.

نوع آیتم توضیح
ToolStripButton یک آیتم که نمایش دهنده یک دکمه هست . با کلیک بر روی این آیتم می توان عملیات مختلفی را اجرا کرد.
ToolStripLabel یک آیتم که نمایش دهنده یک متن غیر قابل تغییر است.از این آیتم می توان برای نمایش عکس هم استفاده کرد
ToolStripSplitButton یک آیتم که نمایش دهنده دکمه و فلش رو به پایین در کنار آن است.با کلیک بر روی این دکمه یک منوی باز شونده نمایش داده می شود.دکمه خود می تواند عملیات جداگانه ای را انجام دهد.
ToolStripDropDownButton شبیه به آیتم ToolStripSplitButton ، این آیتم نیز یک دکمه با فلش رو به پایین را نمایش می دهد ولی در این آیتم دکمه کار خاصی را انجام نمی دهد و صرفا منو را نمایش می دهد.
ToolStripComboBox این آیتم یک کامبو باکس را نمایش می دهد.
ToolStripProgressBar یک نوار پیشرفت به کنترل ToolStrip اضافه می کند.
ToolStripSeparator یک جدا کننده افقی یا عمودی را نمایش می دهد.
ToolStripTextBox یک کنترل TextBox را نمایش می دهد.

در قسمت های بعدی نحوه ی استفاده از آیتم ها ی بالا توضیح داده شده است.

 

آیتم ToolStripButton

این آیتم رایج ترین آیتم ی است که شما در یک نوار ابزار می بینید. زمانی که بر روی این آیتم کلیک می کنید رویداد Click آن همچون یک دکمه معمولی اتفاق می افتد. کنترل ToolStrip قبلی را حذف و یک نمونه جدید از آن را روی فرم خود قرار دهید. اگر شما کنترل ToolStrip را انتخاب کنید یک آیکن با فلش کوچک رو پایین در کنار آن،نمایان می شود.با کلیک بر روی این آیکن لیستی از آیتم هایی که می توانید به کنترل اضافه کنید ، نمایش داده می شود.
toolbars-1005
بر روی Button کلیک کنید تا یک کنترل ToolStripButton به ToolStrip اضافه شود.
toolbars-1006
این کنترل از یک آیکن پیشفرض استفاده می کند. برای تغییر دادن این آیکن به خاصیت Image از پنجره Properties رفته و عکس دلخواه خود را انتخاب کنید. در قسمت طراحی فرم ، بر روی دکمه دوبار کلیک کنید تا کنترل کننده رویداد کلیک آن به طور خودکار توسط ویژوال استودیو ایجاد شود. کد زیر را به کنترل کننده رویداد اضافه کنید :

toolStripProgressBar1.PerformStep();

کد بالا باعث می شود هنگامی که بر روی دکمه کلیک کنید یک پیغام ساده نمایش داده شود. در واقع ، کدهایی که وظیفه خاصی را انجام می دهند مانند تغییر استایل فونت جعبه متن و… در این رویداد قرار می دهید.

 

آیتم ToolStripLabel

این آیتم به شما اجازه می دهد که یک متن غیر قابل تغییر را به ToolStrip اضافه می کند. همچنین به شما اجازه می دهد که یک آیکن کوچک را در کنار آن نمایش دهید. برای اضافه کردن یک ToolStripLabel ، بر روی آیکن کوچک کلیک کرده و سپس Label را انتخاب کنید.
toolbars-1007
هنگامی که این ایتم را اضافه کردید ، می توانید از خاصیت Text آن برای تغییر عنوان آن استفاده کنید.
toolbars-1008
با استفاده از خاصیت Image می توان یک عکس را در کنار آن نمایش داد.

toolbars-1009

 

آیتم ToolStripSplitButton

این آیتم یک دکمه که قابل کلیک کردن است را نمایش می دهد. به علاوه اینکه یک فلش رو به پایین در کنار آن قرار دارد که با کلیک بر روی آن یک منوی باز شونده شامل دستوراتی که مرتبط با دکمه هستند نمایان می شود. یک نمونه از این آیتم ، دکمه Add New Item در نوار ابزار Visual Studio است.
toolbars-1010
هنگامی که بر روی دکمه اصلی کلیک می کنید پنجره ی Add New Item به جای منو نمایان می شود. برای اضافه کردن کنترل ToolStripSplitButton بر روی new item در ToolStrip کلیک کرده و SplitButton را انتخاب کنید. برای اضافه کردن منو به این کنترل ، بر روی فلش کوچک کنار آن کلیک کنید و لیست منوها را بنویسید.
toolbars-1011
دکمه و منو آیتم های مرتبط با آن می توانند عملیات مختلفی را هنگام کلیک بر روی آنها، انجام دهند. به این نکته توجه فرمایید ، که کنترل کننده رویداد دکمه با کنترل کننده منوهای زیر مجموعه آن متفاوت است. همانند کنترل ToolStripButton، می توانید برای این کنترل آیکن کوچکی را با استفاده از خاصیت Image تعیین کنید.
toolbars-1012

 

آیتم ToolStripDropDownButton

این آیتم بسیار شبیه به آیتم ToolStripSplitButton است ، از این جهت که هنگامی که بر روی آن کلیک می کنید یک منوی بازشونده نمایش داده می شود. تنها تفاوت بین آنها این است که DropDownButton یک تصویر ساده است ، و هنگامی که بر روی آن کلیک می کنید تنها منو را نمایش می دهد. پس هدف DropDownButton فقط نمایش منو است. برای اضافه کردن این ایتم در لیست بازشونده بر روی DropDownButton کلیک کنید.
toolbars-1013
شیوه اضافه کردن منو بب این آیتم شبیه به کنترل ToolStripSplitButton است. همچنین می توانید به روش مشابه با سایر کنترل ها برای این آیتم یک آیکن کوچک انتخاب کنید.

 

آیتم ToolStripComboBox

این آیتم به شما اجازه می دهد که یک کامبو باکس را به ToolStrip اضافه کنید. این آیتم شبیه به کنترل ComboBox است. برای اضافه کردن بخش هایی به این کنترل از خاصیت Items استفاده کنید.همچنین می توانید از رویداد SelectedIndexChanged استفاده کنید.
toolbars-1014
در شکل زیر ، یک کامبو باکس با تعدادی آیتم داخل آن نمایش داده شده است.
toolbars-1015
رویداد پیش فرض این کنترل کلیک است ، پس برای استفاده از رویداد SelectedIndexChanged به قسمت رویداد ها در پنجره Properties رفته و بر روی قسمت جلوی نام این رویداد دوبار کلیک کنید تا کنترل کننده رویداد آن به صورت خودکار برای شما نوشته شود.

 

آیتم ToolStripTextBox

این آیتم نمایانگر یک جعبه متن است. این کنترل شبیه به کنترل TextBox است و خاصیت بسیار مهم آن Text است که هنگام تغییر آن رویداد TextChanged اتفاق می افتد.
toolbars-1017
به این نکته توجه کنید که رویداد پیشفرض این آیتم کلیک است. اگر می خواهید یک کنترل کننده رویداد به آن اضافه کنید به پنجره Properties رفته و در قسمت رویدادها ، رویداد TextChanged را پیدا و بر روی آن دوبار کلیک کنید تا کنترل کننده رویداد آن اضافه شود.

 

آیتم ToolStripSeparator

تنها هدف این آیتم جدا کردن آیتم ها، به قسمت های مرتبط با هم است.
toolbars-1016
همانطور که در شکل بالا می بینید ، این آیتم کنترل ToolStrip را به قسمت های مختلفی تقسیم می کند.

 

آیتم ToolStripProgressBar

از این کنترل برای نمایش روند پیشرفت یک عملیات مانند ذخیره کردن ، حذف کردن یا هر عملیاتی که کاربر نیاز به صبر کردن دارد استفاده می شود. با استفاده از این آیتم یک نوار پیشرفت به کاربر نمایش داده می شود.بدون وجود این کنترل کاربر ممکن است تصور کند که برنامه قفل کرده یا کار نمی کند .
toolbars-1018
دو خاصیت مهم ToolStripProgressBar عبارتند از: Step و Value. خاصیت Value تعیین کننده وضعیت جاری نوار پیشرفت است و خاصیت Step تعیین می کند که با فراخوانی متد ()PerformStep چه مقدار به خاصیت Value اضافه شود. به عنوان مثال ، مقدار این خاصیت را برابر 1 قرار داده و یک کنترل Timer از قسمت Components جعبه ابزار بر روی فرم قرار دهید. مقدار خاصیت Enabled تایمر را به true تغییر داده و بر روی آن دوبار کلیک کنید تا کنترل کننده رویداد Tick ایجاد شود.سپس کد زیر را درون آن قرار دهید :

toolStripProgressBar1.PerformStep();

متد ()PerformStep هر 100 میلی ثانیه یک بار(این مقدار برابر خاصیت interval تایمر است) مقدار خاصیت value کنترل ToolStripProgressBar (که برابر خاصیت Step است ) یک واحد افزایش می دهد. برنامه را اجرا و نتیجه رامشاهده کنید.

toolbars-1019

 

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

هر آیتم دارای خاصیتی به نام ToolTipText است که مشخص کننده متنی است که هنگام قرار دادن موس بر روی آیتم نمایان می شود. به این نکته توجه کنید که ابتدا مقدار خاصیت ShowItemToolTips کنترل ToolStrip را به true تغییر دهید.
toolbars-1020

 

استفاده از خاصیت های و Overflow

هنگامی که شما تعداد زیادی آیتم به کنترل ToolStrip اضافه کنید برای آیتم های بعدی چه اتفاقی افتد؟ به عبارت دگیر برای آیتم های بعدی فضای کافی وجود ندارد.به طور پیشفرض مقدار خاصیت CanOverflow برابر true است. این کار سبب می شود که هنگامی که فضای کافی در کنترل ToolStip وجود ندارد ایتم ها در منوی مخفی که با یک دکمه کوچک در دسترس است قرار گیرند
toolbars-1021
همچنین می توانید مقدار خاصیت Overflow از هر ایتم را برابر Always قرار دهید . این کار سبب می شود که حتی زمانی که فضای کافی در کنترل وجود داشته باشد آیتم در منوی مخفی قرار گیرد.
toolbars-1022

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر و اگر سوالی دارید در بخش پرسش و پاسخ مطرح بفرمایید.