timer延时弹出窗体问题
窗口1启动,延时3秒,窗口1隐藏,窗口2弹出怎么实现?
这个这个主要还是因为需要用到定时器,所以需要在子线程中操作窗体,直接写代码会导致报错,需要用到委托或是同步上下文来实现
给个简单的实现
在窗体1中定义System.Threading.SynchronizationContext context;
在窗体1的构造方法中加上context = System.Threading.SynchronizationContext.Current;
在定时器的回调方法中需要这样写
Form2 f2 = new Form2();
context.Post((t) => { this.Hide(); }, null);
context.Post((t) => { f2.Show(); }, null);