C# Timer İle Trafik Lambası Örneği - Bilişim Konuları

C# Timer İle Trafik Lambası Örneği

Bu örneğimizde C# Timer nesnesi kullanılarak yapılmış olan bir trafik lambası uygulaması örneği yapacağız. Öncelikle formumuza 4 tane buton ekliyoruz. Bu butonların 3 tanesi lamba olarak bir tanesi de geçen süreyi göstermek amacıyla kullanılmıştır.

Geçen sürenin biraz daha hızlı olması amacıyla Timer nesnesinin İnterval özelliğini bir saniye olarak değil yarım saniye olarak ayarladık. Öncelikle kırmızı lamba yanıyor ve istenilen süre ekranda yanılı olarak kalıyor. Daha sonra kırmızı ve sarı birlikte yanarak yeşile hazırlık yapılıyor. Daha sonra yeşil lamba yanıyor ve belli bir süre yanılı kalıyor. Son olarak yeşil ile sarı birlikte yanarak kırmızını yanması bekleniyor. Süreç bu şekilde tekrar ediyor.

Bu örneğimizde de C# Timer nesnesinden faydalandık. Timer nesnesi bekleme ve işlemleri tekrar etmek için kullanulan C# form nesnesidir.

Programın C# Form kodları:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int süresay,devir;
        private void Form1_Load(object sender, EventArgs e)
        {
            süresay = 30;
            SÜRE.Enabled = true;
            SÜRE.Interval = 400;
            K.Text = "";
            S.Text = "";
            Y.Text = "";
            SAYAÇ.Text = süresay.ToString();
            K.BackColor = Color.Red;
            S.BackColor = Color.Black;
            Y.BackColor = Color.Black;
            SAYAÇ.BackColor = Color.LightBlue;
        }

        private void SÜRE_Tick(object sender, EventArgs e)
        {
            if (devir == 0)
            {
                if (süresay == 2)
                    S.BackColor = Color.Yellow;
                if (süresay == 0)
                {
                    K.BackColor = Color.Black;
                    S.BackColor = Color.Black;
                    Y.BackColor = Color.Green;
                    süresay = 30;
                    devir = 1;
                }
            }
            if (devir == 1)
            {
                if (süresay == 2)
                    S.BackColor = Color.Yellow;
                if (süresay == 0)
                {
                    K.BackColor = Color.Red;
                    S.BackColor = Color.Black;
                    Y.BackColor = Color.Black;
                    süresay = 30;
                    devir = 0;
                }
            }

            SAYAÇ.Text = süresay.ToString();
            süresay = süresay - 1;
        }
    }
}

Programın Ekran Görüntüleri:

trafik-lambasi1   trafik-lambasi2   trafik-lambasi3   trafik-lambasi4

Bu Yazıya Tepkin Nedir?
+1
0
+1
0
+1
1
+1
0
+1
0
+1
0
+1
3

Yorum Yap