البرمجة

نماذج VB.NET في .NET Framework

نماذج VB.NET في إطار العمل .NET: الأسس، المكونات، وأمثلة عملية شاملة

يُعتبر VB.NET (Visual Basic .NET) أحد اللغات البرمجية متعددة الاستخدامات والمبنية على إطار العمل .NET Framework الذي طوّرته شركة مايكروسوفت. ظهرت VB.NET كخليفة للغة Visual Basic الكلاسيكية، حيث جاءت بتحسينات كبيرة على مستوى الأداء، الأمان، وتكاملها مع التقنيات الحديثة. يعتمد هذا التطوير على المفاهيم الأساسية للبرمجة الكائنية التوجه (OOP)، ويتيح للمبرمجين بناء تطبيقات سطح المكتب، تطبيقات الويب، وخدمات الويب بسهولة وكفاءة.

يُعد VB.NET من اللغات الشائعة خصوصاً في المؤسسات التي اعتمدت سابقًا على تقنيات مايكروسوفت التقليدية، وما زالت تبحث عن التحديث ضمن منظومة .NET. يعتمد بناء التطبيقات باستخدام VB.NET على مفهوم “النموذج” أو “Form”، وهو عنصر واجهة المستخدم الرسومية الأساسي الذي يسمح بعرض البيانات، إدخالها، وتحكم المستخدم في التفاعل مع التطبيق.


أولاً: مقدمة إلى نماذج Windows Forms في VB.NET

نماذج Windows Forms (أو WinForms) تمثل أساس تصميم واجهات المستخدم الرسومية (GUI) في تطبيقات سطح المكتب باستخدام VB.NET. يمكن اعتبار النموذج بمثابة نافذة التطبيق التي تحتوي على عناصر مثل الأزرار، صناديق النص، القوائم، الصور، عناصر تحكم البيانات، وغيرها. كل نموذج هو كائن من الفئة System.Windows.Forms.Form ويتم إنشاؤه عن طريق الوراثة منها.

vb.net
Public Class Form1 Inherits System.Windows.Forms.Form Public Sub New() InitializeComponent() End Sub End Class

عند إنشاء مشروع Windows Forms في VB.NET، يقوم إطار العمل بإنشاء ملف للنموذج يحتوي على تعريف النموذج وعناصره، وغالبًا ما يُستخدم المصمم البصري لتسهيل ترتيب وتخصيص واجهة المستخدم.


ثانياً: الهيكل العام لتطبيق VB.NET يستخدم النماذج

يتكوّن أي تطبيق نماذج VB.NET من عدة ملفات رئيسية:

المكون الوظيفة
ملف النموذج (Form1.vb) يحتوي على الكود الخاص بواجهة المستخدم
ملف التصميم (Form1.Designer.vb) يحتوي على الأكواد التي تُنشئ عناصر الواجهة تلقائيًا
ملف البرنامج (Program.vb) يحتوي على نقطة البداية للتطبيق

مثال على ملف Program.vb:

vb.net
Module Program Sub Main() Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(False) Application.Run(New Form1()) End Sub End Module

ثالثاً: أهم عناصر التحكم المستخدمة في نماذج VB.NET

عناصر التحكم (Controls) هي الكائنات التي تُضاف إلى النماذج لتمكين المستخدم من التفاعل مع التطبيق. فيما يلي أهم العناصر:

1. الأزرار (Button)

يُستخدم لتنفيذ أحداث معينة عند الضغط عليه.

vb.net
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MessageBox.Show("تم الضغط على الزر!") End Sub

2. صناديق النص (TextBox)

تُستخدم لإدخال أو عرض النصوص.

3. التسميات (Label)

تُستخدم لعرض نصوص ثابتة للمستخدم.

4. مربعات القائمة (ListBox و ComboBox)

تُستخدم لعرض قوائم من الخيارات.

5. مربعات التحقق (CheckBox) وخانات الاختيار (RadioButton)

لتحديد خيارات أو تفعيل خصائص معينة.

6. أداة DataGridView

لعرض بيانات الجدول في شكل منظم يُشبه الجداول.


رابعاً: التعامل مع الأحداث Events في نماذج VB.NET

كل عنصر تحكم في النموذج يمكن أن يتفاعل مع مجموعة من الأحداث. من أشهر الأحداث:

الحدث الوصف
Click يحدث عند الضغط على عنصر
TextChanged يحدث عند تغيير النص داخل عنصر
Load يُطلق عند تحميل النموذج
FormClosing يُطلق قبل إغلاق النموذج

مثال عملي على التعامل مع الحدث FormClosing:

vb.net
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing Dim result As DialogResult = MessageBox.Show("هل تريد الخروج؟", "تأكيد", MessageBoxButtons.YesNo) If result = DialogResult.No Then e.Cancel = True End If End Sub

خامساً: استخدام القوائم (Menus) وشريط الأدوات

VB.NET يوفّر إمكانيات واسعة لبناء القوائم التفاعلية داخل النموذج باستخدام أدوات مثل MenuStrip وToolStrip.

مثال لإنشاء قائمة رئيسية تحتوي على خيارات “ملف” و”تحرير”:

vb.net
Dim menu As New MenuStrip() Dim fileMenu As New ToolStripMenuItem("ملف") fileMenu.DropDownItems.Add("جديد") fileMenu.DropDownItems.Add("فتح") fileMenu.DropDownItems.Add("حفظ") menu.Items.Add(fileMenu) Me.Controls.Add(menu)

سادساً: ربط قواعد البيانات بالنماذج

من أقوى مزايا VB.NET دعمه الكامل للتعامل مع قواعد البيانات باستخدام ADO.NET. يمكن ربط النموذج بقاعدة بيانات مثل SQL Server أو Access.

مثال على الاتصال بقاعدة بيانات SQL Server:

vb
Imports System.Data.SqlClient Dim connectionString As String = "Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True" Dim connection As New SqlConnection(connectionString) Try connection.Open() MessageBox.Show("تم الاتصال بنجاح!") Catch ex As Exception MessageBox.Show("فشل الاتصال: " & ex.Message) Finally connection.Close() End Try

لملء بيانات من قاعدة البيانات إلى DataGridView:

vb.net
Dim adapter As New SqlDataAdapter("SELECT * FROM Employees", connection) Dim table As New DataTable() adapter.Fill(table) DataGridView1.DataSource = table

سابعاً: تنظيم المشروع باستخدام تعدد النماذج

يمكن لتطبيق واحد أن يحتوي على أكثر من نموذج. مثلاً، نموذج لتسجيل الدخول، وآخر للوحة التحكم، وثالث لتقارير النظام. يتم التنقل بين النماذج باستخدام الدوال Show() وHide().

مثال على فتح نموذج جديد:

vb
Dim frm As New Form2() frm.Show() Me.Hide()

ثامناً: استخدام Timer لتنفيذ مهام دورية

مكون Timer يسمح بتنفيذ تعليمات برمجية بشكل دوري، مما يفيد في تطبيقات مثل عرض الساعة، أو التحقق من تحديثات البيانات.

vb
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick Label1.Text = DateTime.Now.ToString("HH:mm:ss") End Sub

تاسعاً: التعامل مع الرسوميات والصور

يمكنك عرض الصور داخل النماذج باستخدام عنصر PictureBox، كما يمكنك رسم الأشكال باستخدام مكتبة GDI+.

مثال لعرض صورة:

vb
PictureBox1.Image = Image.FromFile("C:\image.jpg")

مثال على رسم دائرة داخل النموذج:

vb.net
Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint Dim g As Graphics = e.Graphics Dim pen As New Pen(Color.Blue, 3) g.DrawEllipse(pen, 50, 50, 100, 100) End Sub

عاشراً: إنشاء مربعات حوار مخصصة

يسمح VB.NET بإنشاء مربعات حوار مخصصة (Custom Dialogs) أو استخدام المربعات الجاهزة مثل MessageBox, OpenFileDialog, SaveFileDialog.

مثال على فتح مربع حوار لفتح ملف:

vb.net
Dim openFile As New OpenFileDialog() openFile.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*" If openFile.ShowDialog() = DialogResult.OK Then TextBox1.Text = File.ReadAllText(openFile.FileName) End If

جدول ملخص لأهم عناصر التحكم والوظائف

العنصر الفئة المستخدمة الوظيفة الأساسية
Button System.Windows.Forms.Button تنفيذ أحداث عند النقر
TextBox System.Windows.Forms.TextBox إدخال النصوص
Label System.Windows.Forms.Label عرض نصوص ثابتة
ComboBox System.Windows.Forms.ComboBox اختيار من قائمة منسدلة
DataGridView System.Windows.Forms.DataGridView عرض الجداول من قواعد البيانات
Timer System.Windows.Forms.Timer تنفيذ تعليمات دورية
PictureBox System.Windows.Forms.PictureBox عرض الصور
MenuStrip System.Windows.Forms.MenuStrip بناء القوائم الرئيسية
Form System.Windows.Forms.Form النموذج الأساسي للتطبيق

المصادر والمراجع

  1. Microsoft Docs – VB.NET Windows Forms Overview:

    https://learn.microsoft.com/en-us/dotnet/desktop/winforms/

  2. VB.NET Programming Guide – TutorialsPoint:

    https://www.tutorialspoint.com/vb.net/index.htm