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

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...