خطوة 1: استخدام مكتبة خرائط تفاعلية
خيار 1: استخدام مكتبة مثل GMap.NET
GMap.NET هي مكتبة مفتوحة المصدر تدعم إضافة خرائط تفاعلية إلى تطبيقات C#.
يمكن استخدامها لعرض النقاط أو العلامات (Markers) على الخريطة وعرض معلومات عند التفاعل معها.
خيار 2: استخدام مكتبات رسم مدمجة (Graphics)
إذا كانت الخريطة بسيطة كما في الصورة، يمكن رسمها يدويًا باستخدام كائنات Graphics في Windows Forms أو WPF.
يمكنك استخدام الأحداث مثل MouseMove و MouseClick لاكتشاف النقاط وإظهار المعلومات.
خطوة 2: إعداد المشروع
إعداد خريطة أساسية
أضف صورة خريطة كخلفية.
أضف النقاط (Markers) باستخدام دوائر صغيرة مرسومة يدويًا أو عناصر UI مثل الأزرار.
using System;
using System.Drawing;
using System.Windows.Forms;
public class MapForm : Form
{
public MapForm()
{
// إعداد الفورم
this.Text = "Interactive Map";
this.Size = new Size(800, 600);
// تحميل صورة الخريطة
PictureBox mapPictureBox = new PictureBox
{
Image = Image.FromFile("path_to_map_image.jpg"), // ضع مسار صورة الخريطة هنا
SizeMode = PictureBoxSizeMode.StretchImage,
Dock = DockStyle.Fill
};
this.Controls.Add(mapPictureBox);
// رسم النقاط على الخريطة
mapPictureBox.Paint += (s, e) =>
{
// رسم دائرة في مواقع معينة
e.Graphics.FillEllipse(Brushes.Red, new Rectangle(300, 200, 20, 20)); // دائرة
};
// إضافة Tooltip للنقطة
mapPictureBox.MouseMove += (s, e) =>
{
if (new Rectangle(300, 200, 20, 20).Contains(e.Location))
{
// عرض Tooltip
ToolTip tooltip = new ToolTip();
tooltip.SetToolTip(mapPictureBox, "Name: مصر\nمصاب: 285\nمتعافي: 39\nوفيات: 8");
}
};
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MapForm());
}
}
خيار 1: استخدام مكتبة مثل GMap.NET
GMap.NET هي مكتبة مفتوحة المصدر تدعم إضافة خرائط تفاعلية إلى تطبيقات C#.
يمكن استخدامها لعرض النقاط أو العلامات (Markers) على الخريطة وعرض معلومات عند التفاعل معها.
خيار 2: استخدام مكتبات رسم مدمجة (Graphics)
إذا كانت الخريطة بسيطة كما في الصورة، يمكن رسمها يدويًا باستخدام كائنات Graphics في Windows Forms أو WPF.
يمكنك استخدام الأحداث مثل MouseMove و MouseClick لاكتشاف النقاط وإظهار المعلومات.
خطوة 2: إعداد المشروع
إعداد خريطة أساسية
أضف صورة خريطة كخلفية.
أضف النقاط (Markers) باستخدام دوائر صغيرة مرسومة يدويًا أو عناصر UI مثل الأزرار.
using System;
using System.Drawing;
using System.Windows.Forms;
public class MapForm : Form
{
public MapForm()
{
// إعداد الفورم
this.Text = "Interactive Map";
this.Size = new Size(800, 600);
// تحميل صورة الخريطة
PictureBox mapPictureBox = new PictureBox
{
Image = Image.FromFile("path_to_map_image.jpg"), // ضع مسار صورة الخريطة هنا
SizeMode = PictureBoxSizeMode.StretchImage,
Dock = DockStyle.Fill
};
this.Controls.Add(mapPictureBox);
// رسم النقاط على الخريطة
mapPictureBox.Paint += (s, e) =>
{
// رسم دائرة في مواقع معينة
e.Graphics.FillEllipse(Brushes.Red, new Rectangle(300, 200, 20, 20)); // دائرة
};
// إضافة Tooltip للنقطة
mapPictureBox.MouseMove += (s, e) =>
{
if (new Rectangle(300, 200, 20, 20).Contains(e.Location))
{
// عرض Tooltip
ToolTip tooltip = new ToolTip();
tooltip.SetToolTip(mapPictureBox, "Name: مصر\nمصاب: 285\nمتعافي: 39\nوفيات: 8");
}
};
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MapForm());
}
}

