اذهب إلى المحتوى
  • 0

ماهي طريقة إنشاء عدّاد في C# ؟

زيدان محمد

السؤال

Recommended Posts

  • 1

لإنشاء عدّاد يجب عليك اتباع الخطوات التالية :
• من صندوق الأدوات أنشئ عنصر Button وعنصر  TextBox وعنصر Label.
• من صندوق الأدوات قم بإنشاء Timer واضبط من خصائصه الـ Interval للقيمة 1000.
• انقر نقرتين على العنصر Timer لتوليد الطريقة المُعالجة لحدث Tick.
• في الطريقة المعالجة لحدث Tick اكتب الأوامر الخاصّة بالعداد وشريط التقدم وهي:

int first_time = int.Parse(textBox1.Text); // تخزين الوقت الكلي للعداد
int percentage; // متحول لتخزين النسبة المئوية للعداد
if (time > 0)
{
    label1.Text = "Remained : " + time; // طباعة الوقت المتبقي من العداد
    percentage = time * 100 / first_time; // معادلة تحسب النسبة المئوية للوقت المتبقي
    progressBar1.Value = percentage; // تعديل قيمة شريط المعالجة إلى النسبة المئوية للوقت المتبقي
    time -= 1; // إنقاص عداد الوقت ثانية
}
else if (time == 0)
{
    timer1.Stop(); // إيقاف العداد
    progressBar1.Value = 0;
    label1.Text = "Finished";
    MessageBox.Show("انتهى العدّاد");
}
else
{
    timer1.Stop();
    MessageBox.Show("يرجى إدخال قيمة رقميّة موجبة");
}


• ضمن الطريقة المُعالجة لحدث النقر على زر بدء العداد اكتب الأوامرالتالية :

time = int.Parse(textBox1.Text);
timer1.Start(); // بدء العداد


• قم بتعريف متحول عام ضمن الصف لقيمة العداد :

int time;

 

ليصبح كامل الكود هو :

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        
        public Form1()
        {
            InitializeComponent();
        }

        int time;

        private void button1_Click(object sender, EventArgs e)
        {
            time = int.Parse(textBox1.Text);
            timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            int first_time = int.Parse(textBox1.Text);
            int avg;
            if (time > 0)
            {
                label1.Text = "Remained : " + time;
                avg = time * 100 / first_time;
                progressBar1.Value = avg;
                time -= 1;
            }
            else if (time == 0)
            {
                timer1.Stop();
                progressBar1.Value = 0;
                label1.Text = "Finished";
                MessageBox.Show("انتهى العدّاد");
            }
            else
            {
                timer1.Stop();
                MessageBox.Show("يرجى إدخال قيمة رقميّة موجبة");
            }
        }
    }
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...