namespace Timer_Projetc { public partial class Form1 : Form { private string _trafLamp; private void lampOff() { btnRed.BackColor = Color.FromName("white"); btnYellow.BackColor = Color.FromName("white"); btnGreen.BackColor = Color.FromName("white"); } public Form1() { InitializeComponent(); } private void label1_Click(object sender, EventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e) { } private void label5_Click(object sender, EventArgs e) { } private void radioButton1_CheckedChanged(object sender, EventArgs e) { if (rdoPowerOn.Checked) { _trafLamp = "Yellow"; timer1.Interval = 1; timer1.Start(); } else { lampOff(); timer1.Stop(); } } private void textBox2_TextChanged(object sender, EventArgs e) { } private void timer1_Tick(object sender, EventArgs e) { //ก่อนแสดงสัญญาณไฟถัดไปให้ Reset ไฟที่แสดงในขณะนี้ก่อน lampOff(); //เลือกกรณีว่า หากขณะนี้แสดงไฟสีนี้ แล้วถัดไปจะแสดงสีใด switch (_trafLamp) { //ถ้าปัจจุบันเป็นไฟแดง ต่อไปจะเป็นไฟเขียว case "red": btnGreen.BackColor = Color.FromName("green"); //จับเวลาว่าจะแสดงไฟเขียวนานเท่าใด โดยอ่านค่าจาก NumericUpdown //แล้วคูณด้วย 1000 เพื่อให้เป็นหน่วยมิลลิวินาที timer1.Interval = Convert.ToInt16(updGreen.Value) * 1000; //เก็บค่าสีปัจจุบัน เพื่อจะนำไปเปรียบเทียบว่าจะแสดงไฟสีใดในครั้งต่อไป _trafLamp = "green"; break; // ถ้าปัจจุบันเป็นไฟเขียว ต่อไปเป็นไฟเหลือง หลักการอื่นๆ เหมือนกับไฟแดง case "green": btnYellow.BackColor = Color.FromName("Yellow"); timer1.Interval = Convert.ToInt16(updYellow.Value) * 1000; _trafLamp = "Yellow"; break; //ถ้าปัจจุบันเป็นไฟเหลือง ต่อไปเป็นไฟแดง หลักการอื่นๆ เหมือนกับไฟแดง case "Yellow": btnRed.BackColor = Color.FromName("red"); timer1.Interval = Convert.ToInt16(updRed.Value) * 1000; _trafLamp = "red"; break; } } private void panel2_Paint(object sender, PaintEventArgs e) { } } }
เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง