Activated
とDeactivate
イベントがうまくいくようです。タブを離れるとDeactivate
が呼び出されます。あまりにフォーム、Activated
が呼び出されたとき、タブ:アプリケーションが起動されている場合
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Activated += new EventHandler(Form1_Activated);
this.Deactivate += new EventHandler(Form1_Deactivate);
}
void Form1_Deactivate(object sender, EventArgs e)
{
System.Diagnostics.Trace.WriteLine("DeActivated");
}
void Form1_Activated(object sender, EventArgs e)
{
System.Diagnostics.Trace.WriteLine("Activated");
}
},
ちょうど、OnActivateApp内するとhere
protected void OnActivateApp(bool activate) {
Console.WriteLine("Activate {0}", activate);
}
protected override void WndProc(ref Message m) {
// Trap WM_ACTIVATEAPP
if (m.Msg == 0x1c) OnActivateApp(m.WParam != IntPtr.Zero);
base.WndProc(ref m);
}
から解決策を見つけたアクティブは、trueになります非アクティブ化された場合はfalseです。
「.NET 2.0クローン」とはどういう意味ですか? –
「活性化」とはどういう意味ですか?それが最大化/最小化されていないとき? –
例:Alt-Tabアプリケーションと私のアプリケーションがアクティブになる – Cornel