我正在开发一个Windows移动应用程序,我想在向用户显示表单(加载屏幕)后执行一些操作。
通常情况下,我有一个 Form.Shown
事件,但是使用 .net Compact Framework v3.5,我找不到该事件。
有谁知道与 Shown
事件等效的事件或我可以使用的简单解决方法?如果可以的话,我不想自己做多线程。
最佳答案
我唯一能想到的就是一点黑客,当你的表单显示时,如果它有一个默认控件,那么它将获得焦点。 Focus 事件将在表单显示之前的初始加载期间触发,但将在表单可见时第二次触发。在使用第一个激活设置的激活事件中放置一个 bool 值,然后在默认控件的获得焦点事件中进行测试。
其他选项是使用计时器。将间隔设置为 10 之类的值,在表单加载事件结束时启动它,然后运行启动特定代码。
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
}
}
关于c# - 显示表单后执行操作。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11317257/