สวัสดีครับอาจารย์
ผมเขียนโค๊ดให้ button เปลี่ยนสี เมื่อเงื่อนไขเป็นไปตามที่กำหนด
เมื่อ form load โปรแกรมจะจำค่าแรกที่ได้รับและแสดงสีนั้นและค้างการทำงาน ทั้งๆที่ค่าที่กำหนดเปลี่ยนไปแล้วแต่สีที่ button ไม่เปลี่ยนตาม
ตัวอย่างโค๊ด ในสภาวะปกติ(ไม่มีค่าตัวแปรที่รับมา button จะเป็นสีแดง)
Code: Select all
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If t >= Form1.Mint And t <= Form1.Maxt And h >= Form1.Minh And h <= Form1.Maxh = True Then
Temp_Cal_Rm_F2.BackColor = Color.RoyalBlue
PictureBox2.BackColor = Color.RoyalBlue
PictureBox3.BackColor = Color.RoyalBlue
' If t < Form1.Mint And t > Form1.Maxt Or h < Form1.Minh And h > Form1.Maxh Then
'Temp_Cal_Rm_F2.BackColor = Color.Maroon
'PictureBox2.BackColor = Color.Maroon
'PictureBox3.BackColor = Color.Maroon
End If
Application.DoEvents()
System.Threading.Thread.Sleep(1000)
MyBase.Refresh()
End Sub
ผมลอง ปิดแล้วเปิดๆ ในทันทีสีมันก็จะแสดงตามเงื่อนไขที่กำหนดครับ แต่มันแสดงแค่ค่าแรกที่ได้รับตอน form load
ผมคิดว่า อาจจะต้องเขียนคำสั่งที่ทำให้ form load อยู่ตลอดเวลา ผมลองใช้ Application.DoEvents() กับ MyBase.Refresh() แต่ก็ยังเป็นปัญหาเหมือนเดิมครับ
อยากทราบว่า ทำอย่างไร button จึงจะแสดงผลตามเงื่อนไขที่กำหนด
ขอบคุณครับ
