2

我正在开发一个 Windows 移动应用程序,我想在向用户显示表单(加载屏幕)后做一些事情。

通常,我有一个Form.Shown事件,但是使用 .net compact framework v3.5,我找不到这个事件。

有谁知道Shown我可以使用的事件或简单的解决方法?如果可以的话,我不想做自己的多线程。

4

1 回答 1

3

我唯一能想到的就是一点点技巧,当您的表单显示时,如果它有一个默认控件,那么它将获得焦点。Focus 事件将在窗体显示之前的初始加载期间触发,但在第二次可见时将触发。在使用第一个激活设置的激活事件中放置一个布尔值,然后在默认控件 Got Focus 事件中进行测试。


其他选择是使用计时器。将 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
    }
}
于 2012-07-03T19:38:03.423 回答