کنترل TrackBar

کنترل TrackBar شبیه یک نوار لغزنده با یک دستگیره است که با استفاده از این دستگیره، می‌توان مقدار آن را تعیین کنید. ناحیه‌ای که دستگیره به آن اشاره می‌کند نشان دهنده مقدار جاری کنترل است. شکل این کنترل به صورت زیر است :
trackbar-01
کاربر می‌تواند دستگیره را در جهت افقی حرکت دهد و همچنین می‌توان جهت حرکت را به صورت عمودی تغییر داد. مقدار این کنترل در حالت افقی از سمت چپ به راست و در حالت عمودی از پایین به بالا افزایش می‌یابد. در زیر تعدادی از خواص این کنترل را مشاهده می‌کنید:

خاصیت توضیح
LargeChange مقدار این خاصیت مشخص می‌کند که مقدار TrackBar با کلیک کردن روی آن یا با استفاده از دکمه‌های PageDown یا PageUp چه مقدار افزایش یابد.
Maximum بیشترین مقداری که به TrackBar اختصاص داده‌ایم.
Minimum کمترین مقداری که به TrackBar اختصاص داده‌ایم.
Orientation نحوه نمایش TrackBar را تعیین می‌کند (افقی یا عمودی).
SmallChange مقداری که در هنگام فشار دادن کلیدهای جهت نما به TrackBar اضافه یا کم می‌شود را تعیین می‌کند.
TickFrequency تعداد خطوط عمودی که در زیر TrackBar نمایش داده می‌شوند.
Value مقدار جاری TrackBar را نشان می‌دهد.

هنگامی که شما دستگیره کنترل را جابه جا می‌کنید رویداد Scroll اتفاق می افتد. در مثال زیر نحوه‌ی استفاده از کنترل TackBar به شما نشان داده می‌شود. یک پروژه Windows application ایجاد کرده و 3 کنترل TackBar و 3 Label به آن اضافه کنید. همچنین یک کنترل Panel به فرم اضافه کنید و خاصیت BackColor آن را به Black تغییر دهید.
trackbar-02
خاصیت Name آن‌ها را به ترتیب به trackBarRed ،trackBarGreen و trackBarBlue و خاصیت Maximum را برابر 255 و خاصیت TickFrequency هر یک را به 15 تغییر دهید. به محیط کد نویسی رفته و کنترل کننده رویداد زیر را برای استفاده سه TrackBar بنویسید.

private void trackBar_Scroll(object source, EventArgs e)
{
    int red = trackBarRed.Value;
    int green = trackBarGreen.Value;
    int blue = trackBarBlue.Value;

    Color color = Color.FromArgb(red, green, blue);

    panelColor.BackColor = color;
}

به محیط طراحی برگردید و سه TrackBar را انتخاب و در قسمت Events مربوط به پنجره Properties رویداد scroll را یافته و متد trackBar_Scroll را انتخاب کنید. در داخل کنترل کننده رویداد، مقادیر خاصیت Value از هرکدام از Trackbar ها را در سه متغیر ذخیره کرده‌ایم. مقادیر این سه متغیر نشان دهنده رنگ‌های قرمز، سبز، آبی (RGB values ) می‌باشد. سپس یک شیء از کلاس System.Drawing.Color را ساخته و از مقادیر TrackBar ها به عنوان پارامترهای متد ()FromArgb استفاده می‌کنیم. سپس رنگ Panel را به رنگی که بر اساس مقادیر TrackBar ها ایجاد شده است تغییر می‌دهیم. برنامه را اجرا و دستگیره‌های TrackBar ها را جابه جا و نتیجه را مشاهده کنید.
trackbar-03