PIC*_*ain 6 .net c# winforms method-call form-load
我有一个C#windows窗体应用程序.我当前设置它的方式,当Form1_Load()运行时,它检查恢复的未保存数据,如果找到一些,它会提示用户是否要打开该数据.当程序运行时,它可以正常工作但是消息框会立即显示,并且主程序表单(Form1)在用户单击是或否之后才会显示.我想首先弹出Form1然后弹出消息框提示.
现在,在我在Form中创建一个计时器之前解决这个问题,在Form1_Load()方法中启动计时器,然后在第一个Timer Tick事件中执行检查和用户提示.这种技术解决了这个问题,但似乎可能有更好的方法.
你们有更好的想法吗?
编辑:我想我也使用后台工作人员做类似的事情.通过调用方法返回到表单线程所有麻烦似乎有点傻了,所有的垃圾只是让它延迟了几毫秒!
使用已显示的事件.它似乎适合您的需要,并且只会在第一次显示表单时显示.
Form f1 = new Form();
f1.Shown += new EventHandler(f1_Shown);
public void f1_Shown(object sender, EventArgs e)
{
// Show dialog in here
}
Run Code Online (Sandbox Code Playgroud)