القائمة الرئيسية

الصفحات

كيفية برمجة شريط تقدم ProgressBar مخصص













كيفية برمجة شريط تقدم ProgressBar مخصص








اليوم سوف نشرح الطريقة الأخرى من انشاء أداة تحكم خاصة بك
الطريقة التي شرحناها سابقاً كانت عنطريق الوراثة
الطريقة هذه ستكون عنطريق User Control 
المثال الذي سيتم شرحه لموضوع اليوم

انشاء أداة شريط التقدم Progress Bar  مع إضافة ميزة جديدة لهذه الأداة
وهي اظهار النسبة المئوية لشريط التقدم تابع معي .....

قم بانشاء مشروع بعد ان يتم فتح المشروع اذهب الى قائمة project  و اختار
Add User Control

في واجهة تصميم User Control  قم بإضافة
ProgressBar
Lable
بهذا الشكل:1










قم بإضافة الأدوات
ابدا ProgressBar
وقم بتعديل خصائصها أولا ومن ثم قم بإضافة lable  واعمل الخصائص كما في الشكل

بعد ان تتم بإضافة الأدوات وتعديل خصائصهن
اضغط F7  للدخول الى الكود لبدء البرمجة

الكود :
تقوم بكتابة هذه الخصائص داخل كلاس userControl الي انت قمت بإنشائه

public int Value
        {
            get { return progressBar1.Value; }
            set
            {
                progressBar1.Value = value;
                UpdateLabel();
            }
        }
        public int Maximum
        {
            get { return progressBar1.Maximum; }
            set { progressBar1.Maximum = value; }
        }
        public int Step
        {
            get { return progressBar1.Step; }
            set { progressBar1.Step = value; }
        }
        public void PerformStep()
        {
            progressBar1.PerformStep();
            UpdateLabel();
        }
        private void UpdateLabel()
        {
            label1.Text = (Math.Round((decimal)(progressBar1.Value * 100) /
            progressBar1.Maximum)).ToString();
            label1.Text += "% Done";
        }


توفر أداة التحكم المخصص الوصول الى ثلاث خصائص من أداة التحكم ProgressBar

(القيمة &  الحد الأقصى & الخطوة ) ودالة تقوم بتنفيذ الخطوة (النسبة المئوية)

في كل مرة يتغير شريط التقدم (إما عن طريق تعديل الخاصية Value أو استدعاء
 الدالة PerformStep ())
تقوم الخاصية او الدالة باستدعاء الدالة UpdateLabel ()
والتي
تغير النسبة المئوية لتعكس التقدم الحالي. هذا يضمن أن lable دائمًا
يظل متزامنًا تمامًا مع شريط التقدم

بعد الانتهاء من برمجة الأداة
اضغط Ctrl+Shift+B
لكي يتم بناء المشروع واضافة الأداة الجديدة الى ToolBox

الان ارجع الى واجهة التصميم Form1  واضف الأداة الخاصه بك من ToolBox

واضف هذه الأداة الى الفورم  timer
قم بتعديل خصائص timer 
Enabled = true
Interval = 1000

افتح حدث Tick  للاداة Timer

واكتب الكود التالي


private void timer1_Tick(object sender, EventArgs e)
        {
            userControl1.PerformStep();
            if (userControl1.Maximum == userControl1.Value)
            {
                timer1.Stop();
            }
        }
الان قم بالتنفيذ Run
هل اعجبك الموضوع :

تعليقات