新建线程下timer的问题!!!求解!!!来人啊
public Thread tcpThread;private void main_Load(object sender, EventArgs e)
{
tcpThread = new Thread(new ThreadStart(tcpReciveThread));//创建线程
tcpThread.Start();//开始
}
public void tcpReciveThread()
{
timer1.Interval = 120;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)//
{
treeView1.Nodes[0].BackColor = Color.HotPink;
//???????此句在treeview上没有一点反应,若在此句后面加上messagebox就可以看见反应,谁能告诉我为什么为什
//么?????
//MessageBox.Show("aaa");加了这句treeview就有反应。。。
}
--------------------编程问答-------------------- 感觉一直在给背景色赋相同的值,不知道有什么意图....
感觉应该是类似于死循环了程序停不下来,而messbox.show()则迫使程序暂停所以有效果
如果你不停的给textbox.text赋不同的值;也放在timer的那个事件里面,你也看不到变化的...... --------------------编程问答-------------------- 试试:
private void timer1_Tick(object sender, EventArgs e)//
{
treeView1.Nodes[0].BackColor = Color.HotPink;
treeView1.Refresh();
} --------------------编程问答--------------------
private void timer1_Tick(object sender, EventArgs e)//
{
treeView1.Nodes[0].BackColor = Color.HotPink;
timer1.stop();
}
我之前就是想表达一下意思,把时间换成上面颜色也不能显示 --------------------编程问答-------------------- 把间隔时间设置得长点试试 --------------------编程问答--------------------
public Thread tcpThread;
private void main_Load(object sender, EventArgs e)
{
tcpThread = new Thread(new ThreadStart(tcpReciveThread));//创建线程
tcpThread.Start();//开始
// MessageBox.Show("a");加上这句就可以显示颜色
}
public void tcpReciveThread()
{
timer1.Interval = 120;
timer1.Start();
//
}
private void timer1_Tick(object sender, EventArgs e)//
{
treeView1.Nodes[0].BackColor = Color.HotPink;
treeView1.Refresh();
timer1.stop();
}
--------------------编程问答-------------------- up up up --------------------编程问答--------------------
还是不行。。。 --------------------编程问答--------------------
不行。。
补充:.NET技术 , C#