我正在開發一個Windows Mobile應用程序,並且在向用戶顯示錶單(加載屏幕)之後我想要做些什麼。顯示錶單後執行操作。
通常,我有一個Form.Shown
事件,但使用.net compact framework v3.5,我找不到這個事件。
有誰知道相當於Shown
事件或我可以使用一個簡單的解決方法?如果我能幫忙,我不想自己做多線程。
我正在開發一個Windows Mobile應用程序,並且在向用戶顯示錶單(加載屏幕)之後我想要做些什麼。顯示錶單後執行操作。
通常,我有一個Form.Shown
事件,但使用.net compact framework v3.5,我找不到這個事件。
有誰知道相當於Shown
事件或我可以使用一個簡單的解決方法?如果我能幫忙,我不想自己做多線程。
我能想到的唯一的事情就是有點黑客,當你的表單被顯示時,如果它有一個默認的控件,那麼它會得到焦點。在顯示錶單之前,焦點事件將在初始加載過程中觸發,但會在第二次顯示時觸發。在第一次激活時設置的Activate事件中放置一個布爾值,然後在默認控件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
}
}
GotFocus事件沒有再次發射。有什麼我必須做的,以實現這一目標? –
@ Sam它在我的系統上運行,但我在桌面上運行.net 2.0。確保它是默認值,只要tab等於0.另外我在過去使用了一個單次計時器,在我的form_load事件結束時有幾毫秒的延遲。 –
我正在運行.net compact framework v3.5,以及如何「確保它是默認值,只要選項卡等於0」 –
怎麼樣Form Load事件? –
@NikhilAgrawal我相信這是在表單顯示之前發生的。 –
我會看看我是否可以爲你找到解決方法,並在幾個編輯我的答案。如果我設法找到合適的解決方案,我將取消隱藏 – KreepN