新手请教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窗口第一次显示时就会引发一次,这就是这个事件的作用,至于为什么有这么个事件,因为这个事件的在流程处理上的好处多了去了,一事半会举不完.
------解决方案--------------------
------解决方案--------------------你想干什么?我引导来引导去,你返回头去问三楼,当8楼(也就是我)是什么?
------解决方案--------------------你这种东西我10年前就搞过,我用一个实现System.IDisposable的类去处理
using(一个实现System.IDisposable的类=它的new方法)
{
new 另一个,完事,这段代码也就走上终结了.
它的Dispose去处理收拾现场.
}
什么滚动条,我可以在你滚动时放一段AV.