private void button1_Click(object sender, EventArgs e)
{
System.Threading.Timer a = new System.Threading.Timer(q => { this.listBox1.Items.Add("btn:" + i++); }, null, 1000, 5000);
}
static int i = 0; //全局变量
点击button时为什么一点击窗口就关闭了
把代码贴全了。你这代码编译都不过的。 i 是哪里来的。
全局变量i static int i = 0;
@koi: 这是因为System.Threading.Timer是在线程池里(也就是说非UI线程)执行你的 this.listBox1.Items.Add 方法去修改UI的,这样是不允许的,因此抛出异常终止了程序。正确的做法是:
System.Threading.Timer a = new System.Threading.Timer(q => { this.listBox1.Invoke(new Action(() => this.listBox1.Items.Add("btn:" + i++))); }, null, 1000, 5000);
支持楼上的!!