我正在开发一个Windows移动应用程序,我希望在向用户显示表单(加载屏幕)后执行某些操作。
通常,我有一个Form.Shown
事件,但是使用.net compact framework v3.5,我找不到这个事件。
有没有人知道相当于Shown
事件或我可以使用的简单解决方法?如果我能帮助它,我不想做自己的多线程。
答案 0 :(得分:3)
我唯一能想到的就是一个黑客,当你的表单显示时,如果它有一个默认控件,那么它将获得焦点。 Focus事件将在显示表单之前的初始加载期间触发,但在可见时将第二次触发。在使用第一个Activates设置的Activate事件中放置一个布尔值,然后在默认控件Got Focus事件中进行测试。
其他选项是使用Timer。将Interval设置为10,在Form Load事件结束时启动它,然后运行启动特定代码。
private void Form1_Load(object sender, EventArgs e)
{
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Stop();
//Do something
}
汉斯评论的一个例子:
public partial class Form1 : Form
{
public delegate void DoWorkDelegate();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
BeginInvoke(new DoWorkDelegate(DoWorkMethod));
}
public void DoWorkMethod()
{
//Do something
}
}