"

کنترل Splitter در سی شارپ

زهیر صفری 1404/07/25 0 19
لینک کوتاه https://zoheirsoftware.com/z/60650b70a |
آموزش کنترل Splitter در سی‌شارپ برای تقسیم فرم و تنظیم اندازه پنل‌ها در ویژوال استودیو, نحوه ایجاد Splitter در C# جهت طراحی رابط کاربری پویا و قابل تغییر., کاربرد Splitter در سی‌شارپ برای تنظیم بخش‌های فرم به‌صورت انعطاف‌پذیر.

 مقدمه

در طراحی رابط‌های کاربری ویندوزی با زبان C، کنترل‌هایی وجود دارند که تعامل مستقیم کاربر با چیدمان و اندازه‌ی بخش‌های مختلف فرم را ممکن می‌سازند.

یکی از این کنترل‌های مهم، Splitter است.

کنترل Splitter در سی‌شارپ برای تقسیم ناحیه‌های فرم به دو بخش قابل تغییر اندازه استفاده می‌شود و به کاربر اجازه می‌دهد با کشیدن ماوس، ابعاد پنل‌ها را مطابق نیاز خود تنظیم کند.

 مفهوم Splitter در سی‌شارپ چیست؟

کنترل Splitter در محیط Windows Forms نوعی کنترل واسطه است که بین دو کنترل دیگر قرار می‌گیرد و امکان تغییر اندازه‌ی پویا بین آن‌ها را فراهم می‌سازد.

به عنوان مثال، اگر در فرم خود دو پنل (Panel1 و Panel2) دارید و می‌خواهید کاربر بتواند با ماوس، عرض یا ارتفاع آن‌ها را تغییر دهد، کافی است Splitter را بین آن‌ها قرار دهید تا رابط کاربری شما پویا و قابل تنظیم شود.

در حقیقت، Splitter مانند مرزی قابل جابه‌جایی میان دو بخش عمل می‌کند و به‌صورت خودکار اندازه‌ی هر دو بخش را هماهنگ می‌کند.

تفاوت Splitter و SplitContainer

 ویژگی           SplitContainer Splitter
نوع کنترل  کنترل ساده و جداگانه     کنترل مرکب با دو پنل داخلی                            
میزان کنترل    نیاز به تنظیم دستی Dock  دارای Panel1 و Panel2 از پیش ساخته                    
امکانات ظاهری  ساده‌تر  پشتیبانی از SplitterFixed، Collapse و رویدادهای بیشتر 
 کاربرد         پروژه‌های سبک و قدیمی    رابط‌های مدرن و منعطف‌تر                              

 نحوه ایجاد Splitter در فرم در سی‌شارپ

در برنامه‌نویسی ویندوز فرم‌ها (Windows Forms)، یکی از کاربردی‌ترین ابزارها برای ایجاد رابط‌های پویا و قابل تنظیم، کنترل Splitter است.

این کنترل به شما اجازه می‌دهد بخش‌های مختلف یک فرم را از هم جدا کرده و به کاربر امکان دهید با کشیدن مرز میان آن‌ها، اندازه هر بخش را به دلخواه تغییر دهد.

این قابلیت نه‌تنها تجربه کاربری را بهبود می‌بخشد بلکه طراحی رابط‌های حرفه‌ای‌تر و داینامیک را نیز ممکن می‌سازد.

در ادامه به‌صورت کاملاً کاربردی، نحوه‌ی ایجاد Splitter در فرم را بررسی می‌کنیم تا بتوانید آن را هم از طریق محیط طراحی (Design Mode) و هم با کدنویسی (Code Mode) پیاده‌سازی کنید.

  ۱. روش طراحی در محیط ویژوال استودیو

 1. ابتدا دو کنترل مانند Panel را روی فرم قرار دهید.

 2. Panel اول را در سمت چپ فرم قرار داده و خاصیت Dock آن را روی Left تنظیم کنید.

3. از قسمت Toolbox کنترل Splitter را انتخاب کنید و آن را بین دو پنل بکشید.

4. خاصیت Dock برای Splitter را نیز روی Left قرار دهید.

5. Panel دوم را اضافه کرده و خاصیت Dockآن را روی Fill تنظیم کنید.

اکنون هنگام اجرای برنامه، Splitter به‌صورت خودکار بین دو بخش قرار می‌گیرد و با کشیدن آن می‌توانید اندازه‌ی پنل‌ها را تغییر دهید.

۲. روش برنامه‌نویسی (کدنویسی در زمان اجرا)

در بسیاری از پروژه‌های پویا، ممکن است بخواهید Splitter را در زمان اجرا (Runtime) ایجاد کنید.

در این حالت، کافی است مراحل زیر را در کد خود بنویسید:

Panel leftPanel = new Panel();
leftPanel.Dock = DockStyle.Left;
leftPanel.Width = 180;
leftPanel.BackColor = Color.LightGray;

Panel rightPanel = new Panel();
rightPanel.Dock = DockStyle.Fill;
rightPanel.BackColor = Color.WhiteSmoke;

Splitter splitter = new Splitter();
splitter.Dock = DockStyle.Left;
splitter.MinSize = 100;
splitter.MinExtra = 100;
splitter.BorderStyle = BorderStyle.FixedSingle;
splitter.BackColor = Color.DarkGray;
splitter.TabStop = false;

this.Controls.Add(rightPanel);
this.Controls.Add(splitter);
this.Controls.Add(leftPanel);

 

🔹 نکته:
ترتیب افزودن کنترل‌ها بسیار مهم است. ابتدا کنترل با Dock = Fill باید اضافه شود، سپس Splitter و در آخر پنل سمت چپ تا عملکرد صحیحی داشته باشند.

 نحوه ایجاد Splitter در فرم در سی‌شارپ

 نحوه حذف Splitter یا غیرفعال کردن آن در سی‌شارپ

در فرایند توسعه نرم‌افزارهای ویندوزی، گاهی لازم است کنترل Splitter را از فرم حذف کنید یا برای حفظ ساختار ثابت رابط کاربری، قابلیت حرکت آن را غیرفعال نمایید.

این اقدام معمولاً در شرایطی کاربرد دارد که بخواهید از تغییر ناخواسته چیدمان توسط کاربر جلوگیری کرده یا Splitter را به‌صورت موقت از چرخه‌ی اجرا خارج کنید.

حذف کامل Splitter

اگر Splitter را در زمان اجرا ایجاد کرده‌اید، می‌توانید با دو خط کد آن را حذف کنید:

this.Controls.Remove(splitter);
splitter.Dispose();

غیرفعال کردن قابلیت تغییر اندازه

برای جلوگیری از حرکت Splitter، کافی است آن را غیرفعال کنید:

splitter.Enabled = false;

اگر از SplitContainer استفاده می‌کنید، راهکار بهتر تنظیم خاصیت زیر است:

splitContainer1.IsSplitterFixed = true;

در این حالت Splitter همچنان قابل مشاهده است اما دیگر با ماوس حرکت نمی‌کند.

آیا به دنبال یک فرصت عالی برای یادگیری برنامه‌نویسی هستید؟ 🚀

با دوره آموزشی سی‌شارپ ما، شما می‌توانید مهارت‌های خود را به سطح جدیدی ارتقا دهید! این دوره به‌طور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامه‌نویسی سی‌شارپ پیش بروید.

👨‍🏫 چرا دوره ما را انتخاب کنید؟

  • محتوای جامع و عملی: با پروژه‌های واقعی و تمرینات عملی، یادگیری را به تجربه‌ای جذاب تبدیل کنید.
  • مدرس مجرب: از تجربه و دانش مدرس حرفه‌ای بهره‌مند شوید که شما را در هر مرحله از یادگیری راهنمایی می‌کنند.
  • پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
  • دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، می‌توانید به آن مراجعه کنید.

💡 فرصت را از دست ندهید!

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

همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده‌ای روشن‌تر بردارید!

شرکت در دوره آموزش برنامه نویسی سی شارپ

 مزایا و ویژگی‌های کنترل Splitter در سی‌شارپ

کنترل Splitter در سی‌شارپ یکی از ابزارهای پرکاربرد برای طراحی رابط‌های کاربری پویا و قابل تنظیم است.

این کنترل با فراهم کردن امکان تقسیم‌بندی هوشمند فرم‌ها، به توسعه‌دهندگان اجازه می‌دهد محیطی منعطف، حرفه‌ای و کاربرپسند ایجاد کنند.

در ادامه مهم‌ترین مزایا وامکانات ویژه Splitter را مرور می‌کنیم:

  مزایا

 1. افزایش انعطاف‌پذیری و تعامل در رابط کاربری
2.  پیاده‌سازی ساده و قابل فهم برای برنامه‌نویسان
3. هماهنگی خودکار در تغییر اندازه‌ی کنترل‌های مجاور
4.  مناسب برای نرم‌افزارهایی با ساختار پویا و قابل تنظیم

امکانات کنترل Splitter 

ویژگی توضیح
Dock تعیین محل قرارگیری Splitter در فرم
MinSize مشخص کردن حداقل اندازه‌ی بخش اول
MinExtra  تعیین حداقل اندازه‌ی بخش دوم
BorderStyle تنظیم نوع و ضخامت حاشیه Splitter
TabStop حذف تمرکز از Splitter هنگام جابه‌جایی با کلید Tab
BackColor کنترل رنگ ظاهری نوار تقسیم
Enabled فعال یا غیرفعال کردن قابلیت تغییر اندازه

مزایا و ویژگی‌های کنترل Splitterدر سی‌شارپ

 نکات مهم در استفاده از Splitter در سی‌شارپ

برای دستیابی به عملکردی روان و طراحی رابط کاربری کارآمد، صرفاً اضافه کردن کنترل Splitter کافی نیست؛ بلکه باید از آن به‌صورت اصولی و بهینه استفاده کرد.

رعایت چند نکته‌ی فنی و طراحی می‌تواند باعث شود Splitter در فرم‌های شما هم از نظر ظاهری منسجم‌تر باشد و هم از نظر عملکردی کاراتر عمل کند.

در ادامه به مجموعه‌ای از نکات حرفه‌ای در استفاده از Splitter اشاره می‌کنیم:

1. همیشه مقدار MinSize و MinExtra را طوری تنظیم کنید که کنترل‌ها از محدوده‌ی منطقی خارج نشوند.

2. در طراحی‌های حرفه‌ای از ترکیب Splitter با Panel یا TreeView استفاده کنید تا ساختار ظاهری فرم زیباتر و منظم‌تر شود.

3. اگر ظاهر پیش‌فرض Splitter با تم گرافیکی برنامه هم‌خوانی ندارد، از خاصیت BackColor برای تغییر رنگ آن استفاده کنید.

4. در پروژه‌های پیچیده یا سنگین‌تر، بهتر است از کنترل SplitContainer بهره بگیرید تا علاوه بر جداسازی بخش‌ها، از رویدادهایی مانند SplitterMoved نیز استفاده کنید.

5. در صورت نیاز به چند بخش قابل تنظیم، می‌توانید چند Splitter را به‌صورت تو‌در‌تو به کار ببرید، اما حتماً ترتیب قرارگیری و ویژگی Dock هرکدام را دقیق تنظیم کنید.

مثال کاربردی: ساخت فرم دو بخشی با Splitter

فرض کنید می‌خواهید در سمت چپ فرم فهرستی از گزینه‌ها (ListBox) و در سمت راست محتوای مرتبط با آن نمایش داده شود.

Splitter باید بین این دو بخش قرار گیرد تا کاربر بتواند اندازه‌ی هر بخش را تنظیم کند.

public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
        CreateFormLayout();
    }

    private void CreateFormLayout()
    {
        ListBox listBox = new ListBox();
        listBox.Dock = DockStyle.Left;
        listBox.Width = 200;
        listBox.Items.AddRange(new string[] { "گزینه ۱", "گزینه ۲", "گزینه ۳" });

        Splitter splitter = new Splitter();
        splitter.Dock = DockStyle.Left;
        splitter.BackColor = Color.Gray;
        splitter.MinSize = 100;
        splitter.MinExtra = 150;

        Panel contentPanel = new Panel();
        contentPanel.Dock = DockStyle.Fill;
        contentPanel.BackColor = Color.White;

        this.Controls.Add(contentPanel);
        this.Controls.Add(splitter);
        this.Controls.Add(listBox);
    }
}

در این مثال، Splitter بین ListBox و Panel قرار می‌گیرد و کاربر می‌تواند اندازه‌ی ناحیه‌ی فهرست را تغییر دهد.

پرسش‌های کنترل Splitter در سی شارپ

1. آیا می‌توان Splitter را قفل کرد تا کاربر نتواند آن را حرکت دهد؟

بله. اگر از SplitContainer استفاده می‌کنید، خاصیت IsSplitterFixed را برابر true قرار دهید تا Splitter غیرقابل حرکت شود.

2. بهترین روش برای طراحی رابط‌های مدرن چیست؟

در پروژه‌های جدید، توصیه می‌شود از کنترل SplitContainer استفاده کنید، زیرا امکاناتی مانند رویدادهای حرکتی، collapse پنل‌ها و کنترل بیشتر بر ظاهر را فراهم می‌کند.

پرسش‌های کنترل  Splitter در  سی شارپ

نتیجه‌گیری

کنترل Splitter در سی‌شارپ یکی از ابزارهای کاربردی برای ایجاد فرم‌های قابل تنظیم و تعاملی در محیط WinForms است.

در این مقاله، یاد گرفتیم چگونه Splitter را ایجاد، پیکربندی، حذف و غیرفعال کنیم، با ویژگی‌ها و مزایای اصلی آن آشنا شدیم و در نهایت با مثال‌های واقعی کاربرد آن را در فرم‌ها مشاهده کردیم.

اگر می‌خواهید رابط کاربری نرم‌افزار شما پویا و کاربرپسند باشد، استفاده‌ی هوشمندانه از Splitter یا SplitContainer می‌تواند گامی مؤثر در طراحی حرفه‌ای و مدرن نرم‌افزارهای دسکتاپ محسوب شود.

 

 

 

 

 

دوره های مرتبط
آموزش برنامه نویسی سی شارپ,آموزش پروژه محور سی شارپ,آموزش مقدماتی تا پیشرفته سی شارپ,طراحی نرم افزار تحت ویندوز

آموزش برنامه نویسی سی شارپ

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

999,000 تومان

3.3k بازدید
آموزش جامع ساخت نرم افزار حسابداری و انبارداری ,آموزش جامع ساخت نرم افزار حسابداری,آموزش جامع ساخت نرم افزار انبارداری

آموزش جامع ساخت نرم افزار حسابداری و انبارداری

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

10,000,000 6,000,000 تومان

33 نظر

5.6k بازدید

ارسال دیدگاه

برای ارسال نظر لطفا ورود یا ثبت نام کنید.