これに関するいくつかのトピックを見つけましたが、これらのどれも私の問題を解決するのに役立ちませんでした。開始後に新しく作成された winform ウィンドウにフォーカスを設定したいと思います。
私は独自の新しいスレッドでフォームを開始しています:
application.Run(new InvisibleForm());
フォームが表示されますが、ウィンドウから最後に選択されたウィンドウにフォーカスが設定されたままです。このフォームにはタイトルバーがなく、表示するタスクパネルにもありません。TransparencyKey も設定されています。
this.AutoScaleDimensions = new SizeF(6F, 13F);
this.AutoScaleMode = AutoScaleMode.Font;
this.BackColor = SystemColors.AppWorkspace;
this.ClientSize = new Size(992, 992);
this.ControlBox = false;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "InvisibleForm";
this.Opacity = 0.5;
this.ShowInTaskbar = false;
this.TransparencyKey = SystemColors.AppWorkspace;
this.Load += new EventHandler(this.InvisibleForm_Load);
今、私はいくつかの方法を試しましたが、これらのいずれもフォームに焦点を当てたり、他のすべてのウィンドウの前景/上にフォームを設定したりできませんでした:
this.TopMost = true;
this.Focus();
this.BringToFront();
this.Activate();
プログラムでクリック/フォーカスイベントをフォームに発生させて、このイベントをフォーカスに設定する方法はありますか?