معرفی کنترل ToggleSwitch /Button switch

چهارشنبه 1 مهر 1394

بعد از خواندن این مقاله و اجرا کردن پروژه ضمیمه متوجه خواهید شد که استفاده از ToggleSwitch Winforms Control زیباتر و جذاب تر از checkbox معمولی است . کنترل ToggleSwitch یا ToggleButtonمی تواند مقدار باینری On/Off و یا حالت Checked/Unchecked را نشان دهد.

معرفی کنترل ToggleSwitch /Button switch

برای شما به عنوان برنامه نویس بسیار بهینه است که از کنترل هایی موجود در دات نت نهایت استفاده را ببرید ، تا اینکه دوباره کاری کنید و زمان زیادی را برای ساخت یک کنترل با همان ویژگی ها ، صرف کنید.

به همین دلیل این مقاله برای معرفی ToggleSwitch نوشته شده است تا شما از امکانات موجود نهایت استفاده را ببرید .

1-معرفی کنترل ToggleSwitch

این کنترل از کلاس Control مشتق شده است بنابراین دو پراپرتی Anchor و Dock را دارا می باشد.همچنین این کنترل ویژگی Transparent BackColor را نیز دارا می باشد.

2 – استایل های متفاوت Transparent BackColor

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

پشتیبانی تصویر و متن

اگر ابتدا تصویر ست کرده باشید این تصویر اولویت پیدا می کند و پراپرتی متن ست شده اعمال نخواهد شد.

4 – پراپرتی های جالب دیگر

AllowUserChange- ممکن است در مواقعی نخواهید به کاربر اجازه تغییر مقدار این کنترل را بدهید. در این صورت مقدار این پراپرتی را False  کنید.

AnimationInterval, AnimationStep & UseAnimation -  با تنظیم این پراپرتی ها در واقع خاصیت انیمشن به کنترل slider  خود می دهیم.زمانی که UseAnimation = true است دو پراپرتی دیگر سرعت حرکت دکمه را تعیین خواهند کرد.

AnimationStep با این خاصیت شماره پیکسلی که slider  در آن نقطه بایستد ، تعیین می شود. AnimationInterval در این ایتم مقدار زمان مورد نیاز که سوییچ بین On/Off یا بین Checked/NotChecked اتفاق بیافتد درج می شود.

اگر مایل هستید سوییچ بین دو مقدار Slider سریع اتفاق بیافتد مقدار خاصیت UseAnimation را برابر false قرار دهید.

GrayWhenDisabled – با این خاصیت تعیین می کنید که وقتی Slider  غیر فعال است به رنگ خاکستری باشد.

ThresholdPercentage – مقدار پیش فرض این خاصیت 50%  است .این آیتم مقدار حرکت دکمه بین دو مقدار True/False این کنترل را تعیین می کند.هنگام ضربه زدن شما بر روی دکمه Slider  میزان حرکت با این عدد سنجیده میشود.که اگر از این عدد فراتر برود بین دو مقدار سوییچ صورت می گیرد .یعنی اگر مقدار True بوده است به False  تغییر می کند و یا برعکس.

ToggleOnButtonClick & ToggleOnSideClick – کاربر همچنین علاوه بر ضربه زدن می تواند از درگ کردن دکمه Slider برای تغییر مقدار آن نیزاستفاده کند.با کمک این دو پراپرتی می توانید این امکان را به کاربر بدهید که با کلیک هم بتواند مقدار slider را تغییر دهد.اگر ToggleOnButtonClick = true کاربر با کلیک هم بین دو مقدار سوییچ خواهد کرد.اگر ToggleOnSideClick = true انگاه با کلیک روی نواحی دو طرف اسلایدر هم مقدار ان عوض خواهد شد.اگر هر دو این آیتم های False  باشد کلیک بر روی اسلایدر تاثیری نخواهد گذاشت .

5 - Customizable renderer

هر استایلی رندر مخصوص به خود را دارا می باشد.با این حال پراپرتی های عمومی مثل پراپرتی Image  برای همه آنها مشترک است .و همه پراپرتی های کنترل ToggleSwitch  توسط استایل های مختلف رندر و پذیرفته نمی شود.پراپرتی های دیگر مانند رنگ را من انتخاب کرده ام تا به رندرهای خاصی اضافه شود.به دلیل اینکه آنها تمام کنترل به روش متفاوتی رنگ می کنند.افزودن پراپرتی رنگ به صورت عمومی به کنترل ToggleSwitch مقداری سخت و پیچیده است.اما افزودن آن به رندر ظاهر آن را به صورت خاص و Customize شده نشان می دهد. Drawback چیزی است که این اجازه را به شما می دهد.شما باید یک رندر جدید ایجاد کنید ، پراپرتی های آن را تغییر دهید و بعد به کنترل ToggleSwitch نسبت دهیم .در ضمیمه Demo  این کار آموزش داده شده است .

نکات جالب

می توانید تصاویر مناسبی که با فتوشاپ می سازید را نگه دارید و بعدها برای Customizeکردن کنترلتان از انها استفاده کنید.این لینک می تواند در این زمینه شما را راهنمایی کند. 

آموزش سی شارپ

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 2k بازدید
  • 2 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید