سورس کد نمودار و وکتور گرافیک برنامه در سی‌شارپ WinForms


در دنیای برنامه‌نویسی، ساختن برنامه‌های گرافیکی یکی از جذاب‌ترین و در عین حال چالش‌برانگیزترین فعالیت‌ها است. به خصوص زمانی که قصد دارید نمودارها، اشکال و وکتورها را در برنامه‌های خود رسم کنید. در این راستا، زبان سی‌شارپ (C#) و فریم‌ورک WinForms ابزارهای قدرتمندی در اختیار توسعه‌دهندگان قرار می‌دهند که به راحتی بتوانند نمودارهای گرافیکی و اشکال وکتور را در برنامه‌های ویندوز خود پیاده‌سازی کنند.
در این مقاله، قصد دارم به صورت جامع و کامل درباره سورس کد رسم نمودار و وکتور در برنامه‌های سی‌شارپ با استفاده از WinForms توضیح دهم، به گونه‌ای که حتی افراد مبتدی نیز بتوانند مفاهیم را درک و در پروژه‌های خود پیاده‌سازی کنند. این توضیحات شامل ساختارهای پایه، روش‌های رسم، مدیریت رویدادها، و نکات مهم در طراحی این نوع برنامه‌ها است.

مقدمات و مفاهیم پایه




در ابتدا باید بدانیم که چرا و چگونه می‌توانیم نمودار و اشکال وکتور را در برنامه‌های ویندوزی رسم کنیم. در WinForms، کنترل اصلی برای رسم گرافیک، کلاس Graphics است. این کلاس امکانات زیادی برای رسم خطوط، اشکال، متن و تصاویر در کنترل‌های مختلف فراهم می‌کند.
برای رسم نمودار، باید ابتدا یک کنترل، معمولاً Panel یا PictureBox، را در فرم قرار دهیم و از آن برای رسم اشکال بهره ببریم. سپس، در رویداد Paint کنترل، کدهای رسم را پیاده‌سازی می‌کنیم. این رویداد هر بار که نیاز به بروزرسانی صفحه باشد، فراخوانی می‌شود و می‌توانیم گرافیک مورد نظر خود را ترسیم کنیم.
علاوه بر این، باید بدانیم که وکتورها، یعنی اشکال هندسی مانند خطوط، دایره‌ها، مستطیل‌ها، چندضلعی‌ها و منحنی‌ها، به صورت اشیاء یا داده‌های قابل کنترل ساخته می‌شوند. این اشکال، در قالب کلاس‌های مختلف تعریف می‌شوند و می‌توان آن‌ها را به صورت مجموعه‌ای درآورد یا بر اساس نیازهای برنامه، تغییر داد.

ساختار سورس کد




در ادامه، یک ساختار پایه و ساده از سورس کد برای رسم نمودار و اشکال وکتور در WinForms ارائه می‌دهم:
csharp  

public partial class MainForm : Form

{

public MainForm()

{

InitializeComponent();

this.Paint += MainForm_Paint;

}
private void MainForm_Paint(object sender, PaintEventArgs e)

{

Graphics g = e.Graphics;
// نمونه‌ای از رسم خطوط

Pen pen = new Pen(Color.Blue, 2);

g.DrawLine(pen, 10, 10, 200, 200);
// رسم دایره

g.DrawEllipse(pen, 50, 50, 100, 100);
// رسم مستطیل

g.DrawRectangle(pen, 120, 20, 80, 50);
// رسم چندضلعی

Point[] points = {

new Point(300, 100),

new Point(350, 50),

new Point(400, 100),

new Point(375, 150),

new Point(325, 150)

};

g.DrawPolygon(pen, points);

}

}


در این نمونه، ما در رویداد Paint، اشکال مختلفی را ترسیم می‌کنیم. این روش به طور مستقیم، کنترل رسم را در داخل فرم انجام می‌دهد و انعطاف‌پذیری بالایی دارد.

رسم نمودارهای خطی و میله‌ای




یکی دیگر از کاربردهای مهم، رسم نمودارهای خطی و میله‌ای است. برای این کار، باید داده‌های مورد نظر را در آرایه‌ها یا لیست‌ها نگهداری کنیم و بر اساس آن‌ها، شکل‌های مربوطه را رسم کنیم. فرض کنید می‌خواهیم نمودار میله‌ای بسازیم:
csharp  

int[] data = { 30, 70, 50, 90, 60 };

int barWidth = 30;

int spacing = 10;
for (int i = 0; i < data.Length; i++)

{

int x = 50 + i * (barWidth + spacing);

... ← ادامه مطلب در magicfile.ir