Windows モバイル アプリケーションを開発していますが、ユーザーにフォーム (読み込み画面) が表示された後に何かをしたいと考えています。
通常、私はForm.Shown
イベントを持っていますが、.net コンパクト フレームワーク v3.5 では、このイベントを見つけることができません。
イベントに相当するもの、Shown
または使用できる簡単な回避策を知っている人はいますか? できれば、自分でマルチスレッドを実行したくありません。
Windows モバイル アプリケーションを開発していますが、ユーザーにフォーム (読み込み画面) が表示された後に何かをしたいと考えています。
通常、私はForm.Shown
イベントを持っていますが、.net コンパクト フレームワーク v3.5 では、このイベントを見つけることができません。
イベントに相当するもの、Shown
または使用できる簡単な回避策を知っている人はいますか? できれば、自分でマルチスレッドを実行したくありません。
私が考えることができる唯一のことは、フォームが表示されているときに少しハックすることです。デフォルトのコントロールがあれば、フォーカスを受け取ります。Focus イベントは、フォームが表示される前の最初の読み込み中に発生しますが、2 回目に表示されるときに発生します。最初のActivateで設定された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
}
}