新手请教C#事件的问题。谢谢!
想在form1中显示滚动条,然后等待form2出来后,将form1隐藏掉,想用的是form2的Shown事件,但是总是报“未将对象引用设置到对象的实例”的错误。代码如下:
------------------------
private void submit_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(ShowLoading));
t.Start(); \\t是启动滚动条的线程
Form1 form1 = new Form1();
form1.Shown+=new EventHandler(form1_Shown);
form1.label12.Text = LoginName.Text;
form1.ShowDialog();
form1.Activate();
}
private void form1_Shown(object sender,EventArgs e)
{
t.Abort();
this.Hide();
}
------------------------------------------------
当form1出现的时候就告诉我“未将对象引用设置到对象的实例”,根本没进form1_Shown的事件处理程序。
[解决办法]
show事件在submit_Click之前运行,show中就调用t.Abort,那能不出错么,t还没有创建
[解决办法]
你那个T也应该写在外面,写在里面怎么能用,还要注意先后顺序
[解决办法]
我把你的t移到submit_Click外时,就没出任何问题,你就没在后续回答中说明你这个"未将对象引用设置到对象的实例"问题,我测试时,Form2没任何代码,就一个空窗口.
Shown窗口第一次显示时就会引发一次,这就是这个事件的作用,至于为什么有这么个事件,因为这个事件的在流程处理上的好处多了去了,一事半会举不完.
[解决办法]